Skip to content

Commit cc90004

Browse files
authored
feat: add Azure support and AWS OIDC role config to tf-checks workflow (#217)
1 parent 8341481 commit cc90004

File tree

1 file changed

+30
-6
lines changed

1 file changed

+30
-6
lines changed

.github/workflows/tf-checks.yml

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,16 @@ on:
1818
description: 'Terraform version to use. Leave empty for the latest version.'
1919
required: false
2020
type: string
21-
aws_credentials:
22-
description: 'AWS credentials to use.'
21+
aws_region:
2322
required: false
24-
default: false
2523
type: string
24+
default: us-east-1
25+
description: 'AWS region of terraform deployment.'
26+
role_duration_seconds:
27+
required: false
28+
type: number
29+
default: 3600
30+
description: 'The assumed role duration in seconds, if assuming a role. Defaults to 1 hour (3600 seconds). Acceptable values range from 15 minutes (900 seconds) to 12 hours (43200 seconds).'
2631
gcp_credentials:
2732
description: 'GCP credentials to use.'
2833
required: false
@@ -48,12 +53,21 @@ on:
4853
default: true
4954
description: 'If true, the action will securely generate a credentials file which can be used for authentication via gcloud and Google Cloud SDKs.'
5055
secrets:
56+
AZURE_CREDENTIALS:
57+
required: false
58+
description: 'Azure Credentials to install Azure in github runner.'
5159
AWS_ACCESS_KEY_ID:
5260
description: 'aws access keys'
5361
required: false
5462
AWS_SECRET_ACCESS_KEY:
5563
description: 'aws secret access keys'
5664
required: false
65+
AWS_SESSION_TOKEN:
66+
required: false
67+
description: 'AWS Session Token to install AWS CLI'
68+
BUILD_ROLE:
69+
required: false
70+
description: 'AWS OIDC role for aws authentication.'
5771
GCP_CREDENTIALS:
5872
description: 'The Google Cloud JSON service account key to use for authentication'
5973
required: false
@@ -104,13 +118,23 @@ jobs:
104118
- name: Checkout
105119
uses: actions/checkout@v4
106120

107-
- name: Configure AWS credentials
108-
if: ${{ inputs.aws_credentials == 'true' }}
121+
- name: Install AWS CLI
122+
if: ${{ inputs.provider == 'aws' }}
109123
uses: aws-actions/configure-aws-credentials@v4
110124
with:
111125
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
112126
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
113-
aws-region: us-east-1
127+
aws-session-token: ${{ secrets.AWS_SESSION_TOKEN }}
128+
role-to-assume: ${{ secrets.BUILD_ROLE }}
129+
aws-region: ${{ inputs.aws_region }}
130+
role-duration-seconds: ${{ inputs.role_duration_seconds }}
131+
role-skip-session-tagging: true
132+
133+
- name: Install Azure CLI
134+
if: ${{ inputs.provider == 'azurerm' }}
135+
uses: azure/login@v2
136+
with:
137+
creds: ${{ secrets.AZURE_CREDENTIALS }}
114138

115139
- name: 'Authenticate to Google Cloud'
116140
if: ${{ inputs.provider == 'gcp' }}

0 commit comments

Comments
 (0)