From 941beae21c16ff1351a1c2e051fdb722880911e5 Mon Sep 17 00:00:00 2001 From: aswin-in-philips Date: Tue, 3 May 2022 13:19:12 +0530 Subject: [PATCH] removing cd files --- .../cd-deploy-with-multitenancy-header.yml | 143 ----- .../cd-deploy-with-multitenancy-url.yml | 143 ----- .../cd-deploy-without-multitenancy.yml | 143 ----- .github/workflows/cd.yaml | 519 +++--------------- .github/workflows/ci.yaml | 98 ---- deploy/CD/api-gateway/.terraform.lock.hcl | 63 --- deploy/CD/api-gateway/terragrunt.hcl | 52 -- deploy/CD/cloudfoundry/.terraform.lock.hcl | 25 - deploy/CD/cloudfoundry/terragrunt.hcl | 31 -- deploy/CD/core/.terraform.lock.hcl | 59 -- deploy/CD/core/terragrunt.hcl | 12 - deploy/CD/terragrunt.hcl | 48 -- deploy/dependent_modules/core/data.tf | 35 -- deploy/dependent_modules/core/main.tf | 81 --- deploy/dependent_modules/core/outputs.tf | 91 --- deploy/dependent_modules/core/provider.tf | 13 - deploy/dependent_modules/core/secrets.tf | 18 - deploy/dependent_modules/core/variables.tf | 37 -- deploy/dependent_modules/core/versions.tf | 13 - 19 files changed, 84 insertions(+), 1540 deletions(-) delete mode 100644 .github/workflows/cd-deploy-with-multitenancy-header.yml delete mode 100644 .github/workflows/cd-deploy-with-multitenancy-url.yml delete mode 100644 .github/workflows/cd-deploy-without-multitenancy.yml delete mode 100644 .github/workflows/ci.yaml delete mode 100644 deploy/CD/api-gateway/.terraform.lock.hcl delete mode 100644 deploy/CD/api-gateway/terragrunt.hcl delete mode 100644 deploy/CD/cloudfoundry/.terraform.lock.hcl delete mode 100644 deploy/CD/cloudfoundry/terragrunt.hcl delete mode 100644 deploy/CD/core/.terraform.lock.hcl delete mode 100644 deploy/CD/core/terragrunt.hcl delete mode 100644 deploy/CD/terragrunt.hcl delete mode 100644 deploy/dependent_modules/core/data.tf delete mode 100644 deploy/dependent_modules/core/main.tf delete mode 100644 deploy/dependent_modules/core/outputs.tf delete mode 100644 deploy/dependent_modules/core/provider.tf delete mode 100644 deploy/dependent_modules/core/secrets.tf delete mode 100644 deploy/dependent_modules/core/variables.tf delete mode 100644 deploy/dependent_modules/core/versions.tf diff --git a/.github/workflows/cd-deploy-with-multitenancy-header.yml b/.github/workflows/cd-deploy-with-multitenancy-header.yml deleted file mode 100644 index 9f1e1491..00000000 --- a/.github/workflows/cd-deploy-with-multitenancy-header.yml +++ /dev/null @@ -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 \ No newline at end of file diff --git a/.github/workflows/cd-deploy-with-multitenancy-url.yml b/.github/workflows/cd-deploy-with-multitenancy-url.yml deleted file mode 100644 index 14351fe4..00000000 --- a/.github/workflows/cd-deploy-with-multitenancy-url.yml +++ /dev/null @@ -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 \ No newline at end of file diff --git a/.github/workflows/cd-deploy-without-multitenancy.yml b/.github/workflows/cd-deploy-without-multitenancy.yml deleted file mode 100644 index 98d71d39..00000000 --- a/.github/workflows/cd-deploy-without-multitenancy.yml +++ /dev/null @@ -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 \ No newline at end of file diff --git a/.github/workflows/cd.yaml b/.github/workflows/cd.yaml index f5a91e0d..621ddd67 100644 --- a/.github/workflows/cd.yaml +++ b/.github/workflows/cd.yaml @@ -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-----MIIGaDCCBFCgAwIBAgIULlL9VXieeY/tgVYPtTqkJ5yAJSwwDQYJKoZIhvcNAQELBQAwHjEcMBoGA1UEAxMTcGhpbGlwcy1oZWFsdGhzdWl0ZTAeFw0yMjAyMTcwMTQzMzBaFw0yMzAxMTgwMTQzNTdaMB4xHDAaBgNVBAMTE3BoaWxpcHMtaGVhbHRoc3VpdGUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDBpvTseX7EK9HuET9K4uqBEbyHf9S7Oo5pD/IGk9JC6Jev1G3dQcO0O2MlhIGzFnFosl6jrP8sWWEsK1axGc4mT5NFu5eojDOlvkWCkx4RIy9iSDFEg+gupx3o1GpIrhQryRP8MMV+vzPdlixQrWgubH/CIPRtA126BkVW1tTktHIPjwnaV88h9P7RtRso+ECVkHsrWcGjBsipTqQP0Ck9whYIWWWwqJMkDuUFFMpaJFk/aVDQ4lt7fjRW7BhHUhUOo5YvRzRshz9qIezzxinaZ9dJsYhXbSfe+eMSzkm45DNEfzN6JAvssQN9dtPVP4GIl/AZAY/58k1fiwvt3D19gjfdZd9ujB8aGtZDNPnn/AsdfD+MiJmIE3oLYsToicW3xUIaqKJ8zuuhakX+pVuXIakhDDT9PrqEDUiS4RqDSpfzvAzI4t6bdFVaiWuHqUKiosEwo3GTW2TMSiTMLzgMS5Da11c6WU2SVetsEwyc2cVTkzaYIdGDGOAJW3RVrzQdgjg3XBeszKDLb+jJxbBCFCowz0QJQvyg0B89pLtanv+YgibirNEzL3pwiKqZ//Z7eINCpnGUnvkNXKWaOvtIr/7P8C+IhjqmPSA5RZRtI5SKlzYNHvxlWCCqf3lwRKQaah4WAL1CAvz33WqdC7UQPFiYIuyI50GmOlVC2IEDoQIDAQABo4IBnDCCAZgwDgYDVR0PAQH/BAQDAgOoMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAdBgNVHQ4EFgQU3k4ngZJ+6gr88Bc3gBq4ThW4nsswHwYDVR0jBBgwFoAUMy4Fg1gI7L5ECt863Z217+n2f+MwgYcGCCsGAQUFBwEBBHsweTB3BggrBgEFBQcwAoZraHR0cDovL3BraS1jbGllbnQtdGVzdC51cy1lYXN0LnBoaWxpcHMtaGVhbHRoc3VpdGUuY29tL2NvcmUvcGtpL2FwaS9jNjk5ZmRkZC1hNGQzLTQ4OWMtOWMxZS02OTAyMjBmZGFhNTEvY2EwHgYDVR0RBBcwFYITcGhpbGlwcy1oZWFsdGhzdWl0ZTB9BgNVHR8EdjB0MHKgcKBuhmxodHRwOi8vcGtpLWNsaWVudC10ZXN0LnVzLWVhc3QucGhpbGlwcy1oZWFsdGhzdWl0ZS5jb20vY29yZS9wa2kvYXBpL2M2OTlmZGRkLWE0ZDMtNDg5Yy05YzFlLTY5MDIyMGZkYWE1MS9jcmwwDQYJKoZIhvcNAQELBQADggIBAMwsfnvYf6YTLY6ZguUiwd+7Z9sW8gDBfUhtzPbwLMHIGLjKFOyZevZPNitzJj9eNZYaq2BfuYrIbOD1NSCKmf57UcuXRSAbkNNyMu6ncdY+FLN6dwt7yTnvEQ6oka/ObaBDyQh2BpiKneCHHlxG+lFsTt4XWQU4u5t6lI0gxsHpiYJWcg0HyrbBPcYJzYGjttY7HC0zF8GByEoFbunTC7/9IhZixGQNhUkajfzPV3Q8xcFCS794tmwBeNlpaWrKUMaErzSQuCHzlYyIb3oeYqjttKro3qz2zmSI1x8p2SGhOoVWVajeXl4OMeOo3O/BMK6zt2bOKtgU+exo003ve6J6A/rrALF4nQx86tlh5o50JGuImldNHfT58vHoxfJeXqk2cK+yJHHHW+M+xNVoKJ+KFKqFz2JW646SWnZzdz/Vd537eXjMiJVPuCGC48PFP5eXYxxnrPEyUl1q0FglxHvgaJJoTK4Oz95MpjubzgFaSnUj0TDQg46pircAQUW9oay6uTX377smYIBB6/yYKE0tfCKbKcDOgEWP+YKWe+G9Ha3uCdTVSRBC4MYeab5YVGCgW9Qj99jMuwl15xlUa5EdCv0l6QA16C5CoW5/cNOkb8G5wLN1VGY3g6J6FviJgVElF9LUNxRhpkRGaLIYFT5VxmMv8GNZNG9j4ffEIDpc-----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-----MIIGaDCCBFCgAwIBAgIUTB3PGrDIqwKPIZfFgawieigND00wDQYJKoZIhvcNAQELBQAwHjEcMBoGA1UEAxMTcGhpbGlwcy1oZWFsdGhzdWl0ZTAeFw0yMjAyMTcwMTQzMTdaFw0yMzAxMTgwMTQzNDVaMB4xHDAaBgNVBAMTE3BoaWxpcHMtaGVhbHRoc3VpdGUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDJw+Zb0I2Q3XEDemBkZ2vXN8tF7Q148cbqA0DN5i2SJCqPrGk4uxwj58MUSSeRWNIixXC0byxjkLjHqYr8jEuL9Z011+CHLbGY/u6C6RwnMIXaIhoUo0hpT8BQPFFQnK++pYGTNRaV3phns1YTuORySNNiMaYQ2cak5B4+v/QTaM51aNARJW2Q+WhpVH6/foQABAmciliZDlNL2CctN8Q2stfFNWVDFQ5wuh8qRYAvLbqEeTchGd7ryeHTf2GlRzzUfCUm9G+kZSvfbcIru7hd/tM6V0dqxAof3boTedK/OMak/Y+BnZcj8FsGJ8SJ6wep7+Gi+w4AqmujRbNU+W458NkjAKckXYvTkZ8N3ghN1ZZgBcHoibI9SICcklfVNrmOPAKe+h3e9D/gopN/PWAlqoJ+fMR/UZvQEMRhHf4SX1LV2+7YbxKYoltJXh8/+fO13qr3zzvdMDXT8hFbjRi0bDUUuwpk+pA1ezq/lit835ryMSEh5mBD3SabUdf9GHodpObvVuHrWWlM0Vt/ytunHeC9czqnr9wo8DU9dqzay6cd40OFZlPj+7LjROU82sa8ff9aW7nmjZ5Z3JhR8pnfE77Azk7kuESI+rpnqZ5b6y8RDQ4IiINHevxPzq5E2ApwztGz/GiYw5cLJy7ply0rl06HMNED4mSOOVsWZbp9KQIDAQABo4IBnDCCAZgwDgYDVR0PAQH/BAQDAgOoMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAdBgNVHQ4EFgQUwet0VNbY+r8CUzYQkZAAPgpwdKIwHwYDVR0jBBgwFoAUY9qbwaQ7dZzrq01JkraIDpNwUBAwgYcGCCsGAQUFBwEBBHsweTB3BggrBgEFBQcwAoZraHR0cDovL3BraS1jbGllbnQtdGVzdC51cy1lYXN0LnBoaWxpcHMtaGVhbHRoc3VpdGUuY29tL2NvcmUvcGtpL2FwaS9hNWYyMzM2Ni01YjhmLTQxZDgtYjVmOS04ZDM3M2QyZjhmYzQvY2EwHgYDVR0RBBcwFYITcGhpbGlwcy1oZWFsdGhzdWl0ZTB9BgNVHR8EdjB0MHKgcKBuhmxodHRwOi8vcGtpLWNsaWVudC10ZXN0LnVzLWVhc3QucGhpbGlwcy1oZWFsdGhzdWl0ZS5jb20vY29yZS9wa2kvYXBpL2E1ZjIzMzY2LTViOGYtNDFkOC1iNWY5LThkMzczZDJmOGZjNC9jcmwwDQYJKoZIhvcNAQELBQADggIBABUTQsPb6zHrczqllwniWVd8mDMJmvgRKAKFcJno1n1FRx7emTmk2zCFQQiURRGRlOKO+tY08AYPBLbqm+90tHvYBKzGSRU4uS9VgkKzwYn/NdhKgb2FGJIZF1Vsh9IfJTwt5/KUxjhDQW8MXtlgzNCrFavgrkBa2Mcj0/7Tc4Fh4Brj60UbfYU35HNUAnQibs9Ld6ffvmpmyU4ARNO8ZS6bpZzeTIipgwySGllyK7j1cbih764TQh9vtS19uWhxV4BpeLjoBT8GWPzu/nOf2WQucDx0DpDt4gZCvAiLkL93EndhMD6EOHRxkfcU4RCLDwwr2jP1omMGdTo9p9edO4ZCVER/3oskkcS6TQlpDgaKJFqWehKQYF/M/WVKHN+1DsBklIfFFrZtWdhwPD56jh0apjfxIn2WBlztXCp2lblOqwxmf6A+WAcfZh/CF4q6TFzw9+aBm33stbxGKVl2mgITil2UIlyq4iFRftcErMXd3OErxQknxgnsKl2xfFHOrrSUp5n8sQ0gvVHbOjIXwq+V/F0pwF2nwcHliOnrIaIwW9eqjvbGoaeysNJwEKIl+5xpN/5GXXAk69tPnp2RrYAQjGwqtAfsb+3BNbuzl54JvSp90tlNcW7ujs7r1LvXpUPbSasT8rOhzsZBEw1fVbWIOc8/Ip7ED+UESIfiRhK0-----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 \ No newline at end of file + # - 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 diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml deleted file mode 100644 index 448475f8..00000000 --- a/.github/workflows/ci.yaml +++ /dev/null @@ -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 diff --git a/deploy/CD/api-gateway/.terraform.lock.hcl b/deploy/CD/api-gateway/.terraform.lock.hcl deleted file mode 100644 index a272fc3c..00000000 --- a/deploy/CD/api-gateway/.terraform.lock.hcl +++ /dev/null @@ -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", - ] -} \ No newline at end of file diff --git a/deploy/CD/api-gateway/terragrunt.hcl b/deploy/CD/api-gateway/terragrunt.hcl deleted file mode 100644 index 5eb78897..00000000 --- a/deploy/CD/api-gateway/terragrunt.hcl +++ /dev/null @@ -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 = <