|
22 | 22 | required: true |
23 | 23 |
|
24 | 24 | jobs: |
25 | | - publish: |
26 | | - env: # env vars defined here can be referenced in env vars inside the steps |
27 | | - MONGODB_ATLAS_BASE_URL: ${{ github.event.inputs.resourceName=='resource-policy' && 'https://cloud-qa.mongodb.com/' || 'https://cloud.mongodb.com/' }} |
28 | | - MONGODB_ATLAS_OUTPUT: 'json' |
29 | | - # some resources need specific Atlas credentials and orgs |
30 | | - MONGODB_ATLAS_ORG_ID: ${{ github.event.inputs.resourceName=='organization' && secrets.ATLAS_ORG_ID || github.event.inputs.resourceName=='resource-policy' && vars.MONGODB_ATLAS_RP_ORG_ID_QA || github.event.inputs.resourceName=='federated-settings-org-role-mapping' && secrets.ATLAS_ORG_ID_FOR_FEDERATION || secrets.ATLAS_ORG_ID_PUBLISHING }} |
31 | | - MONGODB_ATLAS_PUBLIC_KEY: ${{ github.event.inputs.resourceName=='organization' && secrets.ATLAS_PUBLIC_KEY || github.event.inputs.resourceName=='resource-policy' && secrets.MONGODB_ATLAS_RP_PUBLIC_KEY_QA || github.event.inputs.resourceName=='federated-settings-org-role-mapping' && secrets.ATLAS_PUBLIC_KEY_FOR_FEDERATION || secrets.ATLAS_PUBLIC_KEY_PUBLISHING }} |
32 | | - MONGODB_ATLAS_PRIVATE_KEY: ${{ github.event.inputs.resourceName=='organization' && secrets.ATLAS_PRIVATE_KEY || github.event.inputs.resourceName=='resource-policy' && secrets.MONGODB_ATLAS_RP_PRIVATE_KEY_QA || github.event.inputs.resourceName=='federated-settings-org-role-mapping' && secrets.ATLAS_PRIVATE_KEY_FOR_FEDERATION || secrets.ATLAS_PRIVATE_KEY_PUBLISHING }} |
33 | | - MONGODB_ATLAS_PROFILE: ${{ github.event.inputs.resourceName=='organization' && 'cfn-publish-organization-profile' || github.event.inputs.resourceName=='resource-policy' && 'qa-resource-policy-cloud-profile' || 'default' }} |
34 | | - strategy: |
35 | | - fail-fast: false |
36 | | - max-parallel: ${{ fromJSON(github.event.inputs.maxParallelRegions) }} |
37 | | - matrix: |
38 | | - region: ${{ fromJSON(github.event.inputs.regions) }} |
39 | | - name: publish-${{ matrix.region }} |
40 | | - runs-on: ubuntu-latest |
41 | | - steps: |
42 | | - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 |
43 | | - - uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 |
44 | | - with: |
45 | | - go-version-file: 'cfn-resources/go.mod' |
46 | | - - name: setup Atlas CLI |
47 | | - uses: mongodb/atlas-github-action@15663d068c40a8582d881560961fce9d45e0df9a |
48 | | - - uses: aws-actions/setup-sam@819220f63fb333a9a394dd0a5cab2d8303fd17e2 |
49 | | - with: |
50 | | - use-installer: true |
51 | | - - uses: aws-actions/configure-aws-credentials@b47578312673ae6fa5b5096b330d9fbac3d116df |
52 | | - with: |
53 | | - aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID_PUBLISHING }} |
54 | | - aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY_PUBLISHING }} |
55 | | - aws-region: ${{ matrix.region }} |
56 | | - - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 |
57 | | - with: |
58 | | - python-version: '3.9' |
59 | | - cache: 'pip' # caching pip dependencies |
60 | | - - name: Install AWS CLI & tools |
61 | | - run: | |
62 | | - sudo apt-get update |
63 | | - sudo apt-get install -y python3-pip |
64 | | - pip install awscli cloudformation-cli cloudformation-cli-go-plugin |
65 | | - - name: Run publishing script |
66 | | - run: 'cd cfn-resources && ./cfn-publish.sh "${{ github.event.inputs.resourceName }}"' |
67 | | - env: |
68 | | - RESOURCE_VERSION_PUBLISHING: ${{ github.event.inputs.resourceVersionPublishing }} |
69 | | - MCLI_OPS_MANAGER_URL: ${{ env.MONGODB_ATLAS_BASE_URL }} |
70 | | - MCLI_OUTPUT: ${{ env.MONGODB_ATLAS_OUTPUT }} |
71 | | - MCLI_ORG_ID: ${{ env.MONGODB_ATLAS_ORG_ID }} |
72 | | - MCLI_PUBLIC_API_KEY: ${{ env.MONGODB_ATLAS_PUBLIC_KEY }} |
73 | | - MCLI_PRIVATE_API_KEY: ${{ env.MONGODB_ATLAS_PRIVATE_KEY }} |
74 | | - AWS_DEFAULT_REGION: ${{ matrix.region }} |
75 | | - AWS_ACCOUNT_ID: ${{ secrets.AWS_ACCOUNT_ID_PUBLISHING}} |
76 | | - MONGODB_ATLAS_ORG_OWNER_ID: ${{ github.event.inputs.resourceName=='organization' && secrets.ATLAS_ORG_OWNER_ID || secrets.ATLAS_ORG_OWNER_ID_PUBLISHING }} |
77 | | - ATLAS_FEDERATED_SETTINGS_ID: ${{ secrets.ATLAS_FEDERATED_SETTINGS_ID_PUBLISHING }} |
78 | | - MONGODB_ATLAS_PROFILE: ${{ env.MONGODB_ATLAS_PROFILE }} |
79 | | - |
80 | | - # LDAP config |
81 | | - LDAP_HOST_NAME: ${{ secrets.LDAP_HOST_NAME_PUBLISHING }} |
82 | | - LDAP_BIND_USER_NAME: ${{ secrets.LDAP_BIND_USER_NAME_PUBLISHING }} |
83 | | - LDAP_BIND_PASSWORD: ${{ secrets.LDAP_BIND_PASSWORD_PUBLISHING }} |
84 | | - |
85 | | - # Third-party integration config |
86 | | - WEBHOOK_CREATE_URL: ${{ secrets.WEBHOOK_CREATE_URL_PUBLISHING }} |
87 | | - WEBHOOK_UPDATE_URL: ${{ secrets.WEBHOOK_UPDATE_URL_PUBLISHING }} |
88 | | - WEBHOOK_UPDATE_SECRET: ${{ secrets.WEBHOOK_UPDATE_SECRET_PUBLISHING }} |
89 | | - PROMETHEUS_USER_NAME: ${{ secrets.PROMETHEUS_USER_NAME_PUBLISHING }} |
90 | | - PROMETHEUS_PASSWORD_NAME: ${{ secrets.PROMETHEUS_PASSWORD_NAME_PUBLISHING }} |
91 | | - PAGER_DUTY_CREATE_SERVICE_KEY: ${{ secrets.PAGER_DUTY_CREATE_SERVICE_KEY_PUBLISHING }} |
92 | | - PAGER_DUTY_UPDATE_SERVICE_KEY: ${{ secrets.PAGER_DUTY_UPDATE_SERVICE_KEY_PUBLISHING }} |
93 | | - DATA_DOG_CREATE_API_KEY: ${{ secrets.DATA_DOG_CREATE_API_KEY_PUBLISHING }} |
94 | | - DATA_DOG_UPDATE_API_KEY: ${{ secrets.DATA_DOG_UPDATE_API_KEY_PUBLISHING }} |
95 | | - OPS_GENIE_API_KEY: ${{ secrets.OPS_GENIE_API_KEY_PUBLISHING }} |
96 | | - MICROSOFT_TEAMS_WEBHOOK_CREATE_URL: ${{ secrets.MICROSOFT_TEAMS_WEBHOOK_CREATE_URL_PUBLISHING }} |
97 | | - MICROSOFT_TEAMS_WEBHOOK_UPDATE_URL: ${{ secrets.MICROSOFT_TEAMS_WEBHOOK_UPDATE_URL_PUBLISHING }} |
98 | | - |
99 | 25 | compliance: |
100 | | - needs: publish |
101 | 26 | runs-on: ubuntu-latest |
102 | 27 | steps: |
103 | 28 | - name: terraform-provider-mongodbatlas-checkout |
104 | 29 | uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 |
105 | 30 | with: |
106 | 31 | repository: mongodb/terraform-provider-mongodbatlas |
107 | | - ref: make-run-script-gha-reusable |
| 32 | + ref: make-run-script-gha-reusable # TODO: change master |
108 | 33 | - name: Generate SSDLC report |
109 | 34 | uses: ./.github/templates/run-script-and-commit |
110 | 35 | with: |
|
114 | 39 | remote: https://svc-apix-bot:${{ secrets.APIX_BOT_PAT }}@github.com/${{ github.repository }} |
115 | 40 | gpg_private_key: ${{ secrets.APIX_BOT_GPG_PRIVATE_KEY }} |
116 | 41 | passphrase: ${{ secrets.APIX_BOT_PASSPHRASE }} |
117 | | - |
118 | 42 | file_to_commit: 'cfn-resources/${{ github.event.inputs.resourceName }}/compliance/v*/*' |
119 | 43 | commit_message: |
120 | 44 | "chore: Update SSDLC report for ${{ github.event.inputs.resourceVersionPublishing }}" |
|
0 commit comments