Skip to content

Commit e83f0be

Browse files
authored
feat: replace aws creds with oidc (#55)
* start over * add role
1 parent d4477c5 commit e83f0be

3 files changed

Lines changed: 16 additions & 17 deletions

File tree

.github/workflows/build-and-push-image-to-ecr.yaml

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,15 @@ on:
2626
default: ""
2727
type: string
2828
secrets:
29-
AWS_ACCESS_KEY_ID:
30-
required: true
31-
AWS_SECRET_ACCESS_KEY:
29+
AWS_ROLE_TO_ASSUME:
3230
required: true
31+
description: AWS OIDC role for GitHub to assume
3332

3433
jobs:
3534
build-and-push-image-to-ecr:
35+
permissions:
36+
id-token: write
37+
contents: read
3638
runs-on: ubuntu-latest
3739
steps:
3840
- name: Checkout current git repository
@@ -46,9 +48,8 @@ jobs:
4648
- name: Configure AWS credentials
4749
uses: aws-actions/configure-aws-credentials@v2
4850
with:
49-
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
50-
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
5151
aws-region: eu-central-1
52+
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
5253
- name: Create ECR repository if it doesn't exist
5354
run: |
5455
aws ecr describe-repositories --repository-names ${{ inputs.APPLICATION_NAME }} || \

.github/workflows/build-image.yaml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,9 @@ env:
6464
jobs:
6565
build-ecr-single:
6666
if: inputs.imageTargets == ''
67+
permissions:
68+
id-token: write
69+
contents: read
6770
environment: ${{ github.event.deployment.payload.env }}
6871
runs-on: ${{ inputs.runner }}
6972
steps:
@@ -87,9 +90,8 @@ jobs:
8790
- name: Configure AWS credentials
8891
uses: aws-actions/configure-aws-credentials@v2
8992
with:
90-
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
91-
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
9293
aws-region: eu-central-1
94+
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
9395
- name: Create ECR repository if it doesn't exist
9496
run: |
9597
aws ecr describe-repositories --repository-names ${{ github.event.deployment.payload.name }} || \
@@ -135,6 +137,9 @@ jobs:
135137
136138
build-ecr-matrix:
137139
if: inputs.imageTargets != ''
140+
permissions:
141+
id-token: write
142+
contents: read
138143
environment: ${{ github.event.deployment.payload.env }}
139144
runs-on: ${{ inputs.runner }}
140145
strategy:
@@ -161,9 +166,8 @@ jobs:
161166
- name: Configure AWS credentials
162167
uses: aws-actions/configure-aws-credentials@v2
163168
with:
164-
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
165-
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
166169
aws-region: eu-central-1
170+
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
167171
- name: Create ${{ matrix.containerfile_targets }} ECR repository if it doesn't exist
168172
run: |
169173
aws ecr describe-repositories --repository-names ${{ github.event.deployment.payload.name }}-${{ matrix.containerfile_targets }} || \

.github/workflows/kubernetes.yaml

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -120,15 +120,9 @@ on:
120120
sentryAuthToken:
121121
required: false
122122
description: Authentication token for Sentry
123-
AWS_ACCESS_KEY_ID:
123+
AWS_ROLE_TO_ASSUME:
124124
required: true
125-
description: Access key ID for AWS credentials
126-
AWS_SECRET_ACCESS_KEY:
127-
required: true
128-
description: Secet for AWS access key ID
129-
AWS_ACCOUNT_ID:
130-
required: true
131-
description: AWS Account ID
125+
description: AWS OIDC role for GitHub to assume
132126

133127
jobs:
134128
initialize:

0 commit comments

Comments
 (0)