diff --git a/.github/workflows/aws-tests.yml b/.github/workflows/aws-tests.yml deleted file mode 100644 index 96bf392..0000000 --- a/.github/workflows/aws-tests.yml +++ /dev/null @@ -1,346 +0,0 @@ -name: AWS Test Harness - -on: - workflow_call: - inputs: - test_name: - description: |- - The name for this test run. eg: 'Public Active/Active' - required: true - type: string - utility_test: - description: "Is this test run being executed from the utility repo?" - type: boolean - required: false - default: false - is_replicated_deployment: - description: "Is this test scenario using Replicated to deploy TFE?" - type: boolean - required: true - default: false - first_apply_args: - description: "Terraform arguments for the first apply operation." - required: false - type: string - default: '' - module_repository_id: - description: |- - For utility module tests, what is the source module repo for this test? - eg: hashicorp/terraform-aws-terraform-enterprise - required: true - type: string - pull_request_repo_name: - description: |- - The name of the initiating pull request repo. - required: true - type: string - pull_request_ref: - description: |- - The ref of the pull request initiating this action. This is relevent - to both utility module changes and non-utility module changes. - required: true - type: string - pull_request_comment_id: - description: |- - The ref of the pull request comment initiating this action. This is - relevent to both utility module changes and non-utility module changes. - required: true - type: string - work_dir: - description: "The directory in which tests are executed" - required: true - type: string - k6_work_dir: - description: "The directory in which k6 is installed" - required: true - type: string - TFC_token_secret_name: - description: |- - The id of the github secret that contains the TFC token for the tfc - workspace for this test. - required: true - type: string - TFC_workspace_substitution_pattern: - description: |- - The sed supstitution pattern used to retarget this test to another TFC - workspace. This is used primarily in testing the utility modules. - eg: s/aws-public-active-active/utility-aws-public-active-active/ - required: false - type: string - default: "" - ssh_private_key_secret_name: - description: |- - The github secret name for a Base64 encoded private certificate used - to authenticate into and proxy tests from the TFE instance. - required: false - default: "" - type: string - aws_access_key_id: - description: |- - The access key ID of the AWS credentials used to authenticate into - and proxy tests from the TFE instance. - required: false - type: string - aws_secret_access_key: - description: |- - The secret access key of the AWS credentials used to authenticate - into and proxy tests from the TFE instance. - required: false - type: string - aws_role_to_assume: - description: |- - The role to assume for the AWS credentials used to authenticate - into and proxy tests from the TFE instance. - required: false - type: string - -jobs: - execute_aws_tests: - name: ${{ inputs.is_replicated_deployment && 'Replicated' || 'FDO' }} - runs-on: ubuntu-latest - permissions: - contents: read - pull-requests: write - env: - WORK_DIR_PATH: ${{ inputs.work_dir }} - K6_WORK_DIR_PATH: ${{ inputs.k6_work_dir }} - steps: - - name: Create URL to the run output - id: vars - run: echo ::set-output name=run-url::https://github.com/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID - - # Module Checkout - # If this is not a utility module test, check out the pull request under - # test in the module repo. - - name: Checkout - if: ${{ ! inputs.utility_test }} - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 - with: - repository: ${{ github.event.client_payload.pull_request.head.repo.full_name }} - ref: ${{ github.event.client_payload.pull_request.head.sha }} - token: ${{ secrets.GITHUB_TOKEN }} - persist-credentials: false - - # If this is a utility test then checkout out the module source and patch - # the configuration to target the appropriate TFC workspace. - - name: Checkout - if: ${{ inputs.utility_test }} - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 - with: - repository: ${{inputs.module_repository_id}} - - - name: Update Terraform Backend to TFC Workspace for Utility Module - working-directory: ${{ env.WORK_DIR_PATH }} - run: | - sed --in-place '${{ inputs.TFC_workspace_substitution_pattern }}' versions.tf - - - name: Set Terraform Utility Module Sources - if: ${{ inputs.utility_test }} - working-directory: ${{ env.WORK_DIR_PATH }} - env: - SHA: ${{ inputs.pull_request_ref }} - run: | - sed --in-place "s/?ref=main/?ref=$SHA/" ../../main.tf - sed --in-place "s/?ref=main/?ref=$SHA/" ../../fixtures/test_proxy/main.tf - - - name: Checkout TFE Load Test - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 - with: - path: ${{ env.K6_WORK_DIR_PATH }} - repository: hashicorp/tfe-load-test - token: ${{ secrets.GH_TFE_LOAD_TEST_TOKEN }} - persist-credentials: false - - - name: Install required tools - working-directory: ${{ env.K6_WORK_DIR_PATH }} - env: - K6_URL: https://github.com/loadimpact/k6/releases/download/v0.31.1/k6-v0.31.1-linux64.tar.gz - run: | - sudo apt-get install jq - curl -L $K6_URL | tar -xz --strip-components=1 - - - name: Setup Terraform - uses: hashicorp/setup-terraform@v3 - with: - cli_config_credentials_hostname: 'app.terraform.io' - cli_config_credentials_token: ${{ secrets[inputs.TFC_token_secret_name] }} - terraform_version: 1.1.5 - terraform_wrapper: false - - - name: Write Private SSH Key - if: ${{ inputs.ssh_private_key_secret_name != '' }} - working-directory: ${{ env.WORK_DIR_PATH }} - env: - SSH_KEY_BASE64: ${{ secrets[inputs.ssh_private_key_secret_name] }} - run: | - echo "$SSH_KEY_BASE64" | base64 --decode > ./ssh-key.pem - chmod 0400 ./ssh-key.pem - - - name: Terraform Init - id: init - working-directory: ${{ env.WORK_DIR_PATH }} - run: terraform init -input=false -no-color - - - name: Terraform Validate - id: validate - working-directory: ${{ env.WORK_DIR_PATH }} - run: terraform validate -no-color - - - name: Write GitHub Actions runner CIDR to Terraform Variables - working-directory: ${{ env.WORK_DIR_PATH }} - run: | - echo "is_replicated_deployment = ${{ inputs.is_replicated_deployment }}" >> github.auto.tfvars - - - name: Terraform Targeted Pre-Apply - if: ${{ inputs.first_apply_args != '' }} - id: pre-apply - working-directory: ${{ env.WORK_DIR_PATH}} - run: | - terraform apply ${{ inputs.first_apply_args }} --auto-approve - sleep 180 - - - name: Terraform Apply - id: apply - working-directory: ${{ env.WORK_DIR_PATH }} - run: terraform apply -auto-approve -input=false -no-color - - - name: Retrieve Health Check URL - id: retrieve-health-check-url - working-directory: ${{ env.WORK_DIR_PATH }} - run: echo "HEALTH_CHECK_URL=$(terraform output -no-color -raw health_check_url)" >> $GITHUB_ENV - - - name: Retrieve Instance ID - if: ${{ inputs.ssh_private_key_secret_name != '' }} - id: retrieve-instance-id - working-directory: ${{ env.WORK_DIR_PATH }} - run: echo "INSTANCE_ID=$(terraform output -no-color -raw proxy_instance_id)" >> $GITHUB_ENV - - - name: Configure AWS Credentials - if: ${{ inputs.ssh_private_key_secret_name != '' }} - uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2 - with: - aws-access-key-id: ${{ secrets[inputs.aws_access_key_id] }} - aws-secret-access-key: ${{ secrets[inputs.aws_secret_access_key] }} - aws-region: us-east-2 - role-to-assume: ${{ secrets[inputs.aws_role_to_assume] }} - role-duration-seconds: 2400 - role-skip-session-tagging: true - - - name: Start SOCKS5 Proxy - if: ${{ inputs.ssh_private_key_secret_name != '' }} - working-directory: ${{ env.WORK_DIR_PATH }} - run: | - aws ec2 wait instance-status-ok --instance-ids "$INSTANCE_ID" - ssh \ - -o 'BatchMode yes' \ - -o 'StrictHostKeyChecking accept-new' \ - -o 'ServerAliveInterval 5' \ - -o 'ServerAliveCountMax 3' \ - -o 'ProxyCommand sh -c \ - "aws ssm start-session \ - --target %h \ - --document-name AWS-StartSSHSession \ - --parameters \"portNumber=%p\""' \ - -i ./ssh-key.pem \ - -f -N -p 22 -D localhost:5000 \ - ubuntu@"$INSTANCE_ID" - - - name: Check for Proxy - run: echo "USE_PROXY=${{ inputs.ssh_private_key_secret_name != '' && '--proxy socks5://localhost:5000' || '' }}" >> $GITHUB_ENV - - - name: Wait For TFE - timeout-minutes: 20 - run: | - echo "health_check_endpoint: $HEALTH_CHECK_URL" - echo "Curling \`health_check_url\` for a return status of 200..." - while ! curl \ - --connect-timeout 10 \ - -sfS --max-time 5 \ - $USE_PROXY \ - $HEALTH_CHECK_URL; \ - do sleep 5; done - - - name: Retrieve TFE URL - working-directory: ${{ env.WORK_DIR_PATH }} - run: echo "TFE_URL=$(terraform output -no-color -raw tfe_url)" >> $GITHUB_ENV - - - name: Retrieve IACT - run: | - expiration=$(( $( date '+%s' ) + 90 )) - sleep_duration=60 - until token=$(curl --fail --retry 10 \ - --connect-timeout 10 \ - $USE_PROXY "$TFE_URL/admin/retrieve-iact") - do - if [ "$( date '+%s' )" -gt "${expiration}" ] - then - echo -e "\nFailed to retrieve IACT token" - exit 1 - fi - echo "Sleeping for ${sleep_duration} seconds and retrying retrieval of IACT token." - sleep "${sleep_duration}" - done - echo "IACT_TOKEN=$token" >> $GITHUB_ENV - - - name: Create Admin in TFE - env: - TFE_PASSWORD: ${{ secrets.TFE_PASSWORD }} - run: | - echo \ - '{"username": "test", "email": "team-tf-enterprise@hashicorp.com", "password": "$TFE_PASSWORD"}' \ - > ./payload.json - response=$( \ - curl \ - --connect-timeout 10 \ - --fail \ - --retry 5 \ - --header 'Content-Type: application/json' \ - --data @./payload.json \ - $USE_PROXY \ - "$TFE_URL/admin/initial-admin-user"?token="$IACT_TOKEN") - echo "RESPONSE=$response" >> $GITHUB_ENV - - - name: Retrieve Admin Token - run: | - token=$(echo "$RESPONSE" | jq --raw-output '.token') - echo "TFE_API_TOKEN=$token" >> $GITHUB_ENV - - - name: Run k6 Smoke Test - id: run-smoke-test - working-directory: ${{ env.K6_WORK_DIR_PATH }} - env: - K6_PATHNAME: "./k6" - TFE_EMAIL: team-tf-enterprise@hashicorp.com - http_proxy: ${{ inputs.ssh_private_key_secret_name != '' && 'socks5://localhost:5000/' || '' }} - https_proxy: ${{ inputs.ssh_private_key_secret_name != '' && 'socks5://localhost:5000/' || '' }} - run: | - echo "http_proxy: $http_proxy" - make smoke-test - - - name: Terraform Destroy - id: destroy - if: ${{ always() && github.event.client_payload.slash_command.args.named.destroy != 'false' }} - working-directory: ${{ env.WORK_DIR_PATH }} - run: terraform destroy -auto-approve -input=false -no-color - - - name: Update comment - if: ${{ always() }} - uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0 - with: - token: ${{ secrets.GITHUB_TOKEN }} - repository: ${{ inputs.pull_request_repo_name }} - comment-id: ${{ inputs.pull_request_comment_id }} - body: | - ${{ format('### {0} Terraform AWS {1} ({2}) - Test Report', job.status == 'success' && ':white_check_mark:' || ':x:', inputs.test_name, inputs.is_replicated_deployment && 'Legacy' || 'FDO') }} - - ${{ format(':link: [Action Summary Page]({0})', steps.vars.outputs.run-url) }} - - ${{ format('- {0} Terraform Init', steps.init.outcome == 'success' && ':white_check_mark:' || ':x:') }} - - ${{ format('- {0} Terraform Validate', steps.validate.outcome == 'success' && ':white_check_mark:' || ':x:') }} - - ${{ format('- {0} Terraform Apply', steps.apply.outcome == 'success' && ':white_check_mark:' || ':x:') }} - - ${{ format('- {0} Run k6 Smoke Test', steps.run-smoke-test.outcome == 'success' && ':white_check_mark:' || ':x:') }} - - ${{ github.event.client_payload.slash_command.args.named.destroy != 'false' && format('- {0} Terraform Destroy', steps.destroy.outcome == 'success' && ':white_check_mark:' || ':x:') || '' }} diff --git a/.github/workflows/azure-tests.yml b/.github/workflows/azure-tests.yml deleted file mode 100644 index 5d0d46e..0000000 --- a/.github/workflows/azure-tests.yml +++ /dev/null @@ -1,228 +0,0 @@ -name: Azure Test Harness - -on: - workflow_call: - inputs: - # Configuration Flags - test_name: - description: |- - The name for this test run. eg: 'Public Active/Active' - required: true - type: string - utility_test: - description: "Is this test run being executed from the utility repo?" - type: boolean - required: false - default: false - is_replicated_deployment: - description: "Is this test scenario using Replicated to deploy TFE?" - type: boolean - required: true - default: false - - # Pull Request / Repo Identifiers - module_repository_id: - description: |- - For utility module tests, what is the source module repo for this test? - eg: hashicorp/terraform-aws-terraform-enterprise - required: true - type: string - pull_request_repo_name: - description: |- - The name of the initiating pull request repo. - required: true - type: string - pull_request_ref: - description: |- - The ref of the pull request initiating this action. This is relevent - to both utility module changes and non-utility module changes. - required: true - type: string - pull_request_comment_id: - description: |- - The ref of the pull request comment initiating this action. This is - relevent to both utility module changes and non-utility module changes. - required: true - type: string - - # General Job Configuration - work_dir: - description: "The directory in which tests are executed" - required: true - type: string - k6_work_dir: - description: "The directory in which k6 is installed" - required: true - type: string - - # TFC Workspace Configuration - TFC_token_secret_name: - description: |- - The id of the github secret that contains the TFC token for the tfc - workspace for this test. - required: true - type: string - - TFC_workspace_substitution_pattern: - description: |- - The sed supstitution pattern used to retarget this test to another TFC - workspace. This is used primarily in testing the utility modules. - eg: s/aws-public-active-active/utility-aws-public-active-active/ - required: false - type: string - default: "" - - # Target system SSH configuration - bastion_ssh_private_key_secret_name: - description: |- - The github secret name for a Base64 encoded private certificate used - to authenticate into and proxy tests from the bastion vm instance. - required: false - default: "" - type: string - -jobs: - execute_azure_tests: - name: ${{ inputs.is_replicated_deployment && 'Replicated' || 'FDO' }} - runs-on: ubuntu-latest - permissions: - contents: read - pull-requests: write - env: - WORK_DIR_PATH: ${{ inputs.work_dir }} - K6_WORK_DIR_PATH: ${{ inputs.k6_work_dir }} - steps: - - name: Create URL to the run output - id: vars - run: echo ::set-output name=run-url::https://github.com/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID - - # Module Checkout # - # If this is not a utility module test, check out the pull request under - # test in the module repo. - - name: Checkout - if: ${{ ! inputs.utility_test }} - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 - with: - repository: ${{ github.event.client_payload.pull_request.head.repo.full_name }} - ref: ${{ github.event.client_payload.pull_request.head.sha }} - token: ${{ secrets.GITHUB_TOKEN }} - persist-credentials: false - - # If this is a utility test then checkout out the module source and patch - # the configuration to target the appropriate TFC workspace. - - name: Checkout - if: ${{ inputs.utility_test }} - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 - with: - repository: ${{inputs.module_repository_id}} - - - name: Update Terraform Backend to TFC Workspace for Utility Module - working-directory: ${{ env.WORK_DIR_PATH }} - run: | - sed --in-place '${{ inputs.TFC_workspace_substitution_pattern }}' versions.tf - - - name: Set Terraform Utility Module Sources - if: ${{ inputs.utility_test }} - working-directory: ${{ env.WORK_DIR_PATH }} - env: - SHA: ${{ inputs.pull_request_ref }} - run: | - sed --in-place "s/?ref=main/?ref=$SHA/" ../../main.tf - sed --in-place "s/?ref=main/?ref=$SHA/" ../../fixtures/test_proxy/main.tf - - - name: Checkout TFE Load Test - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 - with: - path: ${{ env.K6_WORK_DIR_PATH }} - repository: hashicorp/tfe-load-test - token: ${{ secrets.GH_TFE_LOAD_TEST_TOKEN }} - persist-credentials: false - - - name: Install required tools - working-directory: ${{ env.K6_WORK_DIR_PATH }} - env: - K6_URL: https://github.com/loadimpact/k6/releases/download/v0.31.1/k6-v0.31.1-linux64.tar.gz - run: | - sudo apt-get install jq - curl -L $K6_URL | tar -xz --strip-components=1 - - - name: Setup Terraform - uses: hashicorp/setup-terraform@v3 - with: - cli_config_credentials_hostname: 'app.terraform.io' - cli_config_credentials_token: ${{ secrets[inputs.TFC_token_secret_name] }} - terraform_version: 1.1.5 - terraform_wrapper: false - - - name: Write Private SSH Key - if: ${{ inputs.bastion_ssh_private_key_secret_name != '' }} - working-directory: ${{ env.WORK_DIR_PATH }} - env: - SSH_KEY_BASE64: ${{ secrets[inputs.bastion_ssh_private_key_secret_name] }} - run: | - echo "$SSH_KEY_BASE64" | base64 --decode > ./ssh-key.pem - chmod 0400 ./ssh-key.pem - - - name: Terraform Init - id: init - working-directory: ${{ env.WORK_DIR_PATH }} - run: terraform init -input=false -no-color - - - name: Terraform Validate - id: validate - working-directory: ${{ env.WORK_DIR_PATH }} - run: terraform validate -no-color - - - name: Write GitHub Actions runner CIDR to Terraform Variables - working-directory: ${{ env.WORK_DIR_PATH }} - run: | - echo "network_allow_range = \"$( dig +short @resolver1.opendns.com myip.opendns.com )/32\"" > github.auto.tfvars - echo "iact_subnet_list = [\"$( dig +short @resolver1.opendns.com myip.opendns.com )/32\"]" >> github.auto.tfvars - echo "is_replicated_deployment = ${{ inputs.is_replicated_deployment }}" >> github.auto.tfvars - - - name: Terraform Apply - id: apply - working-directory: ${{ env.WORK_DIR_PATH }} - run: terraform apply -auto-approve -input=false -no-color - - - name: Run k6 Smoke Test - id: run-smoke-test - timeout-minutes: 90 - working-directory: ${{ env.WORK_DIR_PATH }} - run: | - BASTION_CERT_KEY=./ssh-key.pem - if [[ -f "$BASTION_CERT_KEY" ]]; then - echo "$FILE exists. Adding the bastion certificate command to the test runner" - bastion_flag="-b $BASTION_CERT_KEY -l" - fi - command="./run-tests.sh -k ./k6 -t ../../${{ env.K6_WORK_DIR_PATH }} $bastion_flag" - echo $command - eval $command - - - name: Terraform Destroy - id: destroy - if: ${{ always() && github.event.client_payload.slash_command.args.named.destroy != 'false' }} - working-directory: ${{ env.WORK_DIR_PATH }} - run: terraform destroy -auto-approve -input=false -no-color - - - name: Update comment - if: ${{ always() }} - uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0 - with: - token: ${{ secrets.GITHUB_TOKEN }} - repository: ${{ inputs.pull_request_repo_name }} - comment-id: ${{ inputs.pull_request_comment_id }} - body: | - ${{ format('### {0} Terraform Azure {1} ({2}) - Test Report', job.status == 'success' && ':white_check_mark:' || ':x:', inputs.test_name, inputs.is_replicated_deployment && 'Replicated' || 'FDO') }} - - ${{ format(':link: [Action Summary Page]({0})', steps.vars.outputs.run-url) }} - - ${{ format('- {0} Terraform Init', steps.init.outcome == 'success' && ':white_check_mark:' || ':x:') }} - - ${{ format('- {0} Terraform Validate', steps.validate.outcome == 'success' && ':white_check_mark:' || ':x:') }} - - ${{ format('- {0} Terraform Apply', steps.apply.outcome == 'success' && ':white_check_mark:' || ':x:') }} - - ${{ format('- {0} Run k6 Smoke Test', steps.run-smoke-test.outcome == 'success' && ':white_check_mark:' || ':x:') }} - - ${{ github.event.client_payload.slash_command.args.named.destroy != 'false' && format('- {0} Terraform Destroy', steps.destroy.outcome == 'success' && ':white_check_mark:' || ':x:') || '' }} diff --git a/.github/workflows/destroy.yml b/.github/workflows/destroy.yml deleted file mode 100644 index b993a7e..0000000 --- a/.github/workflows/destroy.yml +++ /dev/null @@ -1,153 +0,0 @@ -name: Destroy Test Cloud Resources - -on: - workflow_call: - inputs: - # Configuration Flags - cloud: - description: "The cloud in which this test scenario runs." - required: true - type: string - test_name: - description: |- - The name for this test run. eg: 'Public Active/Active' - required: true - type: string - utility_test: - description: "Is this test run being executed from the utility repo?" - type: boolean - required: false - default: false - is_replicated_deployment: - description: "Is this test scenario using Replicated to deploy TFE?" - type: boolean - required: true - default: false - - # Pull Request / Repo Identifiers - module_repository_id: - description: |- - For utility module tests, what is the source module repo for this test? - eg: hashicorp/terraform-aws-terraform-enterprise - required: true - type: string - pull_request_repo_name: - description: |- - The name of the initiating pull request repo. - required: true - type: string - pull_request_ref: - description: |- - The ref of the pull request initiating this action. This is relevent - to both utility module changes and non-utility module changes. - required: true - type: string - pull_request_comment_id: - description: |- - The ref of the pull request comment initiating this action. This is - relevent to both utility module changes and non-utility module changes. - required: true - type: string - - # General Job Configuration - work_dir: - description: "The directory in which tests are executed" - required: true - type: string - - # TFC Workspace Configuration - TFC_token_secret_name: - description: |- - The id of the github secret that contains the TFC token for the tfc - workspace for this test. - required: true - type: string - - TFC_workspace_substitution_pattern: - description: |- - The sed supstitution pattern used to retarget this test to another TFC - workspace. This is used primarily in testing the utility modules. - eg: s/aws-public-active-active/utility-aws-public-active-active/ - required: false - type: string - default: "" - -jobs: - destroy_test_infrastructure: - name: ${{ inputs.is_replicated_deployment && 'Replicated' || 'FDO' }} - runs-on: ubuntu-latest - permissions: - contents: read - pull-requests: write - env: - WORK_DIR_PATH: ${{ inputs.work_dir }} - steps: - - name: Create URL to the run output - id: vars - run: echo ::set-output name=run-url::https://github.com/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID - - # If this is not a utility module test, check out the pull request under - # test in the module repo. - - name: Checkout - if: ${{ ! inputs.utility_test }} - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 - with: - repository: ${{ github.event.client_payload.pull_request.head.repo.full_name }} - ref: ${{ github.event.client_payload.pull_request.head.sha }} - token: ${{ secrets.GITHUB_TOKEN }} - persist-credentials: false - - # If this is a utility test then checkout out the module source and patch - # the configuration to target the appropriate TFC workspace. - - name: Checkout - if: ${{ inputs.utility_test }} - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 - with: - repository: ${{inputs.module_repository_id}} - - - name: Update Terraform Backend to TFC Workspace for Utility Module - working-directory: ${{ env.WORK_DIR_PATH }} - run: | - sed --in-place '${{ inputs.TFC_workspace_substitution_pattern }}' versions.tf - - - name: Set Terraform Utility Module Sources - if: ${{ inputs.utility_test }} - working-directory: ${{ env.WORK_DIR_PATH }} - env: - SHA: ${{ inputs.pull_request_ref }} - run: | - sed --in-place "s/?ref=main/?ref=$SHA/" ../../main.tf - - - name: Setup Terraform - uses: hashicorp/setup-terraform@v3 - with: - cli_config_credentials_hostname: 'app.terraform.io' - cli_config_credentials_token: ${{ secrets[inputs.TFC_token_secret_name] }} - terraform_version: 1.1.5 - terraform_wrapper: false - - - name: Terraform Init - id: init - working-directory: ${{ env.WORK_DIR_PATH }} - run: terraform init -input=false -no-color - - - name: Terraform Destroy - id: destroy - working-directory: ${{ env.WORK_DIR_PATH }} - run: terraform destroy -auto-approve -input=false -no-color - - - name: Update comment - if: ${{ always() }} - uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0 - with: - token: ${{ secrets.GITHUB_TOKEN }} - repository: ${{ inputs.pull_request_repo_name }} - comment-id: ${{ inputs.pull_request_comment_id }} - body: | - ${{ format('### {0} Terraform {1} {2} ({3}) - Destruction Report', job.status == 'success' && ':white_check_mark:' || ':x:', inputs.cloud, inputs.test_name, inputs.is_replicated_deployment && 'Replicated' || 'FDO') }} - - ${{ format(':link: [Action Summary Page]({0})', steps.vars.outputs.run-url) }} - - ${{ format('- {0} Terraform Init', steps.init.outcome == 'success' && ':white_check_mark:' || ':x:') }} - - ${{ format('- {0} Terraform Destroy', steps.destroy.outcome == 'success' && ':white_check_mark:' || ':x:') }} diff --git a/.github/workflows/dispatcher.yml b/.github/workflows/dispatcher.yml deleted file mode 100644 index ccad138..0000000 --- a/.github/workflows/dispatcher.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: Pull Request Dispatcher - -on: - issue_comment: - types: - - created - -jobs: - slash_command_dispatch: - name: Slash Command Dispatcher - runs-on: ubuntu-latest - permissions: - pull-requests: write - steps: - - name: Slash Command Dispatch - uses: peter-evans/slash-command-dispatch@13bc09769d122a64f75aa5037256f6f2d78be8c4 # v4.0.0 - with: - # The `public_repo` scope is required by this token to create repository_dispatch and workflow_dispatch - # events on public repositories. The default GITHUB_TOKEN does not support the `public_repo` scope. - token: ${{ secrets.GH_DISPATCH_TOKEN }} - reaction-token: ${{ secrets.GITHUB_TOKEN }} - commands: | - test - destroy - help - permission: maintain - issue-type: pull-request - event-type-suffix: -command \ No newline at end of file diff --git a/.github/workflows/google-tests.yml b/.github/workflows/google-tests.yml deleted file mode 100644 index b75499d..0000000 --- a/.github/workflows/google-tests.yml +++ /dev/null @@ -1,276 +0,0 @@ -name: Google Test Harness - -on: - workflow_call: - inputs: - test_name: - description: |- - The name for this test run. eg: 'Public Active/Active' - required: true - type: string - utility_test: - description: "Is this test run being executed from the utility repo?" - type: boolean - required: false - default: false - is_replicated_deployment: - description: "Is this test scenario using Replicated to deploy TFE?" - type: boolean - required: true - default: false - enable_iact_subnet_list: - description: "Do you want to enable ssh from GHA agent to TFE?" - type: boolean - required: false - default: false - private_test: - description: "Is this a private or public test?" - type: boolean - required: false - default: false - module_repository_id: - description: |- - For utility module tests, what is the source module repo for this test? - eg: hashicorp/terraform-google-terraform-enterprise - required: true - type: string - pull_request_repo_name: - description: |- - The name of the initiating pull request repo. - required: true - type: string - pull_request_ref: - description: |- - The ref of the pull request initiating this action. This is relevent - to both utility module changes and non-utility module changes. - required: true - type: string - pull_request_comment_id: - description: |- - The ref of the pull request comment initiating this action. This is - relevent to both utility module changes and non-utility module changes. - required: true - type: string - work_dir: - description: "The directory in which tests are executed" - required: true - type: string - k6_work_dir: - description: "The directory in which k6 is installed" - required: true - type: string - TFC_token_secret_name: - description: |- - The id of the github secret that contains the TFC token for the tfc - workspace for this test. - required: true - type: string - TFC_workspace_substitution_pattern: - description: |- - The sed supstitution pattern used to retarget this test to another TFC - workspace. This is used primarily in testing the utility modules. - eg: s/google-public-active-active/utility-google-public-active-active/ - required: false - type: string - default: "" - -env: - GOOGLE_CREDENTIALS: ${{ secrets.GOOGLE_CREDENTIALS }} - GOOGLE_PROJECT: ${{ secrets.GOOGLE_PROJECT }} - GOOGLE_REGION: ${{ secrets.GOOGLE_REGION }} - GOOGLE_ZONE: ${{ secrets.GOOGLE_ZONE }} - -jobs: - execute_google_tests: - name: ${{ inputs.is_replicated_deployment && 'Replicated' || 'FDO' }} - runs-on: ubuntu-latest - permissions: - contents: read - pull-requests: write - env: - WORK_DIR_PATH: ${{ inputs.work_dir }} - K6_WORK_DIR_PATH: ${{ inputs.k6_work_dir }} - steps: - - name: Create URL to the run output - id: vars - run: echo ::set-output name=run-url::https://github.com/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID - - # If this is not a utility module test, check out the pull request under - # test in the module repo. - - name: Checkout - if: ${{ ! inputs.utility_test }} - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 - with: - repository: ${{ github.event.client_payload.pull_request.head.repo.full_name }} - ref: ${{ github.event.client_payload.pull_request.head.sha }} - token: ${{ secrets.GITHUB_TOKEN }} - persist-credentials: false - - # If this is a utility test then checkout out the module source and patch - # the configuration to target the appropriate TFC workspace. - - name: Checkout - if: ${{ inputs.utility_test }} - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 - with: - repository: ${{inputs.module_repository_id}} - - - name: Update Terraform Backend to TFC Workspace for Utility Module - working-directory: ${{ env.WORK_DIR_PATH }} - run: | - sed --in-place '${{ inputs.TFC_workspace_substitution_pattern }}' versions.tf - - - name: Set Terraform Utility Module Sources - if: ${{ inputs.utility_test }} - working-directory: ${{ env.WORK_DIR_PATH }} - env: - SHA: ${{ inputs.pull_request_ref }} - run: | - sed --in-place "s/?ref=main/?ref=$SHA/" ../../main.tf - - - name: Checkout TFE Load Test - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 - with: - path: ${{ env.K6_WORK_DIR_PATH }} - repository: hashicorp/tfe-load-test - token: ${{ secrets.GH_TFE_LOAD_TEST_TOKEN }} - persist-credentials: false - - - name: Install required tools - working-directory: ${{ env.K6_WORK_DIR_PATH }} - env: - K6_URL: https://github.com/loadimpact/k6/releases/download/v0.31.1/k6-v0.31.1-linux64.tar.gz - run: | - sudo apt-get install jq - curl -L $K6_URL | tar -xz --strip-components=1 - - - name: Authenticate to GCP - id: auth - uses: google-github-actions/auth@55bd3a7c6e2ae7cf1877fd1ccb9d54c0503c457c # v2.1.2 - with: - credentials_json: ${{ secrets.GCP_TUNNELING_CREDENTIALS }} - - - name: Set up Cloud SDK - uses: google-github-actions/setup-gcloud@98ddc00a17442e89a24bbf282954a3b65ce6d200 # v2.1.1 - with: - project_id: ${{ secrets.GOOGLE_PROJECT }} - - - name: Increase the TCP upload bandwidth - id: increasing_the_tcp_upload_bandwidth - working-directory: ${{ env.WORK_DIR_PATH }} - run: | - $(gcloud info --format="value(basic.python_location)") -m pip install numpy - export CLOUDSDK_PYTHON_SITEPACKAGES=1 - - - name: Setup Terraform - uses: hashicorp/setup-terraform@v3 - with: - cli_config_credentials_hostname: 'app.terraform.io' - cli_config_credentials_token: ${{ secrets[inputs.TFC_token_secret_name] }} - terraform_version: 1.1.5 - terraform_wrapper: true - - - name: Terraform Init - id: init - working-directory: ${{ env.WORK_DIR_PATH }} - run: terraform init -input=false -no-color - - - name: Terraform Validate - id: validate - working-directory: ${{ env.WORK_DIR_PATH }} - run: terraform validate -no-color - - - name: Write Terraform Variables - working-directory: ${{ env.WORK_DIR_PATH }} - run: | - ip_address=$( dig +short @resolver1.opendns.com myip.opendns.com ) - cat < github.auto.tfvars - ${{ inputs.enable_iact_subnet_list && 'iact_subnet_list = ["$ip_address/32"]' || '' }} - is_replicated_deployment = ${{ inputs.is_replicated_deployment }} - EOF - - - name: Terraform Apply - id: apply - working-directory: ${{ env.WORK_DIR_PATH }} - run: terraform apply -auto-approve -input=false -no-color - - - name: Retrieve Health Check URL - id: retrieve-health-check-url - working-directory: ${{ env.WORK_DIR_PATH }} - run: | - terraform output -no-color -raw health_check_url - - - name: Retrieve Instance Name - Private - id: retrieve-instance-name - if: ${{ inputs.private_test }} - working-directory: ${{ env.WORK_DIR_PATH }} - run: | - terraform output -no-color -raw proxy_instance_name - - - name: Retrieve Instance Zone - Private - if: ${{ inputs.private_test }} - id: retrieve-instance-zone - working-directory: ${{ env.WORK_DIR_PATH }} - run: | - terraform output -no-color -raw proxy_instance_zone - - - name: Retrieve TFE URL - id: retrieve-tfe-url - working-directory: ${{ env.WORK_DIR_PATH }} - run: | - terraform output -no-color -raw tfe_url - - - name: Retrieve IACT URL - id: retrieve-iact-url - working-directory: ${{ env.WORK_DIR_PATH }} - run: | - terraform output -no-color -raw iact_url - - - name: Retrieve Initial Admin User URL - id: retrieve-initial-admin-user-url - working-directory: ${{ env.WORK_DIR_PATH }} - run: | - terraform output -no-color -raw initial_admin_user_url - - - name: Run k6 Smoke Test - id: run-smoke-test - working-directory: ${{ env.WORK_DIR_PATH }} - env: - K6_PATHNAME: "./k6" - TFE_URL: "${{ steps.retrieve-tfe-url.outputs.stdout }}" - HEALTHCHECK_URL: "${{ steps.retrieve-health-check-url.outputs.stdout }}" - PROXY_ZONE: ${{ inputs.private_test && steps.retrieve-instance-zone.outputs.stdout || '' }} - PROXY_INSTANCE: ${{ inputs.private_test && steps.retrieve-instance-name.outputs.stdout || '' }} - IACT_URL: "${{ steps.retrieve-iact-url.outputs.stdout }}" - IAU_URL: "${{ steps.retrieve-initial-admin-user-url.outputs.stdout }}" - run: | - command="bash ./run-tests.sh -k ./k6 -t ../../${{ env.K6_WORK_DIR_PATH }}" - echo $command - eval $command - - - name: Terraform Destroy - id: destroy - if: ${{ always() && github.event.client_payload.slash_command.args.named.destroy != 'false' }} - working-directory: ${{ env.WORK_DIR_PATH }} - run: terraform destroy -auto-approve -input=false -no-color - - - name: Update comment - if: ${{ always() }} - uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0 - with: - token: ${{ secrets.GITHUB_TOKEN }} - repository: ${{ inputs.pull_request_repo_name }} - comment-id: ${{ inputs.pull_request_comment_id }} - body: | - ${{ format('### {0} Terraform Google {1} ({2}) - Test Report', job.status == 'success' && ':white_check_mark:' || ':x:', inputs.test_name, inputs.is_replicated_deployment && 'Legacy' || 'FDO') }} - - ${{ format(':link: [Action Summary Page]({0})', steps.vars.outputs.run-url) }} - - ${{ format('- {0} Terraform Init', steps.init.outcome == 'success' && ':white_check_mark:' || ':x:') }} - - ${{ format('- {0} Terraform Validate', steps.validate.outcome == 'success' && ':white_check_mark:' || ':x:') }} - - ${{ format('- {0} Terraform Apply', steps.apply.outcome == 'success' && ':white_check_mark:' || ':x:') }} - - ${{ format('- {0} Run k6 Smoke Test', steps.run-smoke-test.outcome == 'success' && ':white_check_mark:' || ':x:') }} - - ${{ github.event.client_payload.slash_command.args.named.destroy != 'false' && format('- {0} Terraform Destroy', steps.destroy.outcome == 'success' && ':white_check_mark:' || ':x:') || '' }} diff --git a/.github/workflows/handler-destroy.yml b/.github/workflows/handler-destroy.yml deleted file mode 100644 index 3e832b8..0000000 --- a/.github/workflows/handler-destroy.yml +++ /dev/null @@ -1,619 +0,0 @@ -name: Pull Request Destroy Handler - -on: - repository_dispatch: - types: - - destroy-command - -jobs: - azure_public_active_active: - uses: ./.github/workflows/destroy.yml - secrets: inherit - name: Azure Public Active/Active - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'azure-public-active-active' || github.event.client_payload.slash_command.args.unnamed.all == 'full-azure' }} - with: - cloud: Azure - test_name: Public Active/Active - is_replicated_deployment: false - utility_test: true - module_repository_id: hashicorp/terraform-azurerm-terraform-enterprise - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - work_dir: ./tests/public-active-active - TFC_token_secret_name: UTILITY_AZURE_PUBLIC_ACTIVE_ACTIVE_TFC_TOKEN - TFC_workspace_substitution_pattern: s/azure-public-active-active/utility-azure-public-active-active/ - - azure_private_active_active: - uses: ./.github/workflows/destroy.yml - secrets: inherit - name: Azure Private Active/Active - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'azure-private-active-active' || github.event.client_payload.slash_command.args.unnamed.all == 'full-azure' }} - with: - cloud: Azure - test_name: Private Active/Active - is_replicated_deployment: false - utility_test: true - module_repository_id: hashicorp/terraform-azurerm-terraform-enterprise - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - work_dir: ./tests/private-active-active - TFC_token_secret_name: UTILITY_AZURE_PRIVATE_ACTIVE_ACTIVE_TFC_TOKEN - TFC_workspace_substitution_pattern: s/azure-private-active-active/utility-azure-private-active-active/ - - azure_private_tcp_active_active: - uses: ./.github/workflows/destroy.yml - secrets: inherit - name: Azure Private TCP Active/Active - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'azure-private-tcp-active-active' || github.event.client_payload.slash_command.args.unnamed.all == 'full-azure' }} - with: - cloud: Azure - test_name: Private TCP Active/Active - is_replicated_deployment: false - utility_test: true - module_repository_id: hashicorp/terraform-azurerm-terraform-enterprise - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - work_dir: ./tests/private-tcp-active-active - TFC_token_secret_name: UTILITY_AZURE_PRIVATE_TCP_ACTIVE_ACTIVE_TFC_TOKEN - TFC_workspace_substitution_pattern: s/azure-private-tcp-active-active/utility-azure-private-tcp-active-active/ - - azure_standalone_external: - uses: ./.github/workflows/destroy.yml - secrets: inherit - name: Azure Standalone External - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'azure-standalone-external' || github.event.client_payload.slash_command.args.unnamed.all == 'full-azure' }} - with: - cloud: Azure - test_name: Standalone External - is_replicated_deployment: false - utility_test: true - module_repository_id: hashicorp/terraform-azurerm-terraform-enterprise - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - work_dir: ./tests/standalone-external - TFC_token_secret_name: UTILITY_AZURE_STANDALONE_EXTERNAL_TFC_TOKEN - TFC_workspace_substitution_pattern: 's/terraform {/terraform {\n\ - backend "remote" {\n\ - organization = "terraform-enterprise-modules-test"\n\ - workspaces {\n\ - name = "utility-azure-standalone-external"\n\ - }\n\ - }\n/' - - azure_standalone_mounted_disk: - uses: ./.github/workflows/destroy.yml - secrets: inherit - name: Azure Standalone Mounted Disk - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'azure-standalone-mounted-disk' || github.event.client_payload.slash_command.args.unnamed.all == 'full-azure' }} - with: - cloud: Azure - test_name: Standalone Mounted Disk - is_replicated_deployment: false - utility_test: true - module_repository_id: hashicorp/terraform-azurerm-terraform-enterprise - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - work_dir: ./tests/standalone-mounted-disk - TFC_token_secret_name: UTILITY_AZURE_STANDALONE_MOUNTED_DISK_TFC_TOKEN - TFC_workspace_substitution_pattern: 's/terraform {/terraform {\n\ - backend "remote" {\n\ - organization = "terraform-enterprise-modules-test"\n\ - workspaces {\n\ - name = "utility-azure-standalone-mounted-disk"\n\ - }\n\ - }\n/' - - azure_public_active_active_replicated: - uses: ./.github/workflows/destroy.yml - secrets: inherit - name: Azure Public Active/Active - Replicated - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'azure-public-active-active-replicated' || github.event.client_payload.slash_command.args.unnamed.all == 'full-azure' }} - with: - cloud: Azure - test_name: Public Active/Active - is_replicated_deployment: true - utility_test: true - module_repository_id: hashicorp/terraform-azurerm-terraform-enterprise - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - work_dir: ./tests/public-active-active - TFC_token_secret_name: UTILITY_AZURE_PUBLIC_ACTIVE_ACTIVE_REPLICATED_TFC_TOKEN - TFC_workspace_substitution_pattern: s/azure-public-active-active/utility-azure-public-active-active-replicated/ - - azure_private_active_active_replicated: - uses: ./.github/workflows/destroy.yml - secrets: inherit - name: Azure Private Active/Active - Replicated - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'azure-private-active-active-replicated' || github.event.client_payload.slash_command.args.unnamed.all == 'full-azure' }} - with: - cloud: Azure - test_name: Private Active/Active - is_replicated_deployment: true - utility_test: true - module_repository_id: hashicorp/terraform-azurerm-terraform-enterprise - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - work_dir: ./tests/private-active-active - TFC_token_secret_name: UTILITY_AZURE_PRIVATE_ACTIVE_ACTIVE_REPLICATED_TFC_TOKEN - TFC_workspace_substitution_pattern: s/azure-private-active-active/utility-azure-private-active-active-replicated/ - - azure_private_tcp_active_active_replicated: - uses: ./.github/workflows/destroy.yml - secrets: inherit - name: Azure Private TCP Active/Active - Replicated - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'azure-private-tcp-active-active-replicated' || github.event.client_payload.slash_command.args.unnamed.all == 'full-azure' }} - with: - cloud: Azure - test_name: Private TCP Active/Active - is_replicated_deployment: true - utility_test: true - module_repository_id: hashicorp/terraform-azurerm-terraform-enterprise - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - work_dir: ./tests/private-tcp-active-active - TFC_token_secret_name: UTILITY_AZURE_PRIVATE_TCP_ACTIVE_ACTIVE_REPLICATED_TFC_TOKEN - TFC_workspace_substitution_pattern: s/azure-private-tcp-active-active/utility-azure-private-tcp-active-active-replicated/ - - azure_standalone_external_replicated: - uses: ./.github/workflows/destroy.yml - secrets: inherit - name: Azure Standalone External - Replicated - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'azure-standalone-external-replicated' || github.event.client_payload.slash_command.args.unnamed.all == 'full-azure' }} - with: - cloud: Azure - test_name: Standalone External - is_replicated_deployment: true - utility_test: true - module_repository_id: hashicorp/terraform-azurerm-terraform-enterprise - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - work_dir: ./tests/standalone-external - TFC_token_secret_name: UTILITY_AZURE_STANDALONE_EXTERNAL_REPLICATED_TFC_TOKEN - TFC_workspace_substitution_pattern: 's/terraform {/terraform {\n\ - backend "remote" {\n\ - organization = "terraform-enterprise-modules-test"\n\ - workspaces {\n\ - name = "utility-azure-standalone-external-replicated"\n\ - }\n\ - }\n/' - - azure_standalone_mounted_disk_replicated: - uses: ./.github/workflows/destroy.yml - secrets: inherit - name: Azure Standalone Mounted Disk - Replicated - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'azure-standalone-mounted-disk-replicated' || github.event.client_payload.slash_command.args.unnamed.all == 'full-azure' }} - with: - cloud: Azure - test_name: Standalone Mounted Disk - is_replicated_deployment: true - utility_test: true - module_repository_id: hashicorp/terraform-azurerm-terraform-enterprise - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - work_dir: ./tests/standalone-mounted-disk - TFC_token_secret_name: UTILITY_AZURE_STANDALONE_MOUNTED_DISK_REPLICATED_TFC_TOKEN - TFC_workspace_substitution_pattern: 's/terraform {/terraform {\n\ - backend "remote" {\n\ - organization = "terraform-enterprise-modules-test"\n\ - workspaces {\n\ - name = "utility-azure-standalone-mounted-disk-replicated"\n\ - }\n\ - }\n/' - - google_public_active_active: - uses: ./.github/workflows/destroy.yml - secrets: inherit - name: Google Public Active/Active - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'google-public-active-active' || github.event.client_payload.slash_command.args.unnamed.all == 'full-google' }} - with: - cloud: Google - test_name: Google Public Active/Active - is_replicated_deployment: false - module_repository_id: hashicorp/terraform-google-terraform-enterprise - work_dir: ./tests/public-active-active - utility_test: true - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - TFC_token_secret_name: UTILITY_GOOGLE_PUBLIC_ACTIVE_ACTIVE_TFC_TOKEN - TFC_workspace_substitution_pattern: s/google-public-active-active/utility-google-public-active-active/ - - google_private_active_active: - uses: ./.github/workflows/destroy.yml - secrets: inherit - name: Google Private Active/Active - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'google-private-active-active' || github.event.client_payload.slash_command.args.unnamed.all == 'full-google' }} - with: - cloud: Google - test_name: Google Private Active/Active - utility_test: true - is_replicated_deployment: false - module_repository_id: hashicorp/terraform-google-terraform-enterprise - work_dir: ./tests/private-active-active - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - TFC_token_secret_name: UTILITY_GOOGLE_PRIVATE_ACTIVE_ACTIVE_TFC_TOKEN - TFC_workspace_substitution_pattern: s/google-private-active-active/utility-google-private-active-active/ - - google_private_tcp_active_active: - uses: ./.github/workflows/destroy.yml - secrets: inherit - name: Google Private TCP Active/Active - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'google-private-tcp-active-active' || github.event.client_payload.slash_command.args.unnamed.all == 'full-google' }} - with: - cloud: Google - test_name: Google Private TCP Active/Active - utility_test: true - is_replicated_deployment: false - module_repository_id: hashicorp/terraform-google-terraform-enterprise - work_dir: ./tests/private-tcp-active-active - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - TFC_token_secret_name: UTILITY_GOOGLE_PRIVATE_TCP_ACTIVE_ACTIVE_TFC_TOKEN - TFC_workspace_substitution_pattern: s/google-private-tcp-active-active/utility-google-private-tcp-active-active/ - - google_standalone_external_rhel8_worker: - uses: ./.github/workflows/destroy.yml - secrets: inherit - name: Google Standalone External Rhel8 Worker - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'google-standalone-external-rhel8-worker' || github.event.client_payload.slash_command.args.unnamed.all == 'full-google' }} - with: - cloud: Google - test_name: Google Standalone External Rhel8 Worker - is_replicated_deployment: false - module_repository_id: hashicorp/terraform-google-terraform-enterprise - work_dir: ./tests/standalone-external-rhel8-worker - utility_test: true - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - TFC_token_secret_name: UTILITY_GOOGLE_STANDALONE_EXTERNAL_RHEL8_WORKER_TFC_TOKEN - TFC_workspace_substitution_pattern: 's/terraform {/terraform {\n\ - backend "remote" {\n\ - organization = "terraform-enterprise-modules-test"\n\ - workspaces {\n\ - name = "utility-google-standalone-external-rhel8-worker"\n\ - }\n\ - }\n/' - - google_standalone_mounted_disk: - uses: ./.github/workflows/destroy.yml - secrets: inherit - name: Google Standalone Mounted Disk - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'google-standalone-mounted-disk' || github.event.client_payload.slash_command.args.unnamed.all == 'full-google' }} - with: - cloud: Google - test_name: Google Standalone Mounted Disk - is_replicated_deployment: false - module_repository_id: hashicorp/terraform-google-terraform-enterprise - work_dir: ./tests/standalone-mounted-disk - utility_test: true - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - TFC_token_secret_name: UTILITY_GOOGLE_STANDALONE_MOUNTED_DISK_TFC_TOKEN - TFC_workspace_substitution_pattern: 's/terraform {/terraform {\n\ - backend "remote" {\n\ - organization = "terraform-enterprise-modules-test"\n\ - workspaces {\n\ - name = "utility-google-standalone-mounted-disk"\n\ - }\n\ - }\n/' - - google_public_active_active_replicated: - uses: ./.github/workflows/destroy.yml - secrets: inherit - name: Google Public Active/Active - Replicated - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'google-public-active-active-replicated' || github.event.client_payload.slash_command.args.unnamed.all == 'full-google' }} - with: - cloud: Google - test_name: Google Public Active/Active - is_replicated_deployment: true - module_repository_id: hashicorp/terraform-google-terraform-enterprise - work_dir: ./tests/public-active-active - utility_test: true - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - TFC_token_secret_name: UTILITY_GOOGLE_PUBLIC_ACTIVE_ACTIVE_REPLICATED_TFC_TOKEN - TFC_workspace_substitution_pattern: s/google-public-active-active/utility-google-public-active-active-replicated/ - - google_private_active_active_replicated: - uses: ./.github/workflows/destroy.yml - secrets: inherit - name: Google Private Active/Active - Replicated - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'google-private-active-active-replicated' || github.event.client_payload.slash_command.args.unnamed.all == 'full-google' }} - with: - cloud: Google - test_name: Google Private Active/Active - utility_test: true - is_replicated_deployment: true - module_repository_id: hashicorp/terraform-google-terraform-enterprise - work_dir: ./tests/private-active-active - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - TFC_token_secret_name: UTILITY_GOOGLE_PRIVATE_ACTIVE_ACTIVE_REPLICATED_TFC_TOKEN - TFC_workspace_substitution_pattern: s/google-private-active-active/utility-google-private-active-active-replicated/ - - google_private_tcp_active_active_replicated: - uses: ./.github/workflows/destroy.yml - secrets: inherit - name: Google Private TCP Active/Active - Replicated - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'google-private-tcp-active-active-replicated' || github.event.client_payload.slash_command.args.unnamed.all == 'full-google' }} - with: - cloud: Google - test_name: Google Private TCP Active/Active - utility_test: true - is_replicated_deployment: true - module_repository_id: hashicorp/terraform-google-terraform-enterprise - work_dir: ./tests/private-tcp-active-active - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - TFC_token_secret_name: UTILITY_GOOGLE_PRIVATE_TCP_ACTIVE_ACTIVE_REPLICATED_TFC_TOKEN - TFC_workspace_substitution_pattern: s/google-private-tcp-active-active/utility-google-private-tcp-active-active-replicated/ - - google_standalone_external_rhel8_worker_replicated: - uses: ./.github/workflows/destroy.yml - secrets: inherit - name: Google Standalone External Rhel8 Worker - Replicated - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'google-standalone-external-rhel8-worker-replicated' || github.event.client_payload.slash_command.args.unnamed.all == 'full-google' }} - with: - cloud: Google - test_name: Google Standalone External Rhel8 Worker - is_replicated_deployment: true - module_repository_id: hashicorp/terraform-google-terraform-enterprise - work_dir: ./tests/standalone-external-rhel8-worker - utility_test: true - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - TFC_token_secret_name: UTILITY_GOOGLE_STANDALONE_EXTERNAL_RHEL8_WORKER_REPLICATED_TFC_TOKEN - TFC_workspace_substitution_pattern: 's/terraform {/terraform {\n\ - backend "remote" {\n\ - organization = "terraform-enterprise-modules-test"\n\ - workspaces {\n\ - name = "utility-google-standalone-external-rhel8-worker-replicated"\n\ - }\n\ - }\n/' - - google_standalone_mounted_disk_replicated: - uses: ./.github/workflows/destroy.yml - secrets: inherit - name: Google Standalone Mounted Disk - Replicated - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'google-standalone-mounted-disk-replicated' || github.event.client_payload.slash_command.args.unnamed.all == 'full-google' }} - with: - cloud: Google - test_name: Google Standalone Mounted Disk - is_replicated_deployment: true - module_repository_id: hashicorp/terraform-google-terraform-enterprise - work_dir: ./tests/standalone-mounted-disk - utility_test: true - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - TFC_token_secret_name: UTILITY_GOOGLE_STANDALONE_MOUNTED_DISK_REPLICATED_TFC_TOKEN - TFC_workspace_substitution_pattern: 's/terraform {/terraform {\n\ - backend "remote" {\n\ - organization = "terraform-enterprise-modules-test"\n\ - workspaces {\n\ - name = "utility-google-standalone-mounted-disk-replicated"\n\ - }\n\ - }\n/' - - aws_active_active_rhel7_proxy: - uses: ./.github/workflows/destroy.yml - secrets: inherit - name: AWS Active-Active RHEL7 Proxy - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'aws-active-active-rhel7-proxy' || github.event.client_payload.slash_command.args.unnamed.all == 'full-aws' }} - with: - cloud: AWS - test_name: Active/Active RHEL7 Proxy - utility_test: true - is_replicated_deployment: false - module_repository_id: hashicorp/terraform-aws-terraform-enterprise - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - work_dir: ./tests/active-active-rhel7-proxy - TFC_token_secret_name: UTILITY_AWS_ACTIVE_ACTIVE_RHEL7_PROXY_TFC_TOKEN - TFC_workspace_substitution_pattern: 's/terraform {/terraform {\n\ - backend "remote" {\n\ - organization = "terraform-enterprise-modules-test"\n\ - workspaces {\n\ - name = "utility-aws-active-active-rhel7-proxy"\n\ - }\n\ - }\n/' - - aws_private_active_active: - uses: ./.github/workflows/destroy.yml - secrets: inherit - name: AWS Private Active-Active - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'aws-private-active-active' || github.event.client_payload.slash_command.args.unnamed.all == 'full-aws' }} - with: - cloud: AWS - test_name: Private Active/Active - utility_test: true - is_replicated_deployment: false - module_repository_id: hashicorp/terraform-aws-terraform-enterprise - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - work_dir: ./tests/private-active-active - TFC_token_secret_name: UTILITY_AWS_PRIVATE_ACTIVE_ACTIVE_TFC_TOKEN - TFC_workspace_substitution_pattern: s/aws-private-active-active/utility-aws-private-active-active/ - - aws_private_tcp_active_active: - uses: ./.github/workflows/destroy.yml - secrets: inherit - name: AWS Private TCP Active-Active - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'aws-private-tcp-active-active' || github.event.client_payload.slash_command.args.unnamed.all == 'full-aws' }} - with: - cloud: AWS - test_name: Private TCP Active/Active - utility_test: true - is_replicated_deployment: false - module_repository_id: hashicorp/terraform-aws-terraform-enterprise - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - work_dir: ./tests/private-tcp-active-active - TFC_token_secret_name: UTILITY_AWS_PRIVATE_TCP_ACTIVE_ACTIVE_TFC_TOKEN - TFC_workspace_substitution_pattern: s/aws-private-tcp-active-active/utility-aws-private-tcp-active-active/ - - aws_public_active_active: - uses: ./.github/workflows/destroy.yml - secrets: inherit - name: AWS Public Active-Active - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'aws-public-active-active' || github.event.client_payload.slash_command.args.unnamed.all == 'full-aws' }} - with: - cloud: AWS - test_name: Public Active/Active - utility_test: true - is_replicated_deployment: false - module_repository_id: hashicorp/terraform-aws-terraform-enterprise - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - work_dir: ./tests/public-active-active - TFC_token_secret_name: UTILITY_AWS_PUBLIC_ACTIVE_ACTIVE_TFC_TOKEN - TFC_workspace_substitution_pattern: s/aws-public-active-active/utility-aws-public-active-active/ - - aws_standalone_vault: - uses: ./.github/workflows/destroy.yml - secrets: inherit - name: AWS Standalone Vault - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'aws-standalone-vault' || github.event.client_payload.slash_command.args.unnamed.all == 'full-aws' }} - with: - cloud: AWS - test_name: Standalone Vault - utility_test: true - is_replicated_deployment: false - module_repository_id: hashicorp/terraform-aws-terraform-enterprise - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - work_dir: ./tests/standalone-vault - TFC_token_secret_name: UTILITY_AWS_STANDALONE_VAULT_TFC_TOKEN - TFC_workspace_substitution_pattern: 's/terraform {/terraform {\n\ - backend "remote" {\n\ - organization = "terraform-enterprise-modules-test"\n\ - workspaces {\n\ - name = "utility-aws-standalone-vault"\n\ - }\n\ - }\n/' - - aws_active_active_rhel7_proxy_replicated: - uses: ./.github/workflows/destroy.yml - secrets: inherit - name: AWS Active-Active RHEL7 Proxy - Replicated - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'aws-active-active-rhel7-proxy-replicated' || github.event.client_payload.slash_command.args.unnamed.all == 'full-aws' }} - with: - cloud: AWS - test_name: Active/Active RHEL7 Proxy - utility_test: true - is_replicated_deployment: true - module_repository_id: hashicorp/terraform-aws-terraform-enterprise - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - work_dir: ./tests/active-active-rhel7-proxy - TFC_token_secret_name: UTILITY_AWS_ACTIVE_ACTIVE_RHEL7_PROXY_REPLICATED_TFC_TOKEN - TFC_workspace_substitution_pattern: 's/terraform {/terraform {\n\ - backend "remote" {\n\ - organization = "terraform-enterprise-modules-test"\n\ - workspaces {\n\ - name = "utility-aws-active-active-rhel7-proxy-replicated"\n\ - }\n\ - }\n/' - - aws_public_active_active_replicated: - uses: ./.github/workflows/destroy.yml - secrets: inherit - name: AWS Public Active/Active - Replicated - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'aws-public-active-active-replicated' || github.event.client_payload.slash_command.args.unnamed.all == 'full-aws' }} - with: - cloud: AWS - test_name: Public Active/Active - utility_test: true - is_replicated_deployment: true - module_repository_id: hashicorp/terraform-aws-terraform-enterprise - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - work_dir: ./tests/public-active-active - TFC_token_secret_name: UTILITY_AWS_PUBLIC_ACTIVE_ACTIVE_REPLICATED_TFC_TOKEN - TFC_workspace_substitution_pattern: s/aws-public-active-active/utility-aws-public-active-active-replicated/ - - aws_private_active_active_replicated: - uses: ./.github/workflows/destroy.yml - secrets: inherit - name: AWS Private Active/Active - Replicated - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'aws-private-active-active-replicated' || github.event.client_payload.slash_command.args.unnamed.all == 'full-aws' }} - with: - cloud: AWS - test_name: Private Active/Active - utility_test: true - is_replicated_deployment: true - module_repository_id: hashicorp/terraform-aws-terraform-enterprise - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - work_dir: ./tests/private-active-active - TFC_token_secret_name: UTILITY_AWS_PRIVATE_ACTIVE_ACTIVE_REPLICATED_TFC_TOKEN - TFC_workspace_substitution_pattern: s/aws-private-active-active/utility-aws-private-active-active-replicated/ - - aws_private_tcp_active_active_replicated: - uses: ./.github/workflows/destroy.yml - secrets: inherit - name: AWS Private TCP Active/Active - Replicated - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'aws-private-tcp-active-active-replicated' || github.event.client_payload.slash_command.args.unnamed.all == 'full-aws' }} - with: - cloud: AWS - test_name: Private TCP Active/Active - utility_test: true - is_replicated_deployment: true - module_repository_id: hashicorp/terraform-aws-terraform-enterprise - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - work_dir: ./tests/private-tcp-active-active - TFC_token_secret_name: UTILITY_AWS_PRIVATE_TCP_ACTIVE_ACTIVE_REPLICATED_TFC_TOKEN - TFC_workspace_substitution_pattern: s/aws-private-tcp-active-active/utility-aws-private-tcp-active-active-replicated/ - - aws-standalone_vault_replicated: - uses: ./.github/workflows/destroy.yml - secrets: inherit - name: AWS Standalone Vault - Replicated - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'aws-standalone-vault-replicated' || github.event.client_payload.slash_command.args.unnamed.all == 'full-aws' }} - with: - cloud: AWS - test_name: Standalone Vault - utility_test: true - is_replicated_deployment: true - module_repository_id: hashicorp/terraform-aws-terraform-enterprise - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - work_dir: ./tests/standalone-vault - TFC_token_secret_name: UTILITY_AWS_STANDALONE_VAULT_REPLICATED_TFC_TOKEN - TFC_workspace_substitution_pattern: 's/terraform {/terraform {\n\ - backend "remote" {\n\ - organization = "terraform-enterprise-modules-test"\n\ - workspaces {\n\ - name = "utility-aws-standalone-vault-replicated"\n\ - }\n\ - }\n/' diff --git a/.github/workflows/handler-help.yml b/.github/workflows/handler-help.yml deleted file mode 100644 index 575e8dd..0000000 --- a/.github/workflows/handler-help.yml +++ /dev/null @@ -1,68 +0,0 @@ -name: Pull Request Help Handler - -on: - repository_dispatch: - types: - - help-command - -jobs: - help: - name: Run help - runs-on: ubuntu-latest - permissions: - pull-requests: write - steps: - - name: Update comment - uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0 - with: - token: ${{ secrets.GITHUB_TOKEN }} - repository: ${{ github.event.client_payload.github.payload.repository.full_name }} - comment-id: ${{ github.event.client_payload.github.payload.comment.id }} - body: | - > | Command | Description | - > | ------- | ----------- | - > | /test [destroy=false] | Run the Terraform test workflow on the modules in the tests/ directory in each of the terraform-aws-terraform-enterprise, terraform-azurerm-terraform-enterprise, and terraform-google-terraform-enterprise module repositories. Unnamed arguments can be "all" to run all test cases, full-[aws\|azure\|google] to run all cloud specific cases, or specific test case names to only run selected cases. The named argument "destroy=false" will disable the destruction of test infrastructure for debugging purposes. | - > | /destroy | Destroy any resources that may still be in Terraform state from previous tests. Unnamed arguments can be "all" to destroy all resources from all test cases, full-[aws\|azure\|google] to destroy all resources from cloud specific cases, or specific test case names to only destroy selected test case resources. | - > | /help | Shows this help message | - > - > ## Test Case Names - > - > | Cloud | FDO or Replicated | Test Case Name | - > | ------- | ----------------- | -------------------------------------------------- | - > | Azurerm | FDO | azure-private-active-active | - > | Azurerm | FDO | azure-private-tcp-active-active | - > | Azurerm | FDO | azure-public-active-active | - > | Azurerm | FDO | azure-standalone-external | - > | Azurerm | FDO | azure-standalone-mounted-disk | - > | ------- | ----------------- | -------------------------------------------------- | - > | Azurerm | Replicated | azure-private-active-active-replicated | - > | Azurerm | Replicated | azure-private-tcp-active-active-replicated | - > | Azurerm | Replicated | azure-public-active-active-replicated | - > | Azurerm | Replicated | azure-standalone-external-replicated | - > | Azurerm | Replicated | azure-standalone-mounted-disk-replicated | - > | ------- | ----------------- | -------------------------------------------------- | - > | AWS | FDO | aws-private-active-active | - > | AWS | FDO | aws-private-tcp-active-active | - > | AWS | FDO | aws-public-active-active | - > | AWS | FDO | aws-active-active-rhel7-proxy | - > | AWS | FDO | aws-standalone-vault | - > | ------- | ----------------- | -------------------------------------------------- | - > | AWS | Replicated | aws-private-active-active-replicated | - > | AWS | Replicated | aws-private-tcp-active-active-replicated | - > | AWS | Replicated | aws-public-active-active-replicated | - > | AWS | Replicated | aws-active-active-rhel7-proxy-replicated | - > | AWS | Replicated | aws-standalone-vault-replicated | - > | ------- | ----------------- | -------------------------------------------------- | - > | GCP | FDO | google-private-active-active | - > | GCP | FDO | google-private-tcp-active-active | - > | GCP | FDO | google-public-active-active | - > | GCP | FDO | google-standalone-mounted-disk | - > | GCP | FDO | google-standalone-external-rhel8-worker | - > | ------- | ----------------- | -------------------------------------------------- | - > | GCP | Replicated | google-private-active-active-replicated | - > | GCP | Replicated | google-private-tcp-active-active-replicated | - > | GCP | Replicated | google-public-active-active-replicated | - > | GCP | Replicated | google-standalone-mounted-disk-replicated | - > | GCP | Replicated | google-standalone-external-rhel8-worker-replicated | - > | ------- | ----------------- | -------------------------------------------------- | - reactions: confused diff --git a/.github/workflows/handler-test.yml b/.github/workflows/handler-test.yml deleted file mode 100644 index 52265ac..0000000 --- a/.github/workflows/handler-test.yml +++ /dev/null @@ -1,645 +0,0 @@ -name: Pull Request Test Handler - -on: - repository_dispatch: - types: - - test-command - -jobs: - azure_standalone_external: - uses: ./.github/workflows/azure-tests.yml - secrets: inherit - name: Azure Standalone External - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'azure-standalone-external' || github.event.client_payload.slash_command.args.unnamed.all == 'full-azure' }} - with: - test_name: Standalone External - is_replicated_deployment: false - module_repository_id: hashicorp/terraform-azurerm-terraform-enterprise - work_dir: ./tests/standalone-external - k6_work_dir: ./tests/tfe-load-test - utility_test: true - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - TFC_token_secret_name: UTILITY_AZURE_STANDALONE_EXTERNAL_TFC_TOKEN - TFC_workspace_substitution_pattern: 's/terraform {/terraform {\n\ - backend "remote" {\n\ - organization = "terraform-enterprise-modules-test"\n\ - workspaces {\n\ - name = "utility-azure-standalone-external"\n\ - }\n\ - }\n/' - - azure_standalone_mounted_disk: - uses: ./.github/workflows/azure-tests.yml - secrets: inherit - name: Azure Standalone Mounted Disk - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'azure-standalone-mounted-disk' || github.event.client_payload.slash_command.args.unnamed.all == 'full-azure' }} - with: - test_name: Standalone Mounted Disk - is_replicated_deployment: false - module_repository_id: hashicorp/terraform-azurerm-terraform-enterprise - work_dir: ./tests/standalone-mounted-disk - k6_work_dir: ./tests/tfe-load-test - utility_test: true - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - TFC_token_secret_name: UTILITY_AZURE_STANDALONE_MOUNTED_DISK_TFC_TOKEN - TFC_workspace_substitution_pattern: 's/terraform {/terraform {\n\ - backend "remote" {\n\ - organization = "terraform-enterprise-modules-test"\n\ - workspaces {\n\ - name = "utility-azure-standalone-mounted-disk"\n\ - }\n\ - }\n/' - - azure_public_active_active: - uses: ./.github/workflows/azure-tests.yml - secrets: inherit - name: Azure Public Active/Active - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'azure-public-active-active' || github.event.client_payload.slash_command.args.unnamed.all == 'full-azure' }} - with: - test_name: Public Active/Active - is_replicated_deployment: false - module_repository_id: hashicorp/terraform-azurerm-terraform-enterprise - work_dir: ./tests/public-active-active - k6_work_dir: ./tests/tfe-load-test - utility_test: true - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - TFC_token_secret_name: UTILITY_AZURE_PUBLIC_ACTIVE_ACTIVE_TFC_TOKEN - TFC_workspace_substitution_pattern: s/azure-public-active-active/utility-azure-public-active-active/ - - azure_private_active_active: - uses: ./.github/workflows/azure-tests.yml - secrets: inherit - name: Azure Private Active/Active - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'azure-private-active-active' || github.event.client_payload.slash_command.args.unnamed.all == 'full-azure' }} - with: - test_name: Private Active/Active - is_replicated_deployment: false - utility_test: true - module_repository_id: hashicorp/terraform-azurerm-terraform-enterprise - work_dir: ./tests/private-active-active - k6_work_dir: ./tests/tfe-load-test - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - TFC_token_secret_name: UTILITY_AZURE_PRIVATE_ACTIVE_ACTIVE_TFC_TOKEN - TFC_workspace_substitution_pattern: s/azure-private-active-active/utility-azure-private-active-active/ - bastion_ssh_private_key_secret_name: AZURE_PRIVATE_ACTIVE_ACTIVE_BASTION_SSH_KEY_BASE64 - - azure_private_tcp_active_active: - uses: ./.github/workflows/azure-tests.yml - secrets: inherit - name: Azure Private TCP Active/Active - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'azure-private-tcp-active-active' || github.event.client_payload.slash_command.args.unnamed.all == 'full-azure' }} - with: - test_name: Private TCP Active/Active - is_replicated_deployment: false - utility_test: true - module_repository_id: hashicorp/terraform-azurerm-terraform-enterprise - work_dir: ./tests/private-tcp-active-active - k6_work_dir: ./tests/tfe-load-test - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - TFC_token_secret_name: UTILITY_AZURE_PRIVATE_TCP_ACTIVE_ACTIVE_TFC_TOKEN - TFC_workspace_substitution_pattern: s/azure-private-tcp-active-active/utility-azure-private-tcp-active-active/ - bastion_ssh_private_key_secret_name: AZURE_PRIVATE_TCP_ACTIVE_ACTIVE_BASTION_SSH_KEY_BASE64 - - azure_standalone_external_replicated: - uses: ./.github/workflows/azure-tests.yml - secrets: inherit - name: Azure Standalone External - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'azure-standalone-external' || github.event.client_payload.slash_command.args.unnamed.all == 'full-azure' }} - with: - test_name: Standalone External - is_replicated_deployment: true - module_repository_id: hashicorp/terraform-azurerm-terraform-enterprise - work_dir: ./tests/standalone-external - k6_work_dir: ./tests/tfe-load-test - utility_test: true - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - TFC_token_secret_name: UTILITY_AZURE_STANDALONE_EXTERNAL_REPLICATED_TFC_TOKEN - TFC_workspace_substitution_pattern: 's/terraform {/terraform {\n\ - backend "remote" {\n\ - organization = "terraform-enterprise-modules-test"\n\ - workspaces {\n\ - name = "utility-azure-standalone-external-replicated"\n\ - }\n\ - }\n/' - - azure_standalone_mounted_disk_replicated: - uses: ./.github/workflows/azure-tests.yml - secrets: inherit - name: Azure Standalone Mounted Disk - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'azure-standalone-mounted-disk-replicated' || github.event.client_payload.slash_command.args.unnamed.all == 'full-azure' }} - with: - test_name: Standalone Mounted Disk - is_replicated_deployment: true - module_repository_id: hashicorp/terraform-azurerm-terraform-enterprise - work_dir: ./tests/standalone-mounted-disk - k6_work_dir: ./tests/tfe-load-test - utility_test: true - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - TFC_token_secret_name: UTILITY_AZURE_STANDALONE_MOUNTED_DISK_REPLICATED_TFC_TOKEN - TFC_workspace_substitution_pattern: 's/terraform {/terraform {\n\ - backend "remote" {\n\ - organization = "terraform-enterprise-modules-test"\n\ - workspaces {\n\ - name = "utility-azure-standalone-mounted-disk-replicated"\n\ - }\n\ - }\n/' - - azure_public_active_active_replicated: - uses: ./.github/workflows/azure-tests.yml - secrets: inherit - name: Azure Public Active/Active - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'azure-public-active-active' || github.event.client_payload.slash_command.args.unnamed.all == 'full-azure' }} - with: - test_name: Public Active/Active - is_replicated_deployment: true - module_repository_id: hashicorp/terraform-azurerm-terraform-enterprise - work_dir: ./tests/public-active-active - k6_work_dir: ./tests/tfe-load-test - utility_test: true - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - TFC_token_secret_name: UTILITY_AZURE_PUBLIC_ACTIVE_ACTIVE_REPLICATED_TFC_TOKEN - TFC_workspace_substitution_pattern: s/azure-public-active-active/utility-azure-public-active-active-replicated/ - - azure_private_active_active_replicated: - uses: ./.github/workflows/azure-tests.yml - secrets: inherit - name: Azure Private Active/Active - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'azure-private-active-active' || github.event.client_payload.slash_command.args.unnamed.all == 'full-azure' }} - with: - test_name: Private Active/Active - is_replicated_deployment: true - utility_test: true - module_repository_id: hashicorp/terraform-azurerm-terraform-enterprise - work_dir: ./tests/private-active-active - k6_work_dir: ./tests/tfe-load-test - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - TFC_token_secret_name: UTILITY_AZURE_PRIVATE_ACTIVE_ACTIVE_REPLICATED_TFC_TOKEN - TFC_workspace_substitution_pattern: s/azure-private-active-active/utility-azure-private-active-active-replicated/ - bastion_ssh_private_key_secret_name: AZURE_PRIVATE_ACTIVE_ACTIVE_BASTION_SSH_KEY_BASE64 - - azure_private_tcp_active_active_replicated: - uses: ./.github/workflows/azure-tests.yml - secrets: inherit - name: Azure Private TCP Active/Active - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'azure-private-tcp-active-active' || github.event.client_payload.slash_command.args.unnamed.all == 'full-azure' }} - with: - test_name: Private TCP Active/Active - is_replicated_deployment: true - utility_test: true - module_repository_id: hashicorp/terraform-azurerm-terraform-enterprise - work_dir: ./tests/private-tcp-active-active - k6_work_dir: ./tests/tfe-load-test - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - TFC_token_secret_name: UTILITY_AZURE_PRIVATE_TCP_ACTIVE_ACTIVE_REPLICATED_TFC_TOKEN - TFC_workspace_substitution_pattern: s/azure-private-tcp-active-active/utility-azure-private-tcp-active-active-replicated/ - bastion_ssh_private_key_secret_name: AZURE_PRIVATE_TCP_ACTIVE_ACTIVE_BASTION_SSH_KEY_BASE64 - - google_public_active_active: - uses: ./.github/workflows/google-tests.yml - secrets: inherit - name: Google Public Active/Active - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'google-public-active-active' || github.event.client_payload.slash_command.args.unnamed.all == 'full-google' }} - with: - test_name: Google Public Active/Active - module_repository_id: hashicorp/terraform-google-terraform-enterprise - work_dir: ./tests/public-active-active - k6_work_dir: ./tests/tfe-load-test - utility_test: true - is_replicated_deployment: false - enable_iact_subnet_list: true - private_test: false - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - TFC_token_secret_name: UTILITY_GOOGLE_PUBLIC_ACTIVE_ACTIVE_TFC_TOKEN - TFC_workspace_substitution_pattern: s/google-public-active-active/utility-google-public-active-active/ - - google_private_active_active: - uses: ./.github/workflows/google-tests.yml - secrets: inherit - name: Google Private Active/Active - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'google-private-active-active' || github.event.client_payload.slash_command.args.unnamed.all == 'full-google' }} - with: - test_name: Google Private Active/Active - utility_test: true - enable_iact_subnet_list: false - module_repository_id: hashicorp/terraform-google-terraform-enterprise - work_dir: ./tests/private-active-active - is_replicated_deployment: false - k6_work_dir: ./tests/tfe-load-test - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - TFC_token_secret_name: UTILITY_GOOGLE_PRIVATE_ACTIVE_ACTIVE_TFC_TOKEN - TFC_workspace_substitution_pattern: s/google-private-active-active/utility-google-private-active-active/ - private_test: true - - google_private_tcp_active_active: - uses: ./.github/workflows/google-tests.yml - secrets: inherit - name: Google Private TCP Active/Active - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'google-private-tcp-active-active' || github.event.client_payload.slash_command.args.unnamed.all == 'full-google' }} - with: - test_name: Google Private TCP Active/Active - utility_test: true - enable_iact_subnet_list: false - module_repository_id: hashicorp/terraform-google-terraform-enterprise - work_dir: ./tests/private-tcp-active-active - is_replicated_deployment: false - k6_work_dir: ./tests/tfe-load-test - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - TFC_token_secret_name: UTILITY_GOOGLE_PRIVATE_TCP_ACTIVE_ACTIVE_TFC_TOKEN - TFC_workspace_substitution_pattern: s/google-private-tcp-active-active/utility-google-private-tcp-active-active/ - private_test: true - - google_standalone_external_rhel8_worker: - uses: ./.github/workflows/google-tests.yml - secrets: inherit - name: Google Standalone External Rhel8 Worker - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'standalone-external-rhel8-worker' || github.event.client_payload.slash_command.args.unnamed.all == 'full-google' }} - with: - test_name: Google Standalone External Rhel8 Worker - module_repository_id: hashicorp/terraform-google-terraform-enterprise - work_dir: ./tests/standalone-external-rhel8-worker - k6_work_dir: ./tests/tfe-load-test - private_test: false - is_replicated_deployment: false - utility_test: true - enable_iact_subnet_list: false - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - TFC_token_secret_name: UTILITY_GOOGLE_STANDALONE_EXTERNAL_RHEL8_WORKER_TFC_TOKEN - TFC_workspace_substitution_pattern: 's/terraform {/terraform {\n\ - backend "remote" {\n\ - organization = "terraform-enterprise-modules-test"\n\ - workspaces {\n\ - name = "utility-google-standalone-external-rhel8-worker"\n\ - }\n\ - }\n/' - - google_standalone_mounted_disk: - uses: ./.github/workflows/google-tests.yml - secrets: inherit - name: Google Standalone Mounted Disk - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'google-standalone-mounted-disk' || github.event.client_payload.slash_command.args.unnamed.all == 'full-google' }} - with: - test_name: Google Standalone Mounted Disk - module_repository_id: hashicorp/terraform-google-terraform-enterprise - work_dir: ./tests/standalone-mounted-disk - k6_work_dir: ./tests/tfe-load-test - utility_test: true - is_replicated_deployment: false - private_test: false - enable_iact_subnet_list: false - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - TFC_token_secret_name: UTILITY_GOOGLE_STANDALONE_MOUNTED_DISK_TFC_TOKEN - TFC_workspace_substitution_pattern: 's/terraform {/terraform {\n\ - backend "remote" {\n\ - organization = "terraform-enterprise-modules-test"\n\ - workspaces {\n\ - name = "utility-google-standalone-mounted-disk"\n\ - }\n\ - }\n/' - - google_public_active_active_replicated: - uses: ./.github/workflows/google-tests.yml - secrets: inherit - name: Google Public Active/Active - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'google-public-active-active-replicated' || github.event.client_payload.slash_command.args.unnamed.all == 'full-google' }} - with: - test_name: Google Public Active/Active - module_repository_id: hashicorp/terraform-google-terraform-enterprise - work_dir: ./tests/public-active-active - k6_work_dir: ./tests/tfe-load-test - utility_test: true - is_replicated_deployment: true - enable_iact_subnet_list: true - private_test: false - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - TFC_token_secret_name: UTILITY_GOOGLE_PUBLIC_ACTIVE_ACTIVE_REPLICATED_TFC_TOKEN - TFC_workspace_substitution_pattern: s/google-public-active-active/utility-google-public-active-active-replicated/ - - google_private_active_active_replicated: - uses: ./.github/workflows/google-tests.yml - secrets: inherit - name: Google Private Active/Active - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'google-private-active-active-replicated' || github.event.client_payload.slash_command.args.unnamed.all == 'full-google' }} - with: - test_name: Google Private Active/Active - utility_test: true - enable_iact_subnet_list: false - module_repository_id: hashicorp/terraform-google-terraform-enterprise - work_dir: ./tests/private-active-active - is_replicated_deployment: true - k6_work_dir: ./tests/tfe-load-test - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - TFC_token_secret_name: UTILITY_GOOGLE_PRIVATE_ACTIVE_ACTIVE_REPLICATED_TFC_TOKEN - TFC_workspace_substitution_pattern: s/google-private-active-active/utility-google-private-active-active-replicated/ - private_test: true - - google_private_tcp_active_active_replicated: - uses: ./.github/workflows/google-tests.yml - secrets: inherit - name: Google Private TCP Active/Active - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'google-private-tcp-active-active-replicated' || github.event.client_payload.slash_command.args.unnamed.all == 'full-google' }} - with: - test_name: Google Private TCP Active/Active - utility_test: true - enable_iact_subnet_list: false - module_repository_id: hashicorp/terraform-google-terraform-enterprise - work_dir: ./tests/private-tcp-active-active - is_replicated_deployment: true - k6_work_dir: ./tests/tfe-load-test - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - TFC_token_secret_name: UTILITY_GOOGLE_PRIVATE_TCP_ACTIVE_ACTIVE_REPLICATED_TFC_TOKEN - TFC_workspace_substitution_pattern: s/google-private-tcp-active-active/utility-google-private-tcp-active-active-replicated/ - private_test: true - - google_standalone_external_rhel8_worker_replicated: - uses: ./.github/workflows/google-tests.yml - secrets: inherit - name: Google Standalone External Rhel8 Worker - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'standalone-external-rhel8-worker-replicated' || github.event.client_payload.slash_command.args.unnamed.all == 'full-google' }} - with: - test_name: Google Standalone External Rhel8 Worker - module_repository_id: hashicorp/terraform-google-terraform-enterprise - work_dir: ./tests/standalone-external-rhel8-worker - k6_work_dir: ./tests/tfe-load-test - private_test: false - is_replicated_deployment: true - utility_test: true - enable_iact_subnet_list: false - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - TFC_token_secret_name: UTILITY_GOOGLE_STANDALONE_EXTERNAL_RHEL8_WORKER_REPLICATED_TFC_TOKEN - TFC_workspace_substitution_pattern: 's/terraform {/terraform {\n\ - backend "remote" {\n\ - organization = "terraform-enterprise-modules-test"\n\ - workspaces {\n\ - name = "utility-google-standalone-external-rhel8-worker-replicated"\n\ - }\n\ - }\n/' - - google_standalone_mounted_disk_replicated: - uses: ./.github/workflows/google-tests.yml - secrets: inherit - name: Google Standalone Mounted Disk - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'google-standalone-mounted-disk-replicated' || github.event.client_payload.slash_command.args.unnamed.all == 'full-google' }} - with: - test_name: Google Standalone Mounted Disk - module_repository_id: hashicorp/terraform-google-terraform-enterprise - work_dir: ./tests/standalone-mounted-disk - k6_work_dir: ./tests/tfe-load-test - utility_test: true - is_replicated_deployment: true - private_test: false - enable_iact_subnet_list: false - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - TFC_token_secret_name: UTILITY_GOOGLE_STANDALONE_MOUNTED_DISK_REPLICATED_TFC_TOKEN - TFC_workspace_substitution_pattern: 's/terraform {/terraform {\n\ - backend "remote" {\n\ - organization = "terraform-enterprise-modules-test"\n\ - workspaces {\n\ - name = "utility-google-standalone-mounted-disk-replicated"\n\ - }\n\ - }\n/' - - aws_active_active_rhel7_proxy: - uses: ./.github/workflows/aws-tests.yml - secrets: inherit - name: AWS Active/Active RHEL7 Proxy - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'aws-active-active-rhel7-proxy' || github.event.client_payload.slash_command.args.unnamed.all == 'full-aws' }} - with: - test_name: Active/Active RHEL7 Proxy - utility_test: true - is_replicated_deployment: false - k6_work_dir: ./tests/tfe-load-test - module_repository_id: hashicorp/terraform-aws-terraform-enterprise - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - work_dir: ./tests/active-active-rhel7-proxy - TFC_token_secret_name: UTILITY_AWS_ACTIVE_ACTIVE_RHEL7_PROXY_TFC_TOKEN - TFC_workspace_substitution_pattern: 's/terraform {/terraform {\n\ - backend "remote" {\n\ - organization = "terraform-enterprise-modules-test"\n\ - workspaces {\n\ - name = "utility-aws-active-active-rhel7-proxy"\n\ - }\n\ - }\n/' - - aws_private_active_active: - uses: ./.github/workflows/aws-tests.yml - secrets: inherit - name: AWS Private Active/Active - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'aws-private-active-active' || github.event.client_payload.slash_command.args.unnamed.all == 'full-aws' }} - with: - test_name: Private Active/Active - utility_test: true - is_replicated_deployment: false - k6_work_dir: ./tests/tfe-load-test - module_repository_id: hashicorp/terraform-aws-terraform-enterprise - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - work_dir: ./tests/private-active-active - TFC_token_secret_name: UTILITY_AWS_PRIVATE_ACTIVE_ACTIVE_TFC_TOKEN - TFC_workspace_substitution_pattern: s/aws-private-active-active/utility-aws-private-active-active/ - - aws_private_tcp_active_active: - uses: ./.github/workflows/aws-tests.yml - secrets: inherit - name: AWS Private TCP Active/Active - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'aws-private-tcp-active-active' || github.event.client_payload.slash_command.args.unnamed.all == 'full-aws' }} - with: - test_name: Private TCP Active/Active - utility_test: true - is_replicated_deployment: false - k6_work_dir: ./tests/tfe-load-test - module_repository_id: hashicorp/terraform-aws-terraform-enterprise - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - work_dir: ./tests/private-tcp-active-active - TFC_token_secret_name: UTILITY_AWS_PRIVATE_TCP_ACTIVE_ACTIVE_TFC_TOKEN - TFC_workspace_substitution_pattern: s/aws-private-tcp-active-active/utility-aws-private-tcp-active-active/ - - aws_public_active_active: - uses: ./.github/workflows/aws-tests.yml - secrets: inherit - name: AWS Public Active/Active - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'aws-public-active-active' || github.event.client_payload.slash_command.args.unnamed.all == 'full-aws' }} - with: - test_name: Public Active/Active - utility_test: true - is_replicated_deployment: false - k6_work_dir: ./tests/tfe-load-test - module_repository_id: hashicorp/terraform-aws-terraform-enterprise - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - work_dir: ./tests/public-active-active - TFC_token_secret_name: UTILITY_AWS_PUBLIC_ACTIVE_ACTIVE_TFC_TOKEN - TFC_workspace_substitution_pattern: s/aws-public-active-active/utility-aws-public-active-active/ - - aws_standalone_vault: - uses: ./.github/workflows/aws-tests.yml - secrets: inherit - name: AWS Standalone Vault - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'aws-standalone-vault' || github.event.client_payload.slash_command.args.unnamed.all == 'full-aws' }} - with: - test_name: Standalone Vault - utility_test: true - is_replicated_deployment: false - k6_work_dir: ./tests/tfe-load-test - module_repository_id: hashicorp/terraform-aws-terraform-enterprise - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - first_apply_args: "-target=module.hcp_vault.hcp_vault_cluster.test -target=module.hcp_vault.hcp_vault_cluster_admin_token.test" - work_dir: ./tests/standalone-vault - TFC_token_secret_name: UTILITY_AWS_STANDALONE_VAULT_TFC_TOKEN - TFC_workspace_substitution_pattern: 's/terraform {/terraform {\n\ - backend "remote" {\n\ - organization = "terraform-enterprise-modules-test"\n\ - workspaces {\n\ - name = "utility-aws-standalone-vault"\n\ - }\n\ - }\n/' - - aws_active_active_rhel7_proxy_replicated: - uses: ./.github/workflows/aws-tests.yml - secrets: inherit - name: AWS Active/Active RHEL7 Proxy - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'aws-active-active-rhel7-proxy-replicated' || github.event.client_payload.slash_command.args.unnamed.all == 'full-aws' }} - with: - test_name: Active/Active RHEL7 Proxy - utility_test: true - is_replicated_deployment: true - k6_work_dir: ./tests/tfe-load-test - module_repository_id: hashicorp/terraform-aws-terraform-enterprise - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - work_dir: ./tests/active-active-rhel7-proxy - TFC_token_secret_name: UTILITY_AWS_ACTIVE_ACTIVE_RHEL7_PROXY_REPLICATED_TFC_TOKEN - TFC_workspace_substitution_pattern: 's/terraform {/terraform {\n\ - backend "remote" {\n\ - organization = "terraform-enterprise-modules-test"\n\ - workspaces {\n\ - name = "utility-aws-active-active-rhel7-proxy-replicated"\n\ - }\n\ - }\n/' - - aws_public_active_active_replicated: - uses: ./.github/workflows/aws-tests.yml - secrets: inherit - name: AWS Public Active/Active - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'aws-public-active-active-replicated' || github.event.client_payload.slash_command.args.unnamed.all == 'full-aws' }} - with: - test_name: Public Active/Active - utility_test: true - is_replicated_deployment: true - k6_work_dir: ./tests/tfe-load-test - module_repository_id: hashicorp/terraform-aws-terraform-enterprise - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - work_dir: ./tests/public-active-active - TFC_token_secret_name: UTILITY_AWS_PUBLIC_ACTIVE_ACTIVE_REPLICATED_TFC_TOKEN - TFC_workspace_substitution_pattern: s/aws-public-active-active/utility-aws-public-active-active-replicated/ - - aws_private_active_active_replicated: - uses: ./.github/workflows/aws-tests.yml - secrets: inherit - name: AWS Private Active/Active - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'aws-private-active-active-replicated' || github.event.client_payload.slash_command.args.unnamed.all == 'full-aws' }} - with: - test_name: Private Active/Active - utility_test: true - is_replicated_deployment: true - k6_work_dir: ./tests/tfe-load-test - module_repository_id: hashicorp/terraform-aws-terraform-enterprise - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - work_dir: ./tests/private-active-active - TFC_token_secret_name: UTILITY_AWS_PRIVATE_ACTIVE_ACTIVE_REPLICATED_TFC_TOKEN - TFC_workspace_substitution_pattern: s/aws-private-active-active/utility-aws-private-active-active-replicated/ - - aws_private_tcp_active_active_replicated: - uses: ./.github/workflows/aws-tests.yml - secrets: inherit - name: AWS Private TCP Active/Active - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'aws-private-tcp-active-active-replicated' || github.event.client_payload.slash_command.args.unnamed.all == 'full-aws' }} - with: - test_name: Private TCP Active/Active - utility_test: true - is_replicated_deployment: true - k6_work_dir: ./tests/tfe-load-test - module_repository_id: hashicorp/terraform-aws-terraform-enterprise - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - work_dir: ./tests/private-tcp-active-active - TFC_token_secret_name: UTILITY_AWS_PRIVATE_TCP_ACTIVE_ACTIVE_REPLICATED_TFC_TOKEN - TFC_workspace_substitution_pattern: s/aws-private-tcp-active-active/utility-aws-private-tcp-active-active-replicated/ - - aws_standalone_vault_replicated: - uses: ./.github/workflows/aws-tests.yml - secrets: inherit - name: AWS Standalone Vault - if: ${{ github.event.client_payload.slash_command.args.unnamed.all == 'all' || github.event.client_payload.slash_command.args.unnamed.all == 'aws-standalone-vault-replicated' || github.event.client_payload.slash_command.args.unnamed.all == 'full-aws' }} - with: - test_name: Standalone Vault - utility_test: true - is_replicated_deployment: true - k6_work_dir: ./tests/tfe-load-test - module_repository_id: hashicorp/terraform-aws-terraform-enterprise - pull_request_repo_name: ${{ github.event.client_payload.github.payload.repository.full_name }} - pull_request_ref: ${{ github.event.client_payload.pull_request.head.sha }} - pull_request_comment_id: ${{ github.event.client_payload.github.payload.comment.id }} - work_dir: ./tests/standalone-vault - first_apply_args: "-target=module.hcp_vault.hcp_vault_cluster.test -target=module.hcp_vault.hcp_vault_cluster_admin_token.test" - TFC_token_secret_name: UTILITY_AWS_STANDALONE_VAULT_REPLICATED_TFC_TOKEN - TFC_workspace_substitution_pattern: 's/terraform {/terraform {\n\ - backend "remote" {\n\ - organization = "terraform-enterprise-modules-test"\n\ - workspaces {\n\ - name = "utility-aws-standalone-vault-replicated"\n\ - }\n\ - }\n/' diff --git a/README.md b/README.md index bc76398..e2ac193 100644 --- a/README.md +++ b/README.md @@ -20,17 +20,3 @@ further details. * This module requires Terraform version `0.13` or greater to be installed on the running machine. - -### Testing - -Testing of the Utility modules is done through the GitHub Actions of this -repository which leverages Terraform Cloud workspaces to allow maintainers -to run and audit contributions to this repository. Maintainers will choose -which test scenarios are necessary to run for the changes that are being -proposed. - -Test modules from the following repositories are used: - -* [AWS](https://github.com/hashicorp/terraform-aws-terraform-enterprise/blob/main/tests/README.md) -* [AzureRM](https://github.com/hashicorp/terraform-azurerm-terraform-enterprise/blob/main/tests/README.md) -* [Google](https://github.com/hashicorp/terraform-google-terraform-enterprise/blob/main/tests/README.md)