Skip to content

Commit 5ef2949

Browse files
authored
Merge branch 'main' into bugfix/eja-eli-579-fixing-non-standard-names
2 parents 1ad2f62 + 098a38f commit 5ef2949

3 files changed

Lines changed: 66 additions & 68 deletions

File tree

.github/workflows/release-candidate.yml

Lines changed: 45 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -103,9 +103,9 @@ jobs:
103103
- name: "Get S3 bucket name"
104104
id: bucket
105105
run: |
106-
cd infrastructure/stacks/api-layer
107-
terraform init -backend=true
108-
BUCKET=$(terraform output -raw lambda_artifact_bucket)
106+
cd infrastructure
107+
make terraform env=dev stack=api-layer tf-command=init workspace=default
108+
BUCKET=$(terraform -chdir=./stacks/api-layer output -raw lambda_artifact_bucket)
109109
echo "name=$BUCKET" >> $GITHUB_OUTPUT
110110
echo "📦 S3 Bucket: $BUCKET"
111111
@@ -124,6 +124,25 @@ jobs:
124124
echo "exists=false" >> $GITHUB_OUTPUT
125125
fi
126126
127+
- name: "Download artifact for workflow reuse"
128+
if: steps.check.outputs.exists == 'true'
129+
run: |
130+
TAG="${{ needs.validate.outputs.dev_tag }}"
131+
BUCKET="${{ steps.bucket.outputs.name }}"
132+
mkdir -p ./dist
133+
aws s3 cp \
134+
"s3://$BUCKET/artifacts/$TAG/lambda.zip" \
135+
./dist/lambda.zip \
136+
--region eu-west-2
137+
138+
- name: "Upload lambda artifact"
139+
if: steps.check.outputs.exists == 'true'
140+
uses: actions/upload-artifact@v4
141+
with:
142+
name: lambda-${{ needs.validate.outputs.dev_tag }}
143+
path: dist/lambda.zip
144+
if-no-files-found: error
145+
127146
rebuild-artifact:
128147
name: "Rebuild and upload artifact (if missing)"
129148
runs-on: ubuntu-latest
@@ -165,6 +184,13 @@ jobs:
165184
--region eu-west-2
166185
echo "✅ Uploaded artifact to s3://$BUCKET/artifacts/$TAG/lambda.zip"
167186
187+
- name: "Upload lambda artifact"
188+
uses: actions/upload-artifact@v4
189+
with:
190+
name: lambda-${{ needs.validate.outputs.dev_tag }}
191+
path: dist/lambda.zip
192+
if-no-files-found: error
193+
168194
deploy-to-test:
169195
name: "Deploy to Test (optional)"
170196
runs-on: ubuntu-latest
@@ -189,21 +215,11 @@ jobs:
189215
with:
190216
terraform_version: $(grep '^terraform' .tool-versions | cut -f2 -d' ')
191217

192-
- name: "Configure AWS Credentials (dev) - to download artifact"
193-
uses: aws-actions/configure-aws-credentials@v5
218+
- name: "Download lambda artifact"
219+
uses: actions/download-artifact@v4
194220
with:
195-
role-to-assume: arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID }}:role/service-roles/github-actions-api-deployment-role
196-
aws-region: eu-west-2
197-
198-
- name: "Download lambda from S3 (dev bucket)"
199-
run: |
200-
TAG="${{ needs.validate.outputs.dev_tag }}"
201-
BUCKET="${{ needs.verify-artifact.outputs.s3_bucket }}"
202-
mkdir -p ./dist
203-
aws s3 cp \
204-
"s3://$BUCKET/artifacts/$TAG/lambda.zip" \
205-
./dist/lambda.zip \
206-
--region eu-west-2
221+
name: lambda-${{ needs.validate.outputs.dev_tag }}
222+
path: dist
207223

208224
- name: "Configure AWS Credentials (test)"
209225
uses: aws-actions/configure-aws-credentials@v5
@@ -220,6 +236,7 @@ jobs:
220236
TF_VAR_API_PRIVATE_KEY_CERT: ${{ secrets.API_PRIVATE_KEY_CERT }}
221237
TF_VAR_SPLUNK_HEC_TOKEN: ${{ secrets.SPLUNK_HEC_TOKEN }}
222238
TF_VAR_SPLUNK_HEC_ENDPOINT: ${{ secrets.SPLUNK_HEC_ENDPOINT }}
239+
TF_VAR_OPERATOR_EMAILS: ${{ vars.SECRET_ROTATION_OPERATOR_EMAILS }}
223240
run: |
224241
mkdir -p ./build
225242
echo "🚀 Deploying ${{ needs.validate.outputs.dev_tag }} to TEST"
@@ -237,8 +254,9 @@ jobs:
237254
- name: "Get test S3 bucket"
238255
id: test_bucket
239256
run: |
240-
cd infrastructure/stacks/api-layer
241-
BUCKET=$(terraform output -raw lambda_artifact_bucket)
257+
cd infrastructure
258+
make terraform env=test stack=api-layer tf-command=init workspace=default
259+
BUCKET=$(terraform -chdir=./stacks/api-layer output -raw lambda_artifact_bucket)
242260
echo "name=$BUCKET" >> $GITHUB_OUTPUT
243261
244262
- name: "Upload lambda to test S3"
@@ -295,42 +313,11 @@ jobs:
295313
with:
296314
terraform_version: $(grep '^terraform' .tool-versions | cut -f2 -d' ')
297315

298-
- name: "Determine source bucket (test or dev)"
299-
id: source
300-
run: |
301-
if [[ "${{ inputs.deploy_to_test }}" == "true" ]]; then
302-
echo "environment=test" >> $GITHUB_OUTPUT
303-
else
304-
echo "environment=dev" >> $GITHUB_OUTPUT
305-
fi
306-
307-
- name: "Configure AWS Credentials (source) - to download artifact"
308-
uses: aws-actions/configure-aws-credentials@v5
316+
- name: "Download lambda artifact"
317+
uses: actions/download-artifact@v4
309318
with:
310-
role-to-assume: arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID }}:role/service-roles/github-actions-api-deployment-role
311-
aws-region: eu-west-2
312-
313-
- name: "Get source S3 bucket"
314-
id: source_bucket
315-
env:
316-
ENV: ${{ steps.source.outputs.environment }}
317-
run: |
318-
cd infrastructure
319-
make terraform env=$ENV stack=api-layer tf-command=init workspace=default
320-
cd stacks/api-layer
321-
BUCKET=$(terraform output -raw lambda_artifact_bucket)
322-
echo "name=$BUCKET" >> $GITHUB_OUTPUT
323-
echo "📦 Source bucket ($ENV): $BUCKET"
324-
325-
- name: "Download lambda from source S3"
326-
run: |
327-
TAG="${{ needs.validate.outputs.dev_tag }}"
328-
BUCKET="${{ steps.source_bucket.outputs.name }}"
329-
mkdir -p ./dist
330-
aws s3 cp \
331-
"s3://$BUCKET/artifacts/$TAG/lambda.zip" \
332-
./dist/lambda.zip \
333-
--region eu-west-2
319+
name: lambda-${{ needs.validate.outputs.dev_tag }}
320+
path: dist
334321

335322
- name: "Configure AWS Credentials (preprod)"
336323
uses: aws-actions/configure-aws-credentials@v5
@@ -347,6 +334,7 @@ jobs:
347334
TF_VAR_API_PRIVATE_KEY_CERT: ${{ secrets.API_PRIVATE_KEY_CERT }}
348335
TF_VAR_SPLUNK_HEC_TOKEN: ${{ secrets.SPLUNK_HEC_TOKEN }}
349336
TF_VAR_SPLUNK_HEC_ENDPOINT: ${{ secrets.SPLUNK_HEC_ENDPOINT }}
337+
TF_VAR_OPERATOR_EMAILS: ${{ vars.SECRET_ROTATION_OPERATOR_EMAILS }}
350338
run: |
351339
mkdir -p ./build
352340
echo "🚀 Deploying ${{ needs.validate.outputs.dev_tag }} to PREPROD"
@@ -381,8 +369,9 @@ jobs:
381369
- name: "Get preprod S3 bucket"
382370
id: preprod_bucket
383371
run: |
384-
cd infrastructure/stacks/api-layer
385-
BUCKET=$(terraform output -raw lambda_artifact_bucket)
372+
cd infrastructure
373+
make terraform env=preprod stack=api-layer tf-command=init workspace=default
374+
BUCKET=$(terraform -chdir=./stacks/api-layer output -raw lambda_artifact_bucket)
386375
echo "name=$BUCKET" >> $GITHUB_OUTPUT
387376
388377
- name: "Upload lambda to preprod S3"

infrastructure/stacks/networking/ssm.tf

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,19 @@
1-
# resource "aws_ssm_parameter" "proxygen_private_key" {
2-
# count = var.environment == "dev" ? 1 : 0
3-
# name = "/proxygen/private_key"
4-
# type = "SecureString"
5-
# value = var.PROXYGEN_PRIVATE_KEY
6-
# tier = "Advanced"
7-
#
8-
# tags = {
9-
# Stack = local.stack_name
10-
# }
11-
# }
12-
#
1+
resource "aws_ssm_parameter" "proxygen_private_key" {
2+
name = "/${var.environment}/proxygen/private_key"
3+
type = "SecureString"
4+
key_id = aws_kms_key.networking_ssm_key.id
5+
value = var.PROXYGEN_PRIVATE_KEY
6+
tier = "Advanced"
7+
8+
tags = {
9+
Stack = local.stack_name
10+
}
11+
12+
lifecycle {
13+
ignore_changes = [value]
14+
}
15+
}
16+
1317
resource "aws_ssm_parameter" "mtls_api_ca_cert" {
1418
name = "/${var.environment}/mtls/api_ca_cert"
1519
type = "SecureString"

infrastructure/stacks/networking/variables.tf

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,8 @@ variable "API_PRIVATE_KEY_CERT" {
1313
description = "The private key for the signed Client Certificate"
1414
sensitive = true
1515
}
16+
variable "PROXYGEN_PRIVATE_KEY" {
17+
type = string
18+
description = "The private key for Proxygen authentication"
19+
sensitive = true
20+
}

0 commit comments

Comments
 (0)