feat: set up SSE-KMS encryption for S3 (#50) #26
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# ===================================================================================== # | |
# GitHub Actions configuration file for an AWS Glue ETL application # | |
# # | |
# This workflow will: # | |
# 1. Create AWS resources for the production environment using Terraform. # | |
# ===================================================================================== # | |
name: on IaC PUSH to [main] | |
on: | |
push: | |
branches: [main] | |
paths: | |
- ".github/workflows/on-iac-*.yaml" | |
- "infrastructure/**" | |
jobs: | |
# ===================================================================================== # | |
# CREATE THE AWS RESOURCES FOR THE PRODUCTION ENVIRONMENT # | |
# ===================================================================================== # | |
terraform-production-infrastructure: | |
environment: production | |
runs-on: ubuntu-latest | |
permissions: | |
id-token: write # This is required for requesting the JWT | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Configure AWS credentials | |
uses: aws-actions/configure-aws-credentials@v3 | |
with: | |
role-to-assume: arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID }}:role/GlueCICDGitHubActionsServiceRole | |
aws-region: ${{ vars.AWS_REGION }} | |
- uses: hashicorp/setup-terraform@v2 | |
- name: Terraform style check | |
run: terraform fmt -check -recursive ./infrastructure | |
- name: Terraform validate | |
run: terraform -chdir=./infrastructure validate | |
- name: Terraform init | |
run: terraform -chdir=./infrastructure/environments/prod init -input=false | |
- name: Terraform plan | |
run: terraform -chdir=./infrastructure/environments/prod plan -input=false | |
- name: Terraform apply | |
run: terraform -chdir=./infrastructure/environments/prod apply -input=false -auto-approve |