|
|
@@ -11,38 +11,12 @@ env:
|
|
|
DOCKER_BUILDX_VERSION: 'v0.4.2'
|
|
|
GHCR_USERNAME: ${{ github.actor }}
|
|
|
USE_GKE_GCLOUD_AUTH_PLUGIN: true
|
|
|
-
|
|
|
- # GCP variables
|
|
|
- GCP_SERVICE_ACCOUNT_KEY: ${{ secrets.GCP_SERVICE_ACCOUNT_KEY }}
|
|
|
- GCP_SM_SA_GKE_JSON: ${{ secrets.GCP_SM_SA_GKE_JSON }}
|
|
|
GCP_GKE_CLUSTER: e2e
|
|
|
TF_VAR_GCP_GKE_CLUSTER: e2e
|
|
|
- GCP_FED_REGION: ${{ secrets.GCP_FED_REGION }}
|
|
|
- TF_VAR_GCP_FED_REGION: ${{ secrets.GCP_FED_REGION }}
|
|
|
- GCP_KSA_NAME: ${{ secrets.GCP_KSA_NAME }}
|
|
|
- TF_VAR_GCP_KSA_NAME: ${{ secrets.GCP_KSA_NAME }}
|
|
|
- GCP_FED_PROJECT_ID: ${{ secrets.GCP_FED_PROJECT_ID }}
|
|
|
- TF_VAR_GCP_FED_PROJECT_ID: ${{ secrets.GCP_FED_PROJECT_ID }}
|
|
|
- GCP_FED_SERVICE_ACCOUNT_EMAIL: ${{ secrets.GCP_FED_SERVICE_ACCOUNT_EMAIL }}
|
|
|
- GCP_FED_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.GCP_FED_WORKLOAD_IDENTITY_PROVIDER }}
|
|
|
-
|
|
|
- # AWS variables
|
|
|
- AWS_OIDC_ROLE_ARN: ${{ secrets.AWS_OIDC_ROLE_ARN }}
|
|
|
- AWS_SA_NAME: ${{ secrets.AWS_SA_NAME }}
|
|
|
- AWS_SA_NAMESPACE: ${{ secrets.AWS_SA_NAMESPACE }}
|
|
|
AWS_REGION: "eu-central-1"
|
|
|
AWS_CLUSTER_NAME: "eso-e2e-managed"
|
|
|
- TF_VAR_AWS_SA_NAME: ${{ secrets.AWS_SA_NAME }}
|
|
|
- TF_VAR_AWS_SA_NAMESPACE: ${{ secrets.AWS_SA_NAMESPACE }}
|
|
|
TF_VAR_AWS_REGION: "eu-central-1"
|
|
|
TF_VAR_AWS_CLUSTER_NAME: "eso-e2e-managed"
|
|
|
-
|
|
|
- # Azure variables
|
|
|
- TFC_AZURE_CLIENT_ID: ${{ secrets.TFC_AZURE_CLIENT_ID }}
|
|
|
- TFC_AZURE_CLIENT_SECRET: ${{ secrets.TFC_AZURE_CLIENT_SECRET }}
|
|
|
- TFC_AZURE_TENANT_ID: ${{ secrets.TFC_AZURE_TENANT_ID }}
|
|
|
- TFC_AZURE_SUBSCRIPTION_ID: ${{ secrets.TFC_AZURE_SUBSCRIPTION_ID }}
|
|
|
- TFC_VAULT_URL: ${{ secrets.TFC_VAULT_URL }}
|
|
|
|
|
|
jobs:
|
|
|
|
|
|
@@ -101,6 +75,12 @@ jobs:
|
|
|
id-token: write
|
|
|
contents: read
|
|
|
packages: write
|
|
|
+ env:
|
|
|
+ AWS_OIDC_ROLE_ARN: ${{ secrets.AWS_OIDC_ROLE_ARN }}
|
|
|
+ AWS_SA_NAME: ${{ secrets.AWS_SA_NAME }}
|
|
|
+ AWS_SA_NAMESPACE: ${{ secrets.AWS_SA_NAMESPACE }}
|
|
|
+ TF_VAR_AWS_SA_NAME: ${{ secrets.AWS_SA_NAME }}
|
|
|
+ TF_VAR_AWS_SA_NAMESPACE: ${{ secrets.AWS_SA_NAMESPACE }}
|
|
|
steps:
|
|
|
- uses: step-security/harden-runner@fe104658747b27e96e4f7e80cd0a94068e53901d # v2.16.1
|
|
|
with:
|
|
|
@@ -110,6 +90,7 @@ jobs:
|
|
|
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
|
with:
|
|
|
ref: 'refs/pull/${{ github.event.client_payload.pull_request.number }}/merge'
|
|
|
+ persist-credentials: false
|
|
|
|
|
|
- name: Setup Go
|
|
|
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
|
|
|
@@ -141,7 +122,7 @@ jobs:
|
|
|
- name: Configure AWS Credentials
|
|
|
uses: aws-actions/configure-aws-credentials@8df5847569e6427dd6c4fb1cf565c83acfa8afa7
|
|
|
with:
|
|
|
- role-to-assume: ${{ secrets.AWS_OIDC_ROLE_ARN }}
|
|
|
+ role-to-assume: ${{ env.AWS_OIDC_ROLE_ARN }}
|
|
|
aws-region: ${{ env.AWS_REGION }}
|
|
|
|
|
|
- name: Apply Terraform
|
|
|
@@ -176,6 +157,17 @@ jobs:
|
|
|
id-token: write
|
|
|
contents: read
|
|
|
packages: write
|
|
|
+ env:
|
|
|
+ GCP_SERVICE_ACCOUNT_KEY: ${{ secrets.GCP_SERVICE_ACCOUNT_KEY }}
|
|
|
+ GCP_SM_SA_GKE_JSON: ${{ secrets.GCP_SM_SA_GKE_JSON }}
|
|
|
+ GCP_FED_REGION: ${{ secrets.GCP_FED_REGION }}
|
|
|
+ TF_VAR_GCP_FED_REGION: ${{ secrets.GCP_FED_REGION }}
|
|
|
+ GCP_KSA_NAME: ${{ secrets.GCP_KSA_NAME }}
|
|
|
+ TF_VAR_GCP_KSA_NAME: ${{ secrets.GCP_KSA_NAME }}
|
|
|
+ GCP_FED_PROJECT_ID: ${{ secrets.GCP_FED_PROJECT_ID }}
|
|
|
+ TF_VAR_GCP_FED_PROJECT_ID: ${{ secrets.GCP_FED_PROJECT_ID }}
|
|
|
+ GCP_FED_SERVICE_ACCOUNT_EMAIL: ${{ secrets.GCP_FED_SERVICE_ACCOUNT_EMAIL }}
|
|
|
+ GCP_FED_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.GCP_FED_WORKLOAD_IDENTITY_PROVIDER }}
|
|
|
steps:
|
|
|
- uses: step-security/harden-runner@fe104658747b27e96e4f7e80cd0a94068e53901d # v2.16.1
|
|
|
with:
|
|
|
@@ -185,6 +177,7 @@ jobs:
|
|
|
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
|
with:
|
|
|
ref: 'refs/pull/${{ github.event.client_payload.pull_request.number }}/merge'
|
|
|
+ persist-credentials: false
|
|
|
|
|
|
- name: Setup Go
|
|
|
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
|
|
|
@@ -216,9 +209,9 @@ jobs:
|
|
|
- name: Authenticate to Google Cloud
|
|
|
uses: 'google-github-actions/auth@fc2174804b84f912b1f6d334e9463f484f1c552d' # v3
|
|
|
with:
|
|
|
- project_id: ${{ secrets.GCP_FED_PROJECT_ID }}
|
|
|
- service_account: ${{ secrets.GCP_FED_SERVICE_ACCOUNT_EMAIL }}
|
|
|
- workload_identity_provider: ${{ secrets.GCP_FED_WORKLOAD_IDENTITY_PROVIDER }}
|
|
|
+ project_id: ${{ env.GCP_FED_PROJECT_ID }}
|
|
|
+ service_account: ${{ env.GCP_FED_SERVICE_ACCOUNT_EMAIL }}
|
|
|
+ workload_identity_provider: ${{ env.GCP_FED_WORKLOAD_IDENTITY_PROVIDER }}
|
|
|
create_credentials_file: true
|
|
|
|
|
|
- name: Apply Terraform
|
|
|
@@ -234,7 +227,7 @@ jobs:
|
|
|
with:
|
|
|
cluster_name: '${{ env.GCP_GKE_CLUSTER }}'
|
|
|
location: 'europe-west1'
|
|
|
- project_id: '${{ secrets.GCP_FED_PROJECT_ID }}'
|
|
|
+ project_id: '${{ env.GCP_FED_PROJECT_ID }}'
|
|
|
|
|
|
- name: Login to Docker
|
|
|
uses: docker/login-action@4907a6ddec9925e35a0a9e82d7399ccc52663121 # v4.1.0
|
|
|
@@ -246,7 +239,7 @@ jobs:
|
|
|
|
|
|
- name: Run GCP e2e Tests
|
|
|
env:
|
|
|
- GCP_SERVICE_ACCOUNT_KEY: ${{ secrets.GCP_SERVICE_ACCOUNT_KEY }}
|
|
|
+ GCP_SERVICE_ACCOUNT_KEY: ${{ env.GCP_SERVICE_ACCOUNT_KEY }}
|
|
|
run: |
|
|
|
export PATH=$PATH:$(go env GOPATH)/bin
|
|
|
make test.e2e.managed GINKGO_LABELS="gcp && managed" TEST_SUITES="provider"
|
|
|
@@ -264,6 +257,12 @@ jobs:
|
|
|
id-token: write
|
|
|
contents: read
|
|
|
packages: write
|
|
|
+ env:
|
|
|
+ TFC_AZURE_CLIENT_ID: ${{ secrets.TFC_AZURE_CLIENT_ID }}
|
|
|
+ TFC_AZURE_CLIENT_SECRET: ${{ secrets.TFC_AZURE_CLIENT_SECRET }}
|
|
|
+ TFC_AZURE_TENANT_ID: ${{ secrets.TFC_AZURE_TENANT_ID }}
|
|
|
+ TFC_AZURE_SUBSCRIPTION_ID: ${{ secrets.TFC_AZURE_SUBSCRIPTION_ID }}
|
|
|
+ TFC_VAULT_URL: ${{ secrets.TFC_VAULT_URL }}
|
|
|
steps:
|
|
|
- uses: step-security/harden-runner@fe104658747b27e96e4f7e80cd0a94068e53901d # v2.16.1
|
|
|
with:
|
|
|
@@ -273,6 +272,7 @@ jobs:
|
|
|
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
|
with:
|
|
|
ref: 'refs/pull/${{ github.event.client_payload.pull_request.number }}/merge'
|
|
|
+ persist-credentials: false
|
|
|
|
|
|
- name: Setup Go
|
|
|
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
|
|
|
@@ -304,15 +304,15 @@ jobs:
|
|
|
- name: Azure CLI login
|
|
|
uses: azure/login@532459ea530d8321f2fb9bb10d1e0bcf23869a43
|
|
|
with:
|
|
|
- client-id: ${{ secrets.TFC_AZURE_CLIENT_ID }}
|
|
|
- tenant-id: ${{ secrets.TFC_AZURE_TENANT_ID }}
|
|
|
- subscription-id: ${{ secrets.TFC_AZURE_SUBSCRIPTION_ID }}
|
|
|
+ client-id: ${{ env.TFC_AZURE_CLIENT_ID }}
|
|
|
+ tenant-id: ${{ env.TFC_AZURE_TENANT_ID }}
|
|
|
+ subscription-id: ${{ env.TFC_AZURE_SUBSCRIPTION_ID }}
|
|
|
|
|
|
- name: Apply Terraform
|
|
|
env:
|
|
|
- ARM_CLIENT_ID: "${{ secrets.TFC_AZURE_CLIENT_ID }}"
|
|
|
- ARM_SUBSCRIPTION_ID: "${{ secrets.TFC_AZURE_SUBSCRIPTION_ID }}"
|
|
|
- ARM_TENANT_ID: "${{ secrets.TFC_AZURE_TENANT_ID }}"
|
|
|
+ ARM_CLIENT_ID: ${{ env.TFC_AZURE_CLIENT_ID }}
|
|
|
+ ARM_SUBSCRIPTION_ID: ${{ env.TFC_AZURE_SUBSCRIPTION_ID }}
|
|
|
+ ARM_TENANT_ID: ${{ env.TFC_AZURE_TENANT_ID }}
|
|
|
run: make tf.apply.azure
|
|
|
|
|
|
- name: Get AKS credentials
|
|
|
@@ -334,9 +334,9 @@ jobs:
|
|
|
- name: Destroy Terraform
|
|
|
if: always()
|
|
|
env:
|
|
|
- ARM_CLIENT_ID: "${{ secrets.TFC_AZURE_CLIENT_ID }}"
|
|
|
- ARM_SUBSCRIPTION_ID: "${{ secrets.TFC_AZURE_SUBSCRIPTION_ID }}"
|
|
|
- ARM_TENANT_ID: "${{ secrets.TFC_AZURE_TENANT_ID }}"
|
|
|
+ ARM_CLIENT_ID: ${{ env.TFC_AZURE_CLIENT_ID }}
|
|
|
+ ARM_SUBSCRIPTION_ID: ${{ env.TFC_AZURE_SUBSCRIPTION_ID }}
|
|
|
+ ARM_TENANT_ID: ${{ env.TFC_AZURE_TENANT_ID }}
|
|
|
run: make tf.destroy.azure
|
|
|
|
|
|
# Final status update job
|