Skip to content

Commit f4fafe7

Browse files
author
sivaram-mongodb
committed
Merge branch 'master' of github.com-mongodb:mongodb/mongodbatlas-cloudformation-resources into CLOUDP-372605-encryption-at-rest
2 parents 25bd5f8 + 9899afc commit f4fafe7

32 files changed

Lines changed: 619 additions & 84 deletions

.github/workflows/contract-testing.yaml

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ jobs:
1818
backup-compliance-policy: ${{ steps.filter.outputs.backup-compliance-policy }}
1919
cloud-backup-restore-jobs: ${{ steps.filter.outputs.cloud-backup-restore-jobs }}
2020
cluster-outage-simulation: ${{ steps.filter.outputs.cluster-outage-simulation }}
21+
database-user: ${{ steps.filter.outputs.database-user }}
2122
encryption-at-rest: ${{ steps.filter.outputs.encryption-at-rest }}
2223
federated-database-instance: ${{ steps.filter.outputs.federated-database-instance }}
2324
federated-query-limit: ${{ steps.filter.outputs.federated-query-limit }}
@@ -36,6 +37,7 @@ jobs:
3637
stream-instance: ${{ steps.filter.outputs.stream-instance }}
3738
stream-processor: ${{ steps.filter.outputs.stream-processor }}
3839
stream-workspace: ${{ steps.filter.outputs.stream-workspace }}
40+
third-party-integration: ${{ steps.filter.outputs.third-party-integration }}
3941
steps:
4042
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
4143
if: ${{ github.event_name == 'push' }}
@@ -57,6 +59,8 @@ jobs:
5759
- 'cfn-resources/cloud-backup-restore-jobs/**'
5860
cluster-outage-simulation:
5961
- 'cfn-resources/cluster-outage-simulation/**'
62+
database-user:
63+
- 'cfn-resources/database-user/**'
6064
encryption-at-rest:
6165
- 'cfn-resources/encryption-at-rest/**'
6266
federated-database-instance:
@@ -93,6 +97,8 @@ jobs:
9397
- 'cfn-resources/stream-processor/**'
9498
stream-workspace:
9599
- 'cfn-resources/stream-workspace/**'
100+
third-party-integration:
101+
- 'cfn-resources/third-party-integration/**'
96102
access-list-api-key:
97103
needs: change-detection
98104
if: ${{ needs.change-detection.outputs.access-list-api-key == 'true' }}
@@ -376,6 +382,46 @@ jobs:
376382
377383
cat inputs/inputs_1_create.json
378384
385+
make run-contract-testing
386+
make delete-test-resources
387+
database-user:
388+
needs: change-detection
389+
if: ${{ needs.change-detection.outputs.database-user == 'true' }}
390+
runs-on: ubuntu-latest
391+
steps:
392+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
393+
- uses: actions/setup-go@7a3fe6cf4cb3a834922a1244abfce67bcef6a0c5
394+
with:
395+
go-version-file: 'cfn-resources/go.mod'
396+
- name: setup Atlas CLI
397+
uses: mongodb/atlas-github-action@e3c9e0204659bafbb3b65e1eb1ee745cca0e9f3b
398+
- uses: aws-actions/setup-sam@c2a20b1822cc4a6bc594ff7f1dbb658758e383c3
399+
with:
400+
use-installer: true
401+
- uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708
402+
with:
403+
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID_TEST_ENV }}
404+
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY_TEST_ENV }}
405+
aws-region: eu-west-1
406+
- uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548
407+
with:
408+
python-version: '3.9'
409+
cache: 'pip' # caching pip dependencies
410+
- run: pip install cloudformation-cli cloudformation-cli-go-plugin
411+
- name: Run the Contract test
412+
shell: bash
413+
env:
414+
MONGODB_ATLAS_PUBLIC_API_KEY: ${{ secrets.CLOUD_DEV_PUBLIC_KEY }}
415+
MONGODB_ATLAS_PRIVATE_API_KEY: ${{ secrets.CLOUD_DEV_PRIVATE_KEY }}
416+
MONGODB_ATLAS_ORG_ID: ${{ secrets.CLOUD_DEV_ORG_ID }}
417+
MONGODB_ATLAS_OPS_MANAGER_URL: ${{ vars.MONGODB_ATLAS_BASE_URL }}
418+
MONGODB_ATLAS_PROFILE: cfn-cloud-dev-github-action
419+
run: |
420+
pushd cfn-resources/database-user
421+
make create-test-resources
422+
423+
cat inputs/*
424+
379425
make run-contract-testing
380426
make delete-test-resources
381427
encryption-at-rest:
@@ -1117,5 +1163,57 @@ jobs:
11171163
cat inputs/inputs_1_create.json
11181164
cat inputs/inputs_1_update.json
11191165
1166+
make run-contract-testing
1167+
make delete-test-resources
1168+
third-party-integration:
1169+
needs: change-detection
1170+
if: ${{ needs.change-detection.outputs.third-party-integration == 'true' }}
1171+
runs-on: ubuntu-latest
1172+
steps:
1173+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
1174+
- uses: actions/setup-go@7a3fe6cf4cb3a834922a1244abfce67bcef6a0c5
1175+
with:
1176+
go-version-file: 'cfn-resources/go.mod'
1177+
- name: setup Atlas CLI
1178+
uses: mongodb/atlas-github-action@e3c9e0204659bafbb3b65e1eb1ee745cca0e9f3b
1179+
- uses: aws-actions/setup-sam@c2a20b1822cc4a6bc594ff7f1dbb658758e383c3
1180+
with:
1181+
use-installer: true
1182+
- uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708
1183+
with:
1184+
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID_TEST_ENV }}
1185+
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY_TEST_ENV }}
1186+
aws-region: eu-west-1
1187+
- uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548
1188+
with:
1189+
python-version: '3.9'
1190+
cache: 'pip' # caching pip dependencies
1191+
- run: pip install cloudformation-cli cloudformation-cli-go-plugin
1192+
- name: Run the Contract test
1193+
shell: bash
1194+
env:
1195+
MONGODB_ATLAS_PUBLIC_API_KEY: ${{ secrets.CLOUD_DEV_PUBLIC_KEY }}
1196+
MONGODB_ATLAS_PRIVATE_API_KEY: ${{ secrets.CLOUD_DEV_PRIVATE_KEY }}
1197+
MONGODB_ATLAS_ORG_ID: ${{ secrets.CLOUD_DEV_ORG_ID }}
1198+
MONGODB_ATLAS_OPS_MANAGER_URL: ${{ vars.MONGODB_ATLAS_BASE_URL }}
1199+
MONGODB_ATLAS_PROFILE: cfn-cloud-dev-github-action
1200+
WEBHOOK_CREATE_URL: ${{ vars.WEBHOOK_CREATE_URL }}
1201+
WEBHOOK_UPDATE_URL: ${{ vars.WEBHOOK_UPDATE_URL }}
1202+
WEBHOOK_UPDATE_SECRET: ${{ vars.WEBHOOK_UPDATE_SECRET }}
1203+
PROMETHEUS_USER_NAME: ${{ vars.PROMETHEUS_USER_NAME }}
1204+
PROMETHEUS_PASSWORD_NAME: ${{ vars.PROMETHEUS_PASSWORD_NAME }}
1205+
PAGER_DUTY_CREATE_SERVICE_KEY: ${{ vars.PAGER_DUTY_CREATE_SERVICE_KEY }}
1206+
PAGER_DUTY_UPDATE_SERVICE_KEY: ${{ vars.PAGER_DUTY_UPDATE_SERVICE_KEY }}
1207+
DATA_DOG_CREATE_API_KEY: ${{ vars.DATA_DOG_CREATE_API_KEY }}
1208+
DATA_DOG_UPDATE_API_KEY: ${{ vars.DATA_DOG_UPDATE_API_KEY }}
1209+
OPS_GENIE_API_KEY: ${{ vars.OPS_GENIE_API_KEY }}
1210+
MICROSOFT_TEAMS_WEBHOOK_CREATE_URL: ${{ vars.MICROSOFT_TEAMS_WEBHOOK_CREATE_URL }}
1211+
MICROSOFT_TEAMS_WEBHOOK_UPDATE_URL: ${{ vars.MICROSOFT_TEAMS_WEBHOOK_UPDATE_URL }}
1212+
run: |
1213+
cd cfn-resources/third-party-integration
1214+
make create-test-resources
1215+
1216+
cat inputs/*
1217+
11201218
make run-contract-testing
11211219
make delete-test-resources

cfn-resources/alert-configuration/cmd/resource/model.go

Lines changed: 15 additions & 12 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)