Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
108 changes: 23 additions & 85 deletions azure/azure-build-pipeline.yml
Original file line number Diff line number Diff line change
@@ -1,92 +1,30 @@
name: "$(SourceBranchName)+$(BuildID)"

trigger:
branches:
include:
- tags/refs/v*
tags:
include:
- v*
branches:
include:
- tags/refs/v*
tags:
include:
- v*

pr:
branches:
include: ['*']
branches:
include: ['*']

resources:
repositories:
- repository: templates
type: github
name: NHSDigital/api-management-utils
ref: 'refs/heads/APM-00-AMB-229-add-monitoring-endpoints-to-pipeline-3'
endpoint: NHSDigital

jobs:
- job: build
displayName: Build & Test
timeoutInMinutes: 10
pool:
vmImage: 'ubuntu-latest'
variables:
API_TEST_ENV_FILE_PATH: "tests/e2e/environments/local.postman_environment.json"
PIP_CACHE_DIR: ".poetry"
SERVICE_NAME: "monitoring-service-discovery"
steps:
- checkout: self

- template: az/templates/setup-build-name.yml@templates

- task: UsePythonVersion@0
displayName: "Use Python 3.8"
inputs:
versionSpec: "3.8"

- bash: "sudo apt update && sudo apt-get install --yes default-jre default-jdk"
displayName: Install apt dependencies

- bash: "wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -"
displayName: Add apt-key

- bash: "curl -sL https://deb.nodesource.com/setup_13.x | sudo -E bash -"
displayName: Setup node

- bash: sudo apt-get install -y nodejs
displayName: Install node

- bash: "python -m pip install --upgrade pip setuptools wheel && pip install poetry"
displayName: Install python dependencies

- task: Cache@2
displayName: "Cache Python Dependencies"
inputs:
key: '"$(Agent.OS)" | "python" | poetry.lock'
path: ".poetry"
restoreKeys: |
"$(Agent.OS)" | "python" | poetry.lock
"$(Agent.OS)" | "python"

- task: Cache@2
displayName: "Cache Package NPM Dependencies"
inputs:
key: '"$(Agent.OS)" | "node" | package-lock.json'
path: "node_modules"
restoreKeys: |
"$(Agent.OS)" | "node" | package-lock.json
"$(Agent.OS)" | "node"

- bash: "make install"
displayName: Install repo

- bash: "make check-licenses"
displayName: Check licenses

- bash: "make lint"
displayName: Lint

- bash: "make publish"
displayName: Compile Spec

- bash: "make release"
displayName: Build Release Package

- publish: dist/
artifact: '$(Build.BuildNumber)'
repositories:
- repository: common
type: github
name: NHSDigital/api-management-utils
ref: refs/heads/edge
endpoint: NHSDigital

variables:
- template: project.yml

extends:
template: azure/common/apigee-build.yml@common
parameters:
service_name: ${{ variables.service_name }}
short_service_name: ${{ variables.short_service_name }}
75 changes: 31 additions & 44 deletions azure/azure-pr-pipeline.yml
Original file line number Diff line number Diff line change
@@ -1,54 +1,41 @@
name: "$(SourceBranchName)+$(BuildID)"

# Prevents building every commit or on PR
trigger: none
pr: none

# Consume an artifact from the build pipeline as soon as it becomes available.
resources:
pipelines:
- pipeline: monitoring-service-discovery
source: "Monitoring-SD-Build"
trigger:
branches:
exclude:
- 'master'
- "refs/heads/master"
- 'refs/tags/v*'
repositories:
- repository: templates
type: github
name: NHSDigital/api-management-utils
endpoint: NHSDigital
repositories:
- repository: common
type: github
name: NHSDigital/api-management-utils
ref: refs/heads/edge
endpoint: NHSDigital

# env variables
variables:
SERVICE_NAME: monitoring-service-discovery
SERVICE_BASE_PATH: /monitoring-sd
PRODUCT_DISPLAY_NAME: Monitoring Service Discovery
PRODUCT_DESCRIPTION: A service discovery for populating blackbox-exporter endpoints
AWS_ENV: ptl
FORCE_SANDBOX: false
NAMESPACE: from_branchname
PROXY_NAME: live
pipelines:
- pipeline: build_pipeline
source: "Monitoring-Service-Discovery-Build"
trigger:
branches:
exclude:
- master
- refs/heads/master
- refs/tags/v*

pool:
vmImage: 'ubuntu-latest'
name: 'AWS-ECS'

variables:
- template: project.yml

stages:
- stage: DeployInternalDev
displayName: internal-dev
variables:
- group: apigee-nonprod
- group: env-internal-dev
jobs:
- deployment: DeployService
displayName: Deploy Service
environment: 'internal-dev'
strategy:
runOnce:
deploy:
steps:
- template: az/templates/pre-tasks.yml@templates
- template: az/templates/setup-build-name.yml@templates
- template: az/templates/deploy-namespaced-service.yml@templates
extends:
template: azure/common/apigee-deployment.yml@common
parameters:
service_name: ${{ variables.service_name }}
service_base_path: ${{ variables.service_base_path }}
short_service_name: ${{ variables.short_service_name }}
product_display_name: ${{ variables.product_display_name }}
product_description: ${{ variables.product_description }}
spec_file: ${{ variables.spec_file }}
apigee_deployments:
- environment: internal-dev
make_spec_visible: false
132 changes: 0 additions & 132 deletions azure/azure-release-pipeline.yml

This file was deleted.

7 changes: 7 additions & 0 deletions azure/project.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
variables:
service_name: monitoring-service-discovery
service_base_path: monitoring-service-discovery
short_service_name: monitoring-sd
product_display_name: Monitoring Service Discovery
product_description: Monitoring Service Discovery
spec_file: monitoring-service-discovery.json
6 changes: 6 additions & 0 deletions proxies/live/apiproxy/policies/JS.DeleteServiceEntries.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Javascript async="false" continueOnError="false" enabled="true" timeLimit="200" name="JS.DeleteServiceEntries">
<DisplayName>JS.DeleteServiceEntries</DisplayName>
<Properties/>
<ResourceURL>jsc://delete-service-entries.js</ResourceURL>
</Javascript>
18 changes: 18 additions & 0 deletions proxies/live/apiproxy/proxies/default.xml
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,24 @@
<Response/>
<Condition>(proxy.pathsuffix MatchesPath "/service") and (request.verb = "POST")</Condition>
</Flow>
<Flow name="DELETE service monitoring endpoints">
<Request>
<Step>
<Name>VerifyApiKey</Name>
</Step>
<Step>
<Name>KVM.RetrieveServiceEntries</Name>
</Step>
<Step>
<Name>JS.DeleteServiceEntries</Name>
</Step>
<Step>
<Name>KVM.StoreServiceEntries</Name>
</Step>
</Request>
<Response/>
<Condition>(proxy.pathsuffix MatchesPath "/service") and (request.verb = "DELETE")</Condition>
</Flow>
</Flows>
<PreFlow/>
<HTTPProxyConnection>
Expand Down
Loading