removing cd files

This commit is contained in:
aswin-in-philips 2022-05-03 13:19:12 +05:30
parent 076a4b8858
commit 941beae21c
19 changed files with 84 additions and 1540 deletions

View File

@ -1,143 +0,0 @@
name: Deploy CD with Multitenancy-header
on:
workflow_call:
secrets:
INNER_SOURCE_ACTIONS_APP_ID:
required: true
INNER_SOURCE_ACTIONS_APP_PRIVATE_KEY_BASE64:
required: true
GH_PAT_TOKEN:
required: true
HSDP_DOCKER_USER:
required: true
HSDP_DOCKER_PASSWORD:
required: true
CODESCENE_CI_CD_GITHUB_TOKEN:
required: true
ARM_CLIENT_ID:
required: true
ARM_CLIENT_SECRET:
required: true
env:
TF_IN_AUTOMATION: true
ARM_SUBSCRIPTION_ID: 74d03f75-4bdb-4666-8095-500178a40764
ARM_TENANT_ID: 1a407a2d-7675-4d17-8692-b3ac285306e4
jobs:
terragrunt-workflow-core:
name: Terragrunt - core
runs-on: ubuntu-20.04
container: alpine/terragrunt:1.0.1
outputs:
core: ${{ steps.tf_output.outputs.core }}
env:
ARM_CLIENT_ID: ${{ secrets.ARM_CLIENT_ID }}
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
defaults:
run:
working-directory: ./deploy/CD/core
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v1
- id: inner-source-action
uses: ./.github/workflows/innersource-action
with:
GH_PAT_TOKEN: ${{ secrets.GH_PAT_TOKEN }}
INNER_SOURCE_ACTIONS_APP_ID: ${{ secrets.INNER_SOURCE_ACTIONS_APP_ID }}
INNER_SOURCE_ACTIONS_APP_PRIVATE_KEY_BASE64: ${{ secrets.INNER_SOURCE_ACTIONS_APP_PRIVATE_KEY_BASE64 }}
- id: plan
uses: ./../.actions/terragrunt-plan-action
with:
working-directory: ./deploy/CD/core
key: client-test-core-plan
- id: apply
uses: ./../.actions/terragrunt-apply-action
with:
working-directory: ./deploy/CD/core
key: client-test-core-plan
- id: output
uses: ./.github/workflows/terragrunt-output-action
with:
working-directory: ./deploy/CD/core
key: client-test-core-output
terragrunt-workflow-cloudfoundry:
name: Terragrunt - cloudfoundry
runs-on: ubuntu-20.04
needs: [terragrunt-workflow-core]
container: alpine/terragrunt:1.0.1
env:
ARM_CLIENT_ID: ${{ secrets.ARM_CLIENT_ID }}
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
defaults:
run:
working-directory: ./deploy/CD/cloudfoundry
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v1
- id: inner-source-action
uses: ./.github/workflows/innersource-action
with:
GH_PAT_TOKEN: ${{ secrets.GH_PAT_TOKEN }}
INNER_SOURCE_ACTIONS_APP_ID: ${{ secrets.INNER_SOURCE_ACTIONS_APP_ID }}
INNER_SOURCE_ACTIONS_APP_PRIVATE_KEY_BASE64: ${{ secrets.INNER_SOURCE_ACTIONS_APP_PRIVATE_KEY_BASE64 }}
- id: plan
uses: ./../.actions/terragrunt-plan-action
with:
working-directory: ./deploy/CD/cloudfoundry
key: client-test-cloudfoundry-plan
- id: apply
uses: ./../.actions/terragrunt-apply-action
with:
working-directory: ./deploy/CD/cloudfoundry
key: client-test-cloudfoundry-plan
terragrunt-workflow-api-gateway:
name: Terragrunt - api-gateway
runs-on: ubuntu-20.04
needs: [terragrunt-workflow-cloudfoundry]
container: alpine/terragrunt:1.0.1
env:
ARM_CLIENT_ID: ${{ secrets.ARM_CLIENT_ID }}
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
CONFIG: ./envoyconfig_with_multitenancy.yml
SOURCE: header
defaults:
run:
working-directory: ./deploy/CD/api-gateway
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v1
- id: inner-source-action
uses: ./.github/workflows/innersource-action
with:
GH_PAT_TOKEN: ${{ secrets.GH_PAT_TOKEN }}
INNER_SOURCE_ACTIONS_APP_ID: ${{ secrets.INNER_SOURCE_ACTIONS_APP_ID }}
INNER_SOURCE_ACTIONS_APP_PRIVATE_KEY_BASE64: ${{ secrets.INNER_SOURCE_ACTIONS_APP_PRIVATE_KEY_BASE64 }}
- id: plan
uses: ./../.actions/terragrunt-plan-action
with:
working-directory: ./deploy/CD/api-gateway
key: client-test-api-gateway-plan
- id: apply
uses: ./../.actions/terragrunt-apply-action
with:
working-directory: ./deploy/CD/api-gateway
key: client-test-api-gateway-plan
- id: output
uses: ./.github/workflows/terragrunt-output-action
with:
working-directory: ./deploy/CD/api-gateway
key: client-test-api-gateway-output

View File

@ -1,143 +0,0 @@
name: Deploy CD with Multitenancy-Url
on:
workflow_call:
secrets:
INNER_SOURCE_ACTIONS_APP_ID:
required: true
INNER_SOURCE_ACTIONS_APP_PRIVATE_KEY_BASE64:
required: true
GH_PAT_TOKEN:
required: true
HSDP_DOCKER_USER:
required: true
HSDP_DOCKER_PASSWORD:
required: true
CODESCENE_CI_CD_GITHUB_TOKEN:
required: true
ARM_CLIENT_ID:
required: true
ARM_CLIENT_SECRET:
required: true
env:
TF_IN_AUTOMATION: true
ARM_SUBSCRIPTION_ID: 74d03f75-4bdb-4666-8095-500178a40764
ARM_TENANT_ID: 1a407a2d-7675-4d17-8692-b3ac285306e4
jobs:
terragrunt-workflow-core:
name: Terragrunt - core
runs-on: ubuntu-20.04
container: alpine/terragrunt:1.0.1
outputs:
core: ${{ steps.tf_output.outputs.core }}
env:
ARM_CLIENT_ID: ${{ secrets.ARM_CLIENT_ID }}
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
defaults:
run:
working-directory: ./deploy/CD/core
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v1
- id: inner-source-action
uses: ./.github/workflows/innersource-action
with:
GH_PAT_TOKEN: ${{ secrets.GH_PAT_TOKEN }}
INNER_SOURCE_ACTIONS_APP_ID: ${{ secrets.INNER_SOURCE_ACTIONS_APP_ID }}
INNER_SOURCE_ACTIONS_APP_PRIVATE_KEY_BASE64: ${{ secrets.INNER_SOURCE_ACTIONS_APP_PRIVATE_KEY_BASE64 }}
- id: plan
uses: ./../.actions/terragrunt-plan-action
with:
working-directory: ./deploy/CD/core
key: client-test-core-plan
- id: apply
uses: ./../.actions/terragrunt-apply-action
with:
working-directory: ./deploy/CD/core
key: client-test-core-plan
- id: output
uses: ./.github/workflows/terragrunt-output-action
with:
working-directory: ./deploy/CD/core
key: client-test-core-output
terragrunt-workflow-cloudfoundry:
name: Terragrunt - cloudfoundry
runs-on: ubuntu-20.04
needs: [terragrunt-workflow-core]
container: alpine/terragrunt:1.0.1
env:
ARM_CLIENT_ID: ${{ secrets.ARM_CLIENT_ID }}
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
defaults:
run:
working-directory: ./deploy/CD/cloudfoundry
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v1
- id: inner-source-action
uses: ./.github/workflows/innersource-action
with:
GH_PAT_TOKEN: ${{ secrets.GH_PAT_TOKEN }}
INNER_SOURCE_ACTIONS_APP_ID: ${{ secrets.INNER_SOURCE_ACTIONS_APP_ID }}
INNER_SOURCE_ACTIONS_APP_PRIVATE_KEY_BASE64: ${{ secrets.INNER_SOURCE_ACTIONS_APP_PRIVATE_KEY_BASE64 }}
- id: plan
uses: ./../.actions/terragrunt-plan-action
with:
working-directory: ./deploy/CD/cloudfoundry
key: client-test-cloudfoundry-plan
- id: apply
uses: ./../.actions/terragrunt-apply-action
with:
working-directory: ./deploy/CD/cloudfoundry
key: client-test-cloudfoundry-plan
terragrunt-workflow-api-gateway:
name: Terragrunt - api-gateway
runs-on: ubuntu-20.04
needs: [terragrunt-workflow-cloudfoundry]
container: alpine/terragrunt:1.0.1
env:
ARM_CLIENT_ID: ${{ secrets.ARM_CLIENT_ID }}
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
CONFIG: ./envoyconfig_with_multitenancy.yml
SOURCE: url
defaults:
run:
working-directory: ./deploy/CD/api-gateway
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v1
- id: inner-source-action
uses: ./.github/workflows/innersource-action
with:
GH_PAT_TOKEN: ${{ secrets.GH_PAT_TOKEN }}
INNER_SOURCE_ACTIONS_APP_ID: ${{ secrets.INNER_SOURCE_ACTIONS_APP_ID }}
INNER_SOURCE_ACTIONS_APP_PRIVATE_KEY_BASE64: ${{ secrets.INNER_SOURCE_ACTIONS_APP_PRIVATE_KEY_BASE64 }}
- id: plan
uses: ./../.actions/terragrunt-plan-action
with:
working-directory: ./deploy/CD/api-gateway
key: client-test-api-gateway-plan
- id: apply
uses: ./../.actions/terragrunt-apply-action
with:
working-directory: ./deploy/CD/api-gateway
key: client-test-api-gateway-plan
- id: output
uses: ./.github/workflows/terragrunt-output-action
with:
working-directory: ./deploy/CD/api-gateway
key: client-test-api-gateway-output

View File

@ -1,143 +0,0 @@
name: Deploy CD without Multitenancy
on:
workflow_call:
secrets:
INNER_SOURCE_ACTIONS_APP_ID:
required: true
INNER_SOURCE_ACTIONS_APP_PRIVATE_KEY_BASE64:
required: true
GH_PAT_TOKEN:
required: true
HSDP_DOCKER_USER:
required: true
HSDP_DOCKER_PASSWORD:
required: true
CODESCENE_CI_CD_GITHUB_TOKEN:
required: true
ARM_CLIENT_ID:
required: true
ARM_CLIENT_SECRET:
required: true
env:
TF_IN_AUTOMATION: true
ARM_SUBSCRIPTION_ID: 74d03f75-4bdb-4666-8095-500178a40764
ARM_TENANT_ID: 1a407a2d-7675-4d17-8692-b3ac285306e4
jobs:
terragrunt-workflow-core:
name: Terragrunt - core
runs-on: ubuntu-20.04
container: alpine/terragrunt:1.0.1
outputs:
core: ${{ steps.tf_output.outputs.core }}
env:
ARM_CLIENT_ID: ${{ secrets.ARM_CLIENT_ID }}
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
defaults:
run:
working-directory: ./deploy/CD/core
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v1
- id: inner-source-action
uses: ./.github/workflows/innersource-action
with:
GH_PAT_TOKEN: ${{ secrets.GH_PAT_TOKEN }}
INNER_SOURCE_ACTIONS_APP_ID: ${{ secrets.INNER_SOURCE_ACTIONS_APP_ID }}
INNER_SOURCE_ACTIONS_APP_PRIVATE_KEY_BASE64: ${{ secrets.INNER_SOURCE_ACTIONS_APP_PRIVATE_KEY_BASE64 }}
- id: plan
uses: ./../.actions/terragrunt-plan-action
with:
working-directory: ./deploy/CD/core
key: client-test-core-plan
- id: apply
uses: ./../.actions/terragrunt-apply-action
with:
working-directory: ./deploy/CD/core
key: client-test-core-plan
- id: output
uses: ./.github/workflows/terragrunt-output-action
with:
working-directory: ./deploy/CD/core
key: client-test-core-output
terragrunt-workflow-cloudfoundry:
name: Terragrunt - cloudfoundry
runs-on: ubuntu-20.04
needs: [terragrunt-workflow-core]
container: alpine/terragrunt:1.0.1
env:
ARM_CLIENT_ID: ${{ secrets.ARM_CLIENT_ID }}
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
defaults:
run:
working-directory: ./deploy/CD/cloudfoundry
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v1
- id: inner-source-action
uses: ./.github/workflows/innersource-action
with:
GH_PAT_TOKEN: ${{ secrets.GH_PAT_TOKEN }}
INNER_SOURCE_ACTIONS_APP_ID: ${{ secrets.INNER_SOURCE_ACTIONS_APP_ID }}
INNER_SOURCE_ACTIONS_APP_PRIVATE_KEY_BASE64: ${{ secrets.INNER_SOURCE_ACTIONS_APP_PRIVATE_KEY_BASE64 }}
- id: plan
uses: ./../.actions/terragrunt-plan-action
with:
working-directory: ./deploy/CD/cloudfoundry
key: client-test-cloudfoundry-plan
- id: apply
uses: ./../.actions/terragrunt-apply-action
with:
working-directory: ./deploy/CD/cloudfoundry
key: client-test-cloudfoundry-plan
terragrunt-workflow-api-gateway:
name: Terragrunt - api-gateway
runs-on: ubuntu-20.04
needs: [terragrunt-workflow-cloudfoundry]
container: alpine/terragrunt:1.0.1
env:
ARM_CLIENT_ID: ${{ secrets.ARM_CLIENT_ID }}
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
CONFIG: ./envoyconfig_without_multitenancy.yml
SOURCE: url
defaults:
run:
working-directory: ./deploy/CD/api-gateway
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v1
- id: inner-source-action
uses: ./.github/workflows/innersource-action
with:
GH_PAT_TOKEN: ${{ secrets.GH_PAT_TOKEN }}
INNER_SOURCE_ACTIONS_APP_ID: ${{ secrets.INNER_SOURCE_ACTIONS_APP_ID }}
INNER_SOURCE_ACTIONS_APP_PRIVATE_KEY_BASE64: ${{ secrets.INNER_SOURCE_ACTIONS_APP_PRIVATE_KEY_BASE64 }}
- id: plan
uses: ./../.actions/terragrunt-plan-action
with:
working-directory: ./deploy/CD/api-gateway
key: client-test-api-gateway-plan
- id: apply
uses: ./../.actions/terragrunt-apply-action
with:
working-directory: ./deploy/CD/api-gateway
key: client-test-api-gateway-plan
- id: output
uses: ./.github/workflows/terragrunt-output-action
with:
working-directory: ./deploy/CD/api-gateway
key: client-test-api-gateway-output

View File

@ -1,449 +1,98 @@
name: CD
name: CI-CD
on:
push:
branches: [ main ]
workflow_dispatch:
branches:
- 'edi-foundation-integration'
# - $default-branch
jobs:
Init:
name: Initialize
build:
env:
COVER: true
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- name: Extract branch name
uses: vazco/github-actions-branch-name@v1
id: branch
Build-Automation-Solution:
needs: [Init]
runs-on: builder_blr
name: Build Automation Solution
- name: Check out code
uses: actions/checkout@v2
- name: Set up Go 1.16
uses: actions/setup-go@v2
with:
go-version: 1.16.x
id: go
- name: Get dependencies
run: |
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.36.0
curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
chmod +x ./cc-test-reporter
- name: Verify Code Generation
run: |
make verify-generate
- name: Lint
run: |
make lint
- name: Build
run: |
make build
- name: Test
env:
CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}
run: |
./.github/workflows/test.sh
docker:
runs-on: ubuntu-20.04
steps:
- name: cleanup
run: Remove-Item ${{ github.workspace }}\* -Recurse
- uses: actions/checkout@v2
with:
token: ${{ secrets.GH_TOKEN_CI }}
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v1.0.2
with:
vs-version: '[16.4,17.0)'
- name: Add dotnet
uses: actions/setup-dotnet@v1
with:
dotnet-version: '3.1.x'
- name: msbuild execute
run: msbuild ${{ github.workspace }}\Build\api_automation_build.proj /t:build /p:configuration=release,platform=anycpu /nowarn:MSB4011,MSB4210
- name: push nuget to artifactory
run: dotnet nuget push ${{ github.workspace }}\AutomationTest\**\*.nupkg -s JFrogrepository --skip-duplicate
DeployCDWithoutMultitenancy:
if: github.ref == 'refs/heads/terraform'
needs: [Init]
uses: ./.github/workflows/cd-deploy-without-multitenancy.yml
secrets:
ARM_CLIENT_ID: ${{ secrets.ARM_CLIENT_ID }}
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
HSDP_DOCKER_USER: ${{ secrets.HSDP_DOCKER_USER }}
HSDP_DOCKER_PASSWORD: ${{ secrets.HSDP_DOCKER_PASSWORD }}
CODESCENE_CI_CD_GITHUB_TOKEN: ${{ secrets.CODESCENE_CI_CD_GITHUB_TOKEN }}
INNER_SOURCE_ACTIONS_APP_ID: ${{ secrets.INNER_SOURCE_ACTIONS_APP_ID }}
INNER_SOURCE_ACTIONS_APP_PRIVATE_KEY_BASE64: ${{ secrets.INNER_SOURCE_ACTIONS_APP_PRIVATE_KEY_BASE64 }}
GH_PAT_TOKEN: ${{secrets.GH_PAT_TOKEN}}
CI-Automation-Variables:
if: github.ref == 'refs/heads/terraform'
needs: [DeployCDWithoutMultitenancy]
runs-on: ubuntu-20.04
outputs:
oauth_client_secret: ${{ steps.core-output.outputs.oauth_client_secret }}
ci_service_private_key: ${{ steps.core-output.outputs.ci_service_private_key }}
envoy_base_url: "https://${{ steps.gateway-output.outputs.gateway_url }}"
deploy_user: ${{ steps.core-output.outputs.deploy_user }}
deploy_password: ${{ steps.core-output.outputs.deploy_password }}
ci_service_id: ${{ steps.core-output.outputs.ci_service_id }}
oauth_client_id: ${{ steps.core-output.outputs.oauth_client_id }}
steps:
- name: Download Core output
uses: actions/download-artifact@v2
with:
name: client-test-core-output
path: ${{ github.workspace}}/output/core
- name: Download Gateway output
uses: actions/download-artifact@v2
with:
name: client-test-api-gateway-output
path: ${{ github.workspace}}/output/gateway
- name: Get Outputs from Core module
working-directory: ${{ github.workspace}}/output/core
id: core-output
shell: bash
run: |
apt update && apt install jq -y
core_output=$(cat output.json)
- name: Check out code
uses: actions/checkout@v2
oauth_client_secret=$(echo $core_output | jq -r '.fdn_envoy_oauth_client_password.value')
ci_service_private_key=$(echo $core_output | jq -r '.foundation_envoy_nightly_service_private_key.value')
deploy_user=$(echo $core_output | jq -r '.cf_deploy_user.value')
deploy_password=$(echo $core_output | jq -r '.cf_deploy_password.value')
ci_service_id=$(echo $core_output | jq -r '.foundation_envoy_nightly_service_id.value')
oauth_client_id=$(echo $core_output | jq -r '.fdn_envoy_oauth_client_id.value')
- name: Docker Build
run: |
make docker
- name: Docker login
run: |
docker login --username '${{ secrets.DOCKER_USER }}' --password '${{ secrets.DOCKER_PSWD }}' '${{ secrets.DOCKER_REPO }}'
- name: Docker tag & Push
run: |
docker tag '${{ secrets.DOCKER_REPO }}'/oauth2-proxy:latest '${{ secrets.DOCKER_REPO }}'/edi-foundation-oauth2-proxy:${{ github.sha }}
docker tag '${{ secrets.DOCKER_REPO }}'/oauth2-proxy:latest '${{ secrets.DOCKER_REPO }}'/edi-foundation-oauth2-proxy:latest
docker push '${{ secrets.DOCKER_REPO }}'/edi-foundation-oauth2-proxy:${{ github.sha }}
docker push '${{ secrets.DOCKER_REPO }}'/edi-foundation-oauth2-proxy:latest
echo "::set-output name=oauth_client_secret::$oauth_client_secret"
echo "::set-output name=ci_service_private_key::$ci_service_private_key"
echo "::set-output name=oauth_client_id::$oauth_client_id"
echo "::set-output name=deploy_user::$deploy_user"
echo "::set-output name=deploy_password::$deploy_password"
echo "::set-output name=ci_service_id::$ci_service_id"
# Trigger-Workflow:
# if: github.ref == 'refs/heads/master'
# needs: [build, docker]
# runs-on: ubuntu-latest
# steps:
# - uses: convictional/trigger-workflow-and-wait@v1.6.1
# with:
# owner: philips-internal
# repo: hds-auth-gateway
# github_token: ${{ secrets.ACCESS_TOKEN }}
# workflow_file_name: cd.yaml
# ref: master
- name: Get Outputs from Api Gateway
working-directory: ${{ github.workspace}}/output/gateway
id: gateway-output
shell: bash
run: |
apt update && apt install jq -y
output=$(cat output.json)
gateway_url=$(echo $output | jq -r '.api_gateway_url.value')
echo $gateway_url
echo "::set-output name=gateway_url::$gateway_url"
# Release-Candidate:
# if: github.ref == 'refs/heads/main'
# needs: [Trigger-Workflow]
# runs-on: ubuntu-20.04
# steps:
# - uses: actions/checkout@v2
TestwithoutMultitenancy:
if: github.ref == 'refs/heads/terraform'
needs: [Build-Automation-Solution, CI-Automation-Variables, DeployCDWithoutMultitenancy]
runs-on: builder_blr
steps:
- uses: actions/checkout@v2
with:
token: ${{ secrets.GH_TOKEN_CI }}
- name: Add dotnet
uses: actions/setup-dotnet@v1
with:
dotnet-version: '3.1.x'
- name: Restore Automation Test Project
working-directory: ${{ github.workspace }}
run: |
dotnet restore ${{ github.workspace }}\AutomationTest\automation.packages.proj --packages ./automation-dll
- uses: microsoft/variable-substitution@v1
name: Update Env Json
with:
files: ${{ github.workspace }}/automation-dll/philips.edi.foundation.apigateway.automationtest/1.0.3/lib/net3.1/Env.json
env:
PipelineConfiguration.AuthUserName: "sai.chand@philips.com"
PipelineConfiguration.AuthPassword: ${{ secrets.IAM_TEST_USER_PASSWORD }}
PipelineConfiguration.APIGatewayBaseUrl: "https://envoycd-api-gateway.us-east.philips-healthsuite.com"
PipelineConfiguration.ServiceID: ${{ needs.CI-Automation-Variables.outputs.ci_service_id }}
PipelineConfiguration.ServiceIDPrivateKey: ${{ needs.CI-Automation-Variables.outputs.ci_service_private_key }}
PipelineConfiguration.OauthClientID: ${{ needs.CI-Automation-Variables.outputs.oauth_client_id }}
PipelineConfiguration.OauthClientSecret: ${{ needs.CI-Automation-Variables.outputs.oauth_client_secret }}
PipelineConfiguration.CFOrgName: "client-EDI-SolutionAccelerator"
PipelineConfiguration.CFSpaceName: "envoycd"
PipelineConfiguration.CFUserName: ${{ secrets.CF_USERNAME }}
PipelineConfiguration.CFPassword: ${{ secrets.CF_PASSWD }}
PipelineConfiguration.CookieName: "edi_session_envoycd"
PipelineConfiguration.CFOauthTokenUrl: "https://login.cloud.pcftest.com/oauth/token"
PipelineConfiguration.CFBaseUrl: "https://api.cloud.pcftest.com/v3"
PipelineConfiguration.CFAuthenticatorAppName: "authenticator_service"
PipelineConfiguration.OauthProxyCookieTimeoutInSeconds: "25"
PipelineConfiguration.AuthenticatorSessionExpireOffsetInPercent: "99"
PipelineConfiguration.AccessTokenTestRoleName: "ENVOY-NIGHTLY-SERVICE-TF"
PipelineConfiguration.OpenIdConfigurationBaseUrl: "https://foundation-client-test.us-east.philips-healthsuite.com"
PipelineConfiguration.OrgSymmetricKey: ${{ secrets.ORG_SYMMETRIC_KEY }}
PipelineConfiguration.OpenIdConfigOrganizationCertificateMapping: '[{"organizationId":"ed186a39-8b5f-4351-bebc-4e17779c293b","certificate":"-----BEGIN CERTIFICATE-----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-----END CERTIFICATE-----"},{"organizationId":"51e2503f-c1df-430d-a1ce-2524fa796cda","certificate":"-----BEGIN CERTIFICATE-----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-----END CERTIFICATE-----"}]'
PipelineConfiguration.SSOTokenUserName: "user"
PipelineConfiguration.TenantDetails: '{"ValidTenant": {"tenantName": "org1-envoycd-api-gateway", "iamOrganizationId": "51e2503f-c1df-430d-a1ce-2524fa796cda"}, "InvalidTenant":{"tenantName": "invalidorg-envoycd-api-gateway","iamOrganizationId": "1234"},"AccessTokenTenant":{"tenantName": "accesstokentestorg","iamOrganizationId": "db3ba3e1-b333-4528-80d0-41b0eeb533b0"}}'
PipelineConfiguration.IAMAuthorizationUrl: "https://iam-client-test.us-east.philips-healthsuite.com/authorize/oauth2/token"
PipelineConfiguration.IAMAccessTokenUrl: "https://iam-client-test.us-east.philips-healthsuite.com/oauth2/access_token"
PipelineConfiguration.IDMClientBaseUrl: "https://idm-client-test.us-east.philips-healthsuite.com/authorize/identity"
PipelineConfiguration.IAMGetUserUrl: "https://idm-client-test.us-east.philips-healthsuite.com/authorize/identity/User?profileType=membership&userId="
PipelineConfiguration.CDRBaseUrl: "https://cdr-edisa-test.us-east.philips-healthsuite.com"
- name: Run Tests
continue-on-error: true
working-directory: ${{ github.workspace }}/automation-dll/philips.edi.foundation.apigateway.automationtest
run: |
dotnet test **/net3.1/*Test.dll --no-restore --filter TestCategory=PostDeployment --results-directory ${{ github.workspace }}/automation-dll/philips.edi.foundation.apigateway.automationtest/TestResults --logger trx
dotnet test **/net3.1/*Test.dll --no-restore --filter TestCategory=WithoutMultitenancy --results-directory ${{ github.workspace }}/automation-dll/philips.edi.foundation.apigateway.automationtest/TestResults --logger trx
- name: email-notification
continue-on-error: true
working-directory: ${{ github.workspace }}/Build/PS
run: |
powershell -ExecutionPolicy RemoteSigned -NoExit -File email-notification.ps1 -BuildNumber ${{ github.run_id }} -ReportFolder ${{ github.workspace }}/automation-dll/philips.edi.foundation.apigateway.automationtest/TestResults -Subject Api-Gateway-WithoutMultitenancy
DeployCDWithMultitenancyurl:
if: github.ref == 'refs/heads/terraform'
needs: [TestwithoutMultitenancy]
uses: ./.github/workflows/cd-deploy-with-multitenancy-url.yml
secrets:
ARM_CLIENT_ID: ${{ secrets.ARM_CLIENT_ID }}
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
HSDP_DOCKER_USER: ${{ secrets.HSDP_DOCKER_USER }}
HSDP_DOCKER_PASSWORD: ${{ secrets.HSDP_DOCKER_PASSWORD }}
CODESCENE_CI_CD_GITHUB_TOKEN: ${{ secrets.CODESCENE_CI_CD_GITHUB_TOKEN }}
INNER_SOURCE_ACTIONS_APP_ID: ${{ secrets.INNER_SOURCE_ACTIONS_APP_ID }}
INNER_SOURCE_ACTIONS_APP_PRIVATE_KEY_BASE64: ${{ secrets.INNER_SOURCE_ACTIONS_APP_PRIVATE_KEY_BASE64 }}
GH_PAT_TOKEN: ${{secrets.GH_PAT_TOKEN}}
CI-Automation-Variablesurl:
if: github.ref == 'refs/heads/terraform'
needs: [DeployCDWithMultitenancyurl]
runs-on: ubuntu-20.04
outputs:
oauth_client_secret: ${{ steps.core-output.outputs.oauth_client_secret }}
ci_service_private_key: ${{ steps.core-output.outputs.ci_service_private_key }}
envoy_base_url: "https://${{ steps.gateway-output.outputs.gateway_url }}"
deploy_user: ${{ steps.core-output.outputs.deploy_user }}
deploy_password: ${{ steps.core-output.outputs.deploy_password }}
ci_service_id: ${{ steps.core-output.outputs.ci_service_id }}
oauth_client_id: ${{ steps.core-output.outputs.oauth_client_id }}
steps:
- name: Download Core output
uses: actions/download-artifact@v2
with:
name: client-test-core-output
path: ${{ github.workspace}}/output/core
- name: Download Gateway output
uses: actions/download-artifact@v2
with:
name: client-test-api-gateway-output
path: ${{ github.workspace}}/output/gateway
- name: Get Outputs from Core module
working-directory: ${{ github.workspace}}/output/core
id: core-output
shell: bash
run: |
apt update && apt install jq -y
core_output=$(cat output.json)
oauth_client_secret=$(echo $core_output | jq -r '.fdn_envoy_oauth_client_password.value')
ci_service_private_key=$(echo $core_output | jq -r '.foundation_envoy_nightly_service_private_key.value')
deploy_user=$(echo $core_output | jq -r '.cf_deploy_user.value')
deploy_password=$(echo $core_output | jq -r '.cf_deploy_password.value')
ci_service_id=$(echo $core_output | jq -r '.foundation_envoy_nightly_service_id.value')
oauth_client_id=$(echo $core_output | jq -r '.fdn_envoy_oauth_client_id.value')
echo "::set-output name=oauth_client_secret::$oauth_client_secret"
echo "::set-output name=ci_service_private_key::$ci_service_private_key"
echo "::set-output name=oauth_client_id::$oauth_client_id"
echo "::set-output name=deploy_user::$deploy_user"
echo "::set-output name=deploy_password::$deploy_password"
echo "::set-output name=ci_service_id::$ci_service_id"
- name: Get Outputs from Api Gateway
working-directory: ${{ github.workspace}}/output/gateway
id: gateway-output
shell: bash
run: |
apt update && apt install jq -y
output=$(cat output.json)
gateway_url=$(echo $output | jq -r '.api_gateway_url.value')
echo $gateway_url
echo "::set-output name=gateway_url::$gateway_url"
TestwithMultitenancyurl:
if: github.ref == 'refs/heads/terraform'
needs: [Build-Automation-Solution, CI-Automation-Variablesurl, DeployCDWithMultitenancyurl]
runs-on: builder_blr
steps:
- uses: actions/checkout@v2
with:
token: ${{ secrets.GH_TOKEN_CI }}
- name: Add dotnet
uses: actions/setup-dotnet@v1
with:
dotnet-version: '3.1.x'
- name: Restore Automation Test Project
working-directory: ${{ github.workspace }}
run: |
dotnet restore ${{ github.workspace }}\AutomationTest\automation.packages.proj --packages ./automation-dll
- uses: microsoft/variable-substitution@v1
name: Update Env Json
with:
files: ${{ github.workspace }}/automation-dll/philips.edi.foundation.apigateway.automationtest/1.0.3/lib/net3.1/Env.json
env:
PipelineConfiguration.AuthUserName: "sai.chand@philips.com"
PipelineConfiguration.AuthPassword: ${{ secrets.IAM_TEST_USER_PASSWORD }}
PipelineConfiguration.APIGatewayBaseUrl: "https://envoycd-api-gateway.us-east.philips-healthsuite.com"
PipelineConfiguration.ServiceID: ${{ needs.CI-Automation-Variables.outputs.ci_service_id }}
PipelineConfiguration.ServiceIDPrivateKey: ${{ needs.CI-Automation-Variables.outputs.ci_service_private_key }}
PipelineConfiguration.OauthClientID: ${{ needs.CI-Automation-Variables.outputs.oauth_client_id }}
PipelineConfiguration.OauthClientSecret: ${{ needs.CI-Automation-Variables.outputs.oauth_client_secret }}
PipelineConfiguration.CFOrgName: "client-EDI-SolutionAccelerator"
PipelineConfiguration.CFSpaceName: "envoycd"
PipelineConfiguration.CFUserName: ${{ secrets.CF_USERNAME }}
PipelineConfiguration.CFPassword: ${{ secrets.CF_PASSWD }}
PipelineConfiguration.CookieName: "edi_session_envoycd"
PipelineConfiguration.CFOauthTokenUrl: "https://login.cloud.pcftest.com/oauth/token"
PipelineConfiguration.CFBaseUrl: "https://api.cloud.pcftest.com/v3"
PipelineConfiguration.CFAuthenticatorAppName: "authenticator_service"
PipelineConfiguration.OauthProxyCookieTimeoutInSeconds: "25"
PipelineConfiguration.AuthenticatorSessionExpireOffsetInPercent: "99"
PipelineConfiguration.AccessTokenTestRoleName: "ENVOY-NIGHTLY-SERVICE-TF"
PipelineConfiguration.OpenIdConfigurationBaseUrl: "https://foundation-client-test.us-east.philips-healthsuite.com"
PipelineConfiguration.OrgSymmetricKey: ${{ secrets.ORG_SYMMETRIC_KEY }}
PipelineConfiguration.OpenIdConfigOrganizationCertificateMapping: '[{"organizationId":"ed186a39-8b5f-4351-bebc-4e17779c293b","certificate":"-----BEGIN CERTIFICATE-----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-----END CERTIFICATE-----"},{"organizationId":"51e2503f-c1df-430d-a1ce-2524fa796cda","certificate":"-----BEGIN CERTIFICATE-----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-----END CERTIFICATE-----"}]'
PipelineConfiguration.SSOTokenUserName: "user"
PipelineConfiguration.TenantDetails: '{"ValidTenant": {"tenantName": "org1-envoycd-api-gateway", "iamOrganizationId": "51e2503f-c1df-430d-a1ce-2524fa796cda"}, "InvalidTenant":{"tenantName": "invalidorg-envoycd-api-gateway","iamOrganizationId": "1234"},"AccessTokenTenant":{"tenantName": "accesstokentestorg","iamOrganizationId": "db3ba3e1-b333-4528-80d0-41b0eeb533b0"}}'
PipelineConfiguration.IAMAuthorizationUrl: "https://iam-client-test.us-east.philips-healthsuite.com/authorize/oauth2/token"
PipelineConfiguration.IAMAccessTokenUrl: "https://iam-client-test.us-east.philips-healthsuite.com/oauth2/access_token"
PipelineConfiguration.IDMClientBaseUrl: "https://idm-client-test.us-east.philips-healthsuite.com/authorize/identity"
PipelineConfiguration.IAMGetUserUrl: "https://idm-client-test.us-east.philips-healthsuite.com/authorize/identity/User?profileType=membership&userId="
PipelineConfiguration.CDRBaseUrl: "https://cdr-edisa-test.us-east.philips-healthsuite.com"
- name: Run Tests
working-directory: ${{ github.workspace }}/automation-dll/philips.edi.foundation.apigateway.automationtest
run: |
dotnet test **/net3.1/*Test.dll --no-restore --filter TestCategory=OrgNameInUrl --results-directory ${{ github.workspace }}/automation-dll/philips.edi.foundation.apigateway.automationtest/TestResults --logger trx
- name: email-notification
working-directory: ${{ github.workspace }}/Build/PS
run: |
powershell -ExecutionPolicy RemoteSigned -NoExit -File email-notification.ps1 -BuildNumber ${{ github.run_id }} -ReportFolder ${{ github.workspace }}/automation-dll/philips.edi.foundation.apigateway.automationtest/TestResults -Subject Api-Gateway-WithMultitenancy-org-id-source-url
DeployCDWithMultitenancyheader:
if: github.ref == 'refs/heads/terraform'
needs: [DeployCDWithMultitenancyurl, TestwithMultitenancyurl]
uses: ./.github/workflows/cd-deploy-with-multitenancy-header.yml
secrets:
ARM_CLIENT_ID: ${{ secrets.ARM_CLIENT_ID }}
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
HSDP_DOCKER_USER: ${{ secrets.HSDP_DOCKER_USER }}
HSDP_DOCKER_PASSWORD: ${{ secrets.HSDP_DOCKER_PASSWORD }}
CODESCENE_CI_CD_GITHUB_TOKEN: ${{ secrets.CODESCENE_CI_CD_GITHUB_TOKEN }}
INNER_SOURCE_ACTIONS_APP_ID: ${{ secrets.INNER_SOURCE_ACTIONS_APP_ID }}
INNER_SOURCE_ACTIONS_APP_PRIVATE_KEY_BASE64: ${{ secrets.INNER_SOURCE_ACTIONS_APP_PRIVATE_KEY_BASE64 }}
GH_PAT_TOKEN: ${{secrets.GH_PAT_TOKEN}}
CI-Automation-Variablesheader:
if: github.ref == 'refs/heads/terraform'
needs: [DeployCDWithMultitenancyheader]
runs-on: ubuntu-20.04
outputs:
oauth_client_secret: ${{ steps.core-output.outputs.oauth_client_secret }}
ci_service_private_key: ${{ steps.core-output.outputs.ci_service_private_key }}
envoy_base_url: "https://${{ steps.gateway-output.outputs.gateway_url }}"
deploy_user: ${{ steps.core-output.outputs.deploy_user }}
deploy_password: ${{ steps.core-output.outputs.deploy_password }}
ci_service_id: ${{ steps.core-output.outputs.ci_service_id }}
oauth_client_id: ${{ steps.core-output.outputs.oauth_client_id }}
steps:
- name: Download Core output
uses: actions/download-artifact@v2
with:
name: client-test-core-output
path: ${{ github.workspace}}/output/core
- name: Download Gateway output
uses: actions/download-artifact@v2
with:
name: client-test-api-gateway-output
path: ${{ github.workspace}}/output/gateway
- name: Get Outputs from Core module
working-directory: ${{ github.workspace}}/output/core
id: core-output
shell: bash
run: |
apt update && apt install jq -y
core_output=$(cat output.json)
oauth_client_secret=$(echo $core_output | jq -r '.fdn_envoy_oauth_client_password.value')
ci_service_private_key=$(echo $core_output | jq -r '.foundation_envoy_nightly_service_private_key.value')
deploy_user=$(echo $core_output | jq -r '.cf_deploy_user.value')
deploy_password=$(echo $core_output | jq -r '.cf_deploy_password.value')
ci_service_id=$(echo $core_output | jq -r '.foundation_envoy_nightly_service_id.value')
oauth_client_id=$(echo $core_output | jq -r '.fdn_envoy_oauth_client_id.value')
echo "::set-output name=oauth_client_secret::$oauth_client_secret"
echo "::set-output name=ci_service_private_key::$ci_service_private_key"
echo "::set-output name=oauth_client_id::$oauth_client_id"
echo "::set-output name=deploy_user::$deploy_user"
echo "::set-output name=deploy_password::$deploy_password"
echo "::set-output name=ci_service_id::$ci_service_id"
- name: Get Outputs from Api Gateway
working-directory: ${{ github.workspace}}/output/gateway
id: gateway-output
shell: bash
run: |
apt update && apt install jq -y
output=$(cat output.json)
gateway_url=$(echo $output | jq -r '.api_gateway_url.value')
echo $gateway_url
echo "::set-output name=gateway_url::$gateway_url"
TestwithMultitenancyheader:
if: github.ref == 'refs/heads/terraform'
needs: [Build-Automation-Solution, CI-Automation-Variablesheader, DeployCDWithMultitenancyheader]
runs-on: builder_blr
steps:
- uses: actions/checkout@v2
with:
token: ${{ secrets.GH_TOKEN_CI }}
- name: Add dotnet
uses: actions/setup-dotnet@v1
with:
dotnet-version: '3.1.x'
- name: Restore Automation Test Project
working-directory: ${{ github.workspace }}
run: |
dotnet restore ${{ github.workspace }}\AutomationTest\automation.packages.proj --packages ./automation-dll
- uses: microsoft/variable-substitution@v1
name: Update Env Json
with:
files: ${{ github.workspace }}/automation-dll/philips.edi.foundation.apigateway.automationtest/1.0.3/lib/net3.1/Env.json
env:
PipelineConfiguration.AuthUserName: "sai.chand@philips.com"
PipelineConfiguration.AuthPassword: ${{ secrets.IAM_TEST_USER_PASSWORD }}
PipelineConfiguration.APIGatewayBaseUrl: "https://envoycd-api-gateway.us-east.philips-healthsuite.com"
PipelineConfiguration.ServiceID: ${{ needs.CI-Automation-Variables.outputs.ci_service_id }}
PipelineConfiguration.ServiceIDPrivateKey: ${{ needs.CI-Automation-Variables.outputs.ci_service_private_key }}
PipelineConfiguration.OauthClientID: ${{ needs.CI-Automation-Variables.outputs.oauth_client_id }}
PipelineConfiguration.OauthClientSecret: ${{ needs.CI-Automation-Variables.outputs.oauth_client_secret }}
PipelineConfiguration.CFOrgName: "client-EDI-SolutionAccelerator"
PipelineConfiguration.CFSpaceName: "envoycd"
PipelineConfiguration.CFUserName: ${{ secrets.CF_USERNAME }}
PipelineConfiguration.CFPassword: ${{ secrets.CF_PASSWD }}
PipelineConfiguration.CookieName: "edi_session_envoycd"
PipelineConfiguration.CFOauthTokenUrl: "https://login.cloud.pcftest.com/oauth/token"
PipelineConfiguration.CFBaseUrl: "https://api.cloud.pcftest.com/v3"
PipelineConfiguration.CFAuthenticatorAppName: "authenticator_service"
PipelineConfiguration.OauthProxyCookieTimeoutInSeconds: "25"
PipelineConfiguration.AuthenticatorSessionExpireOffsetInPercent: "99"
PipelineConfiguration.AccessTokenTestRoleName: "ENVOY-NIGHTLY-SERVICE-TF"
PipelineConfiguration.OpenIdConfigurationBaseUrl: "https://foundation-client-test.us-east.philips-healthsuite.com"
PipelineConfiguration.OrgSymmetricKey: ${{ secrets.ORG_SYMMETRIC_KEY }}
PipelineConfiguration.OpenIdConfigOrganizationCertificateMapping: '[{"organizationId":"ed186a39-8b5f-4351-bebc-4e17779c293b","certificate":"-----BEGIN CERTIFICATE-----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-----END CERTIFICATE-----"},{"organizationId":"51e2503f-c1df-430d-a1ce-2524fa796cda","certificate":"-----BEGIN CERTIFICATE-----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-----END CERTIFICATE-----"}]'
PipelineConfiguration.SSOTokenUserName: "user"
PipelineConfiguration.TenantDetails: '{"ValidTenant": {"tenantName": "org1-envoycd-api-gateway", "iamOrganizationId": "51e2503f-c1df-430d-a1ce-2524fa796cda"}, "InvalidTenant":{"tenantName": "invalidorg-envoycd-api-gateway","iamOrganizationId": "1234"},"AccessTokenTenant":{"tenantName": "accesstokentestorg","iamOrganizationId": "db3ba3e1-b333-4528-80d0-41b0eeb533b0"}}'
PipelineConfiguration.IAMAuthorizationUrl: "https://iam-client-test.us-east.philips-healthsuite.com/authorize/oauth2/token"
PipelineConfiguration.IAMAccessTokenUrl: "https://iam-client-test.us-east.philips-healthsuite.com/oauth2/access_token"
PipelineConfiguration.IDMClientBaseUrl: "https://idm-client-test.us-east.philips-healthsuite.com/authorize/identity"
PipelineConfiguration.IAMGetUserUrl: "https://idm-client-test.us-east.philips-healthsuite.com/authorize/identity/User?profileType=membership&userId="
PipelineConfiguration.CDRBaseUrl: "https://cdr-edisa-test.us-east.philips-healthsuite.com"
- name: Run Tests
working-directory: ${{ github.workspace }}/automation-dll/philips.edi.foundation.apigateway.automationtest
run: |
dotnet test **/net3.1/*Test.dll --no-restore --filter TestCategory=OrgIdInHeader --results-directory ${{ github.workspace }}/automation-dll/philips.edi.foundation.apigateway.automationtest/TestResults --logger trx
- name: email-notification
working-directory: ${{ github.workspace }}/Build/PS
run: |
powershell -ExecutionPolicy RemoteSigned -NoExit -File email-notification.ps1 -BuildNumber ${{ github.run_id }} -ReportFolder ${{ github.workspace }}/automation-dll/philips.edi.foundation.apigateway.automationtest/TestResults -Subject Api-Gateway-WithMultitenancy-org-id-source-header
# - name: Login to Docker Repo
# run: docker login --username '${{ secrets.DOCKER_USER }}' --password '${{ secrets.DOCKER_PSWD }}' '${{ env.HSDP_DOCKER_HOST }}'
# - name: Docker Pull, Tag and Push rc
# run: |
# docker push '${{ secrets.DOCKER_REPO }}'/edi-foundation-oauth2-proxy:latest
# docker push '${{ secrets.DOCKER_REPO }}'/edi-foundation-oauth2-proxy:latest ${{ env.HSDP_DOCKER_HOST }}/edisp-releases/edi-foundation-oauth2-proxy:${{ github.sha }}-rc
# docker push ${{ env.HSDP_DOCKER_HOST }}/edisp-releases/edi-foundation-oauth2-proxy:${{ github.sha }}-rc

View File

@ -1,98 +0,0 @@
name: Continuous Integration
on:
push:
branches:
- 'edi-foundation-integration'
# - $default-branch
jobs:
build:
env:
COVER: true
runs-on: ubuntu-20.04
steps:
- name: Check out code
uses: actions/checkout@v2
- name: Set up Go 1.16
uses: actions/setup-go@v2
with:
go-version: 1.16.x
id: go
- name: Get dependencies
run: |
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.36.0
curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
chmod +x ./cc-test-reporter
- name: Verify Code Generation
run: |
make verify-generate
- name: Lint
run: |
make lint
- name: Build
run: |
make build
- name: Test
env:
CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}
run: |
./.github/workflows/test.sh
docker:
runs-on: ubuntu-20.04
steps:
- name: Check out code
uses: actions/checkout@v2
- name: Docker Build
run: |
make docker
- name: Docker login
run: |
docker login --username '${{ secrets.DOCKER_USER }}' --password '${{ secrets.DOCKER_PSWD }}' '${{ secrets.DOCKER_REPO }}'
- name: Docker tag & Push
run: |
docker tag '${{ secrets.DOCKER_REPO }}'/oauth2-proxy:latest '${{ secrets.DOCKER_REPO }}'/edi-foundation-oauth2-proxy:${{ github.sha }}
docker tag '${{ secrets.DOCKER_REPO }}'/oauth2-proxy:latest '${{ secrets.DOCKER_REPO }}'/edi-foundation-oauth2-proxy:latest
docker push '${{ secrets.DOCKER_REPO }}'/edi-foundation-oauth2-proxy:${{ github.sha }}
docker push '${{ secrets.DOCKER_REPO }}'/edi-foundation-oauth2-proxy:latest
# Trigger-Workflow:
# if: github.ref == 'refs/heads/master'
# needs: [build, docker]
# runs-on: ubuntu-latest
# steps:
# - uses: convictional/trigger-workflow-and-wait@v1.6.1
# with:
# owner: philips-internal
# repo: hds-auth-gateway
# github_token: ${{ secrets.ACCESS_TOKEN }}
# workflow_file_name: cd.yaml
# ref: master
# Release-Candidate:
# if: github.ref == 'refs/heads/main'
# needs: [Trigger-Workflow]
# runs-on: ubuntu-20.04
# steps:
# - uses: actions/checkout@v2
# - name: Login to Docker Repo
# run: docker login --username '${{ secrets.DOCKER_USER }}' --password '${{ secrets.DOCKER_PSWD }}' '${{ env.HSDP_DOCKER_HOST }}'
# - name: Docker Pull, Tag and Push rc
# run: |
# docker push '${{ secrets.DOCKER_REPO }}'/edi-foundation-oauth2-proxy:latest
# docker push '${{ secrets.DOCKER_REPO }}'/edi-foundation-oauth2-proxy:latest ${{ env.HSDP_DOCKER_HOST }}/edisp-releases/edi-foundation-oauth2-proxy:${{ github.sha }}-rc
# docker push ${{ env.HSDP_DOCKER_HOST }}/edisp-releases/edi-foundation-oauth2-proxy:${{ github.sha }}-rc

View File

@ -1,63 +0,0 @@
# This file is maintained automatically by "terraform init".
# Manual edits may be lost in future updates.
provider "registry.terraform.io/cloudfoundry-community/cloudfoundry" {
version = "0.15.0"
constraints = ">= 0.14.2"
hashes = [
"h1:28advLdfgEFgPgjN8ZkPoknjGNa1hu+zpRQ4fQsVSis=",
"zh:143c1624ee5c2813c32126467fb9c56053bbfcae275d6ce61c7b59c259c4b8e0",
"zh:18a5cb24695a1521cb8ee1e488234c337228af1b471b30a284db41c4362c6149",
"zh:261595c1bd8105160e8c505d76be5f49d3bd12bb7aa6882ac6315cc5727aec55",
"zh:2e8627bf812848fe1b232e4fe91e21eaedc3759f8997ffc5a9f201757627e835",
"zh:4a19d909843952b9cbf6b0445c3627d22c5caaa2ad8db1eab2f382d5faff3402",
"zh:4e78b3de83b2686c66c2b2e0d8a7c910ed423fd5b7b853bcc0fd05b851c6bd28",
"zh:713e43a21a1d3aaddfa0bf841a2cc1e2c06160917bdd443e6eac99b620d668fa",
"zh:a36d3e5406f96abaf9a6eb89663b7fa504d0c68521a7334c498525e8018ad7f9",
"zh:aa3abf232a49f66031f2a1a032f53604a51d8c9b0a3a297591d7a57949943c40",
"zh:b2ccc93024f1ed6e18fd92e199be12ea148383a4f5d8c3ab9e632ae88b0f5263",
"zh:b85379c01fc963289203170731880fb89f10047d63c45566750826ad9aff39cb",
"zh:c5d59b6fe39f7f4f2c556209906aa9cbb31cc0630d225fb0abd48c6de1089f2e",
"zh:c956d630c087fc2ede5967e89249b2477a552185c2d4167292002fc5fd1b380c",
"zh:edf41138788f7b16ed572f1fad940ba75f3c7b9a7c06f6876c31bf281de1257a",
"zh:f873bbff4c7ae1c6b7c5ba0dd42552526435d9b1bd373b18ea4169e965e4d283",
]
}
provider "registry.terraform.io/hashicorp/random" {
version = "3.1.2"
hashes = [
"h1:oLnKXeY6OAJhYHr7PFCYt5mFOoZrdEQrwVh0U8KtrYY=",
"zh:0daceba867b330d3f8e2c5dc895c4291845a78f31955ce1b91ab2c4d1cd1c10b",
"zh:104050099efd30a630741f788f9576b19998e7a09347decbec3da0b21d64ba2d",
"zh:173f4ef3fdf0c7e2564a3db0fac560e9f5afdf6afd0b75d6646af6576b122b16",
"zh:41d50f975e535f968b3f37170fb07937c15b76d85ba947d0ce5e5ff9530eda65",
"zh:51a5038867e5e60757ed7f513dd6a973068241190d158a81d1b69296efb9cb8d",
"zh:6432a568e97a5a36cc8aebca5a7e9c879a55d3bc71d0da1ab849ad905f41c0be",
"zh:6bac6501394b87138a5e17c9f3a41e46ff7833ad0ba2a96197bb7787e95b641c",
"zh:6c0a7f5faacda644b022e7718e53f5868187435be6d000786d1ca05aa6683a25",
"zh:74c89de3fa6ef3027efe08f8473c2baeb41b4c6cee250ba7aeb5b64e8c79800d",
"zh:78d5eefdd9e494defcb3c68d282b8f96630502cac21d1ea161f53cfe9bb483b3",
"zh:b29eabbf0a5298f0e95a1df214c7cfe06ea9bcf362c63b3ad2f72d85da7d4685",
"zh:e891458c7a61e5b964e09616f1a4f87d0471feae1ec04cc51776e7dec1a3abce",
]
}
provider "registry.terraform.io/philips-software/hsdp" {
version = "0.30.10"
constraints = ">= 0.14.8, >= 0.19.5"
hashes = [
"h1:XTfMEVlCslMPXFJk4oELJ6rQ+huxmuz7wD0t7LpPYbs=",
"zh:186831a191684c8f62dca4e09527808e2959d05f67d65cb28cbebe8783a9643e",
"zh:1bb46a97336693a0492441cc348a77834aa20100998fd48b178a8322e317c878",
"zh:600cea763d58421234de681d6f82f61c205d0373852578bf625b9f450dda70f5",
"zh:809798d793630692767cdaa21e98995dc2852e1ac24250b93f3b76a7c4cfe794",
"zh:8d703ac14832dd31fa8d7324111c5bc5ec84aac4ae2f1199f0a3c43e6c10070b",
"zh:aa43e8a8e355726bf6e118fdc4c484bd1065f4118d42df8d66ac9488206b9488",
"zh:b2669cceb7bc9cbdb614cdd677ef634e64bc5f791c719a5a2f254b58efa27508",
"zh:b52a34b779af83ae8af5943dae643bb91793381f104fe022f87bc1d0ed276f30",
"zh:d2ec6a8ba0f9277f99a93cc64ff8b6f4b74224c116207695489b2ddb8f0964ed",
"zh:e02a94406c1f5a9ae20b6af3e4ba871eb7166c9c7f05c6332892a46ae9b42e06",
"zh:e6a8e818905c3efd932dc1b8768b90cabcf4a53a1a59613a472833928c471c28",
]
}

View File

@ -1,52 +0,0 @@
include {
path = find_in_parent_folders()
}
terraform {
source = "../../dependent_modules//api-gateway"
}
inputs = {
proposition_id = dependency.core.outputs.foundation_envoy_proposition_id
cf_org = "client-EDI-SolutionAccelerator"
cf_space = "oauthci"
cf_deploy_user = dependency.core.outputs.cf_deploy_user
cf_deploy_password = dependency.core.outputs.cf_deploy_password
cf_domain = "us-east.philips-healthsuite.com"
redis_credentials = dependency.cloudfoundry.outputs.redis_credentials
logdrainer = dependency.cloudfoundry.outputs.logdrainer_service_id
oauth_proxy_redis = dependency.cloudfoundry.outputs.redis_service_id
org_id_source = get_env("SOURCE", "url")
config_file_location = get_env("CONFIG", "./envoyconfig_without_multitenancy.yml")
envoy_tag = dependency.core.outputs.envoy_tag
oauth_tag = dependency.core.outputs.oauth_tag
authenticator_tag = dependency.core.outputs.authenticator_tag
tokenexchange_tag = dependency.core.outputs.tokenexchange_tag
}
dependency "core" {
config_path = "../core/"
}
dependency "cloudfoundry" {
config_path = "../cloudfoundry/"
}
generate "provider" {
path = "provider.tf"
if_exists = "overwrite_terragrunt"
contents = <<EOF
provider "cloudfoundry" {
api_url = "${dependency.core.outputs.cf_api_url}"
user = "${dependency.core.outputs.cf_deploy_user}"
password = "${dependency.core.outputs.cf_deploy_password}"
}
provider "hsdp" {
region = "us-east"
environment = "client-test"
service_id = "${dependency.core.outputs.automation_service_id}"
service_private_key = "${replace(dependency.core.outputs.automation_service_private_key, "\n", "")}"
}
EOF
}

View File

@ -1,25 +0,0 @@
# This file is maintained automatically by "terraform init".
# Manual edits may be lost in future updates.
provider "registry.terraform.io/cloudfoundry-community/cloudfoundry" {
version = "0.15.0"
constraints = ">= 0.14.2"
hashes = [
"h1:28advLdfgEFgPgjN8ZkPoknjGNa1hu+zpRQ4fQsVSis=",
"zh:143c1624ee5c2813c32126467fb9c56053bbfcae275d6ce61c7b59c259c4b8e0",
"zh:18a5cb24695a1521cb8ee1e488234c337228af1b471b30a284db41c4362c6149",
"zh:261595c1bd8105160e8c505d76be5f49d3bd12bb7aa6882ac6315cc5727aec55",
"zh:2e8627bf812848fe1b232e4fe91e21eaedc3759f8997ffc5a9f201757627e835",
"zh:4a19d909843952b9cbf6b0445c3627d22c5caaa2ad8db1eab2f382d5faff3402",
"zh:4e78b3de83b2686c66c2b2e0d8a7c910ed423fd5b7b853bcc0fd05b851c6bd28",
"zh:713e43a21a1d3aaddfa0bf841a2cc1e2c06160917bdd443e6eac99b620d668fa",
"zh:a36d3e5406f96abaf9a6eb89663b7fa504d0c68521a7334c498525e8018ad7f9",
"zh:aa3abf232a49f66031f2a1a032f53604a51d8c9b0a3a297591d7a57949943c40",
"zh:b2ccc93024f1ed6e18fd92e199be12ea148383a4f5d8c3ab9e632ae88b0f5263",
"zh:b85379c01fc963289203170731880fb89f10047d63c45566750826ad9aff39cb",
"zh:c5d59b6fe39f7f4f2c556209906aa9cbb31cc0630d225fb0abd48c6de1089f2e",
"zh:c956d630c087fc2ede5967e89249b2477a552185c2d4167292002fc5fd1b380c",
"zh:edf41138788f7b16ed572f1fad940ba75f3c7b9a7c06f6876c31bf281de1257a",
"zh:f873bbff4c7ae1c6b7c5ba0dd42552526435d9b1bd373b18ea4169e965e4d283",
]
}

View File

@ -1,31 +0,0 @@
include {
path = find_in_parent_folders()
}
terraform {
source = "../../dependent_modules//cloudfoundry"
}
inputs = {
cf_org = "client-EDI-SolutionAccelerator"
cf_space_name = "oauthci"
logdrainer_uri = "${dependency.core.outputs.logdrainer_base_uri}${dependency.core.outputs.logdrainer_uri}"
redis_plan_name = "redis-development-standalone"
cf_deploy_user = dependency.core.outputs.cf_deploy_user
}
dependency "core" {
config_path = "../core"
}
generate "provider" {
path = "provider.tf"
if_exists = "overwrite_terragrunt"
contents = <<EOF
provider "cloudfoundry" {
api_url = "${dependency.core.outputs.cf_api_url}"
user = "${dependency.core.outputs.cf_deploy_user}"
password = "${dependency.core.outputs.cf_deploy_password}"
}
EOF
}

View File

@ -1,59 +0,0 @@
# This file is maintained automatically by "terraform init".
# Manual edits may be lost in future updates.
provider "registry.terraform.io/hashicorp/azurerm" {
version = "2.99.0"
constraints = ">= 2.67.0"
hashes = [
"h1:aCGPSDzEWQZLeWmUeSnXA6sDHMumbDqOVdSVKVziYoE=",
"zh:08d81e72e97351538ab4d15548942217bf0c4d3b79ad3f4c95d8f07f902d2fa6",
"zh:11fdfa4f42d6b6f01371f336fea56f28a1db9e7b490c5ca0b352f6bbca5a27f1",
"zh:12376e2c4b56b76098d5d713d1a4e07e748a926c4d165f0bd6f52157b1f7a7e9",
"zh:31f1cb5b88ed1307625050e3ee7dd9948773f522a3f3bf179195d607de843ea3",
"zh:767971161405d38412662a73ea40a422125cdc214c72fbc569bcfbea6e66c366",
"zh:973c402c3728b68c980ea537319b703c009b902a981b0067fbc64e04a90e434c",
"zh:9ec62a4f82ec1e92bceeff80dd8783f61de0a94665c133f7c7a7a68bda9cdbd6",
"zh:bbb3b7e1229c531c4634338e4fc81b28bce58312eb843a931a4420abe42d5b7e",
"zh:cbbe02cd410d21476b3a081b5fa74b4f1b3d9d79b00214009028d60e859c19a3",
"zh:cc00ecc7617a55543b60a0da1196ea92df48c399bcadbedf04c783e3d47c6e08",
"zh:eecb9fd0e7509c7fd4763e546ef0933f125770cbab2b46152416e23d5ec9dd53",
]
}
provider "registry.terraform.io/hashicorp/random" {
version = "3.1.2"
hashes = [
"h1:oLnKXeY6OAJhYHr7PFCYt5mFOoZrdEQrwVh0U8KtrYY=",
"zh:0daceba867b330d3f8e2c5dc895c4291845a78f31955ce1b91ab2c4d1cd1c10b",
"zh:104050099efd30a630741f788f9576b19998e7a09347decbec3da0b21d64ba2d",
"zh:173f4ef3fdf0c7e2564a3db0fac560e9f5afdf6afd0b75d6646af6576b122b16",
"zh:41d50f975e535f968b3f37170fb07937c15b76d85ba947d0ce5e5ff9530eda65",
"zh:51a5038867e5e60757ed7f513dd6a973068241190d158a81d1b69296efb9cb8d",
"zh:6432a568e97a5a36cc8aebca5a7e9c879a55d3bc71d0da1ab849ad905f41c0be",
"zh:6bac6501394b87138a5e17c9f3a41e46ff7833ad0ba2a96197bb7787e95b641c",
"zh:6c0a7f5faacda644b022e7718e53f5868187435be6d000786d1ca05aa6683a25",
"zh:74c89de3fa6ef3027efe08f8473c2baeb41b4c6cee250ba7aeb5b64e8c79800d",
"zh:78d5eefdd9e494defcb3c68d282b8f96630502cac21d1ea161f53cfe9bb483b3",
"zh:b29eabbf0a5298f0e95a1df214c7cfe06ea9bcf362c63b3ad2f72d85da7d4685",
"zh:e891458c7a61e5b964e09616f1a4f87d0471feae1ec04cc51776e7dec1a3abce",
]
}
provider "registry.terraform.io/philips-software/hsdp" {
version = "0.30.10"
constraints = ">= 0.19.5"
hashes = [
"h1:XTfMEVlCslMPXFJk4oELJ6rQ+huxmuz7wD0t7LpPYbs=",
"zh:186831a191684c8f62dca4e09527808e2959d05f67d65cb28cbebe8783a9643e",
"zh:1bb46a97336693a0492441cc348a77834aa20100998fd48b178a8322e317c878",
"zh:600cea763d58421234de681d6f82f61c205d0373852578bf625b9f450dda70f5",
"zh:809798d793630692767cdaa21e98995dc2852e1ac24250b93f3b76a7c4cfe794",
"zh:8d703ac14832dd31fa8d7324111c5bc5ec84aac4ae2f1199f0a3c43e6c10070b",
"zh:aa43e8a8e355726bf6e118fdc4c484bd1065f4118d42df8d66ac9488206b9488",
"zh:b2669cceb7bc9cbdb614cdd677ef634e64bc5f791c719a5a2f254b58efa27508",
"zh:b52a34b779af83ae8af5943dae643bb91793381f104fe022f87bc1d0ed276f30",
"zh:d2ec6a8ba0f9277f99a93cc64ff8b6f4b74224c116207695489b2ddb8f0964ed",
"zh:e02a94406c1f5a9ae20b6af3e4ba871eb7166c9c7f05c6332892a46ae9b42e06",
"zh:e6a8e818905c3efd932dc1b8768b90cabcf4a53a1a59613a472833928c471c28",
]
}

View File

@ -1,12 +0,0 @@
include {
path = find_in_parent_folders()
}
terraform {
source = "../../dependent_modules//core"
}
inputs = {
edisp_azure_vault_name = "edisp-UB5gKdbmC3"
edisp_azure_automation_account_name = "edisp-HPTWRpsLcl"
}

View File

@ -1,48 +0,0 @@
skip = true
locals {
path_segments = split("/", path_relative_to_include())
environment = "client-test"
region = "us-east"
azure_subscription_id = "74d03f75-4bdb-4666-8095-500178a40764"
}
remote_state {
backend = "azurerm"
generate = {
path = "backend.tf"
if_exists = "overwrite_terragrunt"
}
config = {
storage_account_name = "foundationcicd"
container_name = "oauthci"
key = "${path_relative_to_include()}/terraform.tfstate"
resource_group_name = "edi-platform-foundation-cicd"
subscription_id = "${local.azure_subscription_id}"
use_azuread_auth = true
}
}
// Setup the region and environment based on the folder name
generate "auto_vars" {
path = "terragrunt.auto.tfvars"
if_exists = "overwrite_terragrunt"
contents = <<EOF
region = "${local.region}"
environment = "${local.environment}"
EOF
}
terraform {
extra_arguments "azure_config" {
commands = get_terraform_commands_that_need_vars()
env_vars = {
# other credentials are secrets and are passed as env vars in the pipeline
# or local credentails are used when logging in as a user
ARM_SUBSCRIPTION_ID = local.azure_subscription_id
}
}
}

View File

@ -1,35 +0,0 @@
data "hsdp_config" "iam_url" {
service = "iam"
region = var.region
environment = var.environment
}
data "hsdp_config" "idm_url" {
service = "idm"
region = var.region
environment = var.environment
}
data "hsdp_docker_namespace" "edi" {
name = "edi"
}
data "hsdp_docker_repository" "edi-foundation-envoy-gateway" {
namespace_id = data.hsdp_docker_namespace.edi.id
name = "edi-foundation-envoy-gateway"
}
data "hsdp_docker_repository" "edi-foundation-oauth2-proxy" {
namespace_id = data.hsdp_docker_namespace.edi.id
name = "edi-foundation-oauth2-proxy"
}
data "hsdp_docker_repository" "edi-foundation-apigateway-tokenauthenticator" {
namespace_id = data.hsdp_docker_namespace.edi.id
name = "edi-foundation-apigateway-tokenauthenticator"
}
data "hsdp_docker_repository" "edi-foundation-iam-tokenexchange-broker" {
namespace_id = data.hsdp_docker_namespace.edi.id
name = "edi-foundation-iam-tokenexchange-broker"
}

View File

@ -1,81 +0,0 @@
module "edisp" {
source = "github.com/philips-internal/terraform-edi-platform-secrets?ref=v0.1.2"
region = var.region
environment = var.environment
edisp_azure_vault_name = var.edisp_azure_vault_name
edisp_resource_group_name = var.edisp_resource_group_name
edisp_azure_automation_account_name = var.edisp_azure_automation_account_name
variables = ["TENANTS", "ORG-ID", "EDI-ORG-ID", "EDIPLATFORM-LOGGING-LOGDRAINER-BASE-URI"]
}
data "hsdp_iam_org" "proposition_org" {
organization_id = module.edisp.variables["ORG-ID"]
}
resource "hsdp_iam_proposition" "foundation_envoy_cicd_prop" {
name = "FOUNDATION-OAUTH-CI-TF"
description = "Proposition id Created for Envoy CD through terraform"
organization_id = hsdp_iam_org.foundation_envoy_nightly_org.id
}
resource "hsdp_iam_org" "foundation_envoy_nightly_org" {
name = "Oauth-CI-Org-TF"
description = "Envoy Nightly Organization to run envoy nightly tests, Do not modify manually"
parent_org_id = data.hsdp_iam_org.proposition_org.id
}
resource "hsdp_iam_application" "foundation_envoy_nightly_app" {
name = "OAUTH-CI-APP-TF"
description = "Envoy CI application for Automation Tests, Do not modify manually"
proposition_id = hsdp_iam_proposition.foundation_envoy_cicd_prop.id
}
resource "hsdp_iam_service" "envoy_ci_service" {
name = "oauth-cicd-service"
description = "Service Client for Envoy Nightly Tests, Do not modify manually"
application_id = hsdp_iam_application.foundation_envoy_nightly_app.id
validity = 12
scopes = ["openid"]
default_scopes = ["openid"]
}
resource "hsdp_iam_role" "envoy_ci_service_role" {
managing_organization = hsdp_iam_org.foundation_envoy_nightly_org.id
name = "OAUTH-CI-SERVICE-TF"
description = "Permissions to create IAM resources below the provided proposition."
permissions = [
"GROUP.READ",
"GROUP.WRITE",
"USER.READ",
"USER.WRITE",
"BASIC.WRITE",
"ROLE.READ",
"ROLE.WRITE",
"PERMISSION.READ",
"BASICTEST.WRITE"
]
}
resource "hsdp_iam_group" "envoy_ci_service_group" {
managing_organization = hsdp_iam_org.foundation_envoy_nightly_org.id
name = "OAUTH-CI-SERVICE-TF"
description = "Group for envoy automation service identities, Do not modify manually"
services = [hsdp_iam_service.envoy_ci_service.id]
roles = [hsdp_iam_role.envoy_ci_service_role.id]
}
module "hsdp_iam_foundation_auto_oauth2_client" {
source = "github.com/philips-internal/terraform-module-iam-client?ref=v0.1.0"
client_name = "oauth_ci_client"
client_id = "oauth-ci"
scopes = ["mail", "sn", "profile", "auth_iam_organization", "auth_iam_introspect"]
response_types = ["code"]
redirection_uris = []
application_id = hsdp_iam_application.foundation_envoy_nightly_app.id
}

View File

@ -1,91 +0,0 @@
output "automation_service_id" {
value = module.edisp.secrets["SERVICE-ID"]
sensitive = true
}
output "automation_service_private_key" {
value = module.edisp.secrets["SERVICE-KEY"]
sensitive = true
}
output "logdrainer_uri" {
value = module.edisp.secrets["EDIPLATFORM-LOGGING-LOGDRAINER-URI"]
sensitive = true
}
output "logdrainer_base_uri" {
value = module.edisp.variables["EDIPLATFORM-LOGGING-LOGDRAINER-BASE-URI"]
}
output "foundation_cicd_org_id" {
value = module.edisp.variables["ORG-ID"]
}
output "foundation_envoy_proposition_id" {
value = hsdp_iam_proposition.foundation_envoy_cicd_prop.id
}
output "ediplatform_org_id" {
value = module.edisp.variables["EDI-ORG-ID"]
}
output "cf_api_url" {
value = data.azurerm_key_vault_secret.cf_secrets["HSDP-CF-API-URL"].value
sensitive = true
}
output "cf_deploy_user" {
value = data.azurerm_key_vault_secret.cf_secrets["HSDP-CF-DEPLOY-USER"].value
sensitive = true
}
output "cf_deploy_password" {
value = data.azurerm_key_vault_secret.cf_secrets["HSDP-CF-DEPLOY-PASSWORD"].value
sensitive = true
}
output "foundation_envoy_nightly_org_id" {
value = hsdp_iam_org.foundation_envoy_nightly_org.id
}
output "foundation_envoy_nightly_service_id" {
value = hsdp_iam_service.envoy_ci_service.service_id
}
output "foundation_envoy_nightly_service_private_key" {
value = replace(hsdp_iam_service.envoy_ci_service.private_key, "\n", "")
sensitive = true
}
output "fdn_envoy_oauth_client_id" {
value = module.hsdp_iam_foundation_auto_oauth2_client.client_id
}
output "fdn_envoy_oauth_client_password" {
value = module.hsdp_iam_foundation_auto_oauth2_client.secret
sensitive = true
}
output "hsdp_iam_url" {
value = data.hsdp_config.iam_url.url
}
output "hsdp_idm_url" {
value = data.hsdp_config.idm_url.url
}
output "envoy_tag" {
value = data.hsdp_docker_repository.edi-foundation-envoy-gateway.tags[0]
}
output "oauth_tag" {
value = data.hsdp_docker_repository.edi-foundation-oauth2-proxy.tags[0]
}
output "authenticator_tag" {
value = data.hsdp_docker_repository.edi-foundation-apigateway-tokenauthenticator.tags[0]
}
output "tokenexchange_tag" {
value = data.hsdp_docker_repository.edi-foundation-iam-tokenexchange-broker.tags[0]
}

View File

@ -1,13 +0,0 @@
provider "azurerm" {
features {}
# This provider is configuered by environment secrets managed by the calling configuration
}
provider "hsdp" {
region = var.region
environment = var.environment
service_id = module.edisp.secrets["SERVICE-ID"]
service_private_key = module.edisp.secrets["SERVICE-KEY"]
uaa_username = data.azurerm_key_vault_secret.cf_secrets["HSDP-CF-DEPLOY-USER"].value
uaa_password = data.azurerm_key_vault_secret.cf_secrets["HSDP-CF-DEPLOY-PASSWORD"].value
}

View File

@ -1,18 +0,0 @@
data "azurerm_resource_group" "foundation_cicd" {
name = var.foundation_cicd_resource_group_name
}
data "azurerm_key_vault" "secrets" {
name = var.foundation_cicd_vault_name
resource_group_name = data.azurerm_resource_group.foundation_cicd.name
}
data "azurerm_key_vault_secret" "cf_secrets" {
for_each = toset([
"HSDP-CF-API-URL",
"HSDP-CF-DEPLOY-USER",
"HSDP-CF-DEPLOY-PASSWORD"
])
name = upper("${var.region}-${each.key}")
key_vault_id = data.azurerm_key_vault.secrets.id
}

View File

@ -1,37 +0,0 @@
variable "edisp_azure_vault_name" {
type = string
default = "The name of the vault created by the EDI Platform"
}
variable "edisp_azure_automation_account_name" {
type = string
default = "The name of the vault created by the EDI Platform"
}
variable "edisp_resource_group_name" {
type = string
description = "The name of the resoruce group in Azure that holds the resources for EDI Platform"
default = "edi-platform"
}
variable "foundation_cicd_resource_group_name" {
type = string
description = "The name of the resoruce group in Azure that holds the resources for EDI Platform foundation CICD"
default = "edi-platform-foundation-cicd"
}
variable "foundation_cicd_vault_name" {
type = string
description = "The name of the resoruce group in Azure that holds the resources for EDI Platform foundation CICD"
default = "foundationcicd"
}
variable "region" {
type = string
description = "HSDP region that this will be deployed to"
}
variable "environment" {
type = string
description = "HSDP environment that this will be deployed to (one of client-test or prod)"
}

View File

@ -1,13 +0,0 @@
terraform {
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = ">= 2.67.0"
}
hsdp = {
source = "philips-software/hsdp"
version = ">= 0.19.5"
}
}
required_version = ">= 1.0"
}