Skip to content

Terraform deploy with OIDC #103

Terraform deploy with OIDC

Terraform deploy with OIDC #103

name: Terraform deploy with OIDC
on:
workflow_dispatch:
inputs:
target-host-environment:
type: choice
description: The AWS environment to deploy (dev/test/prod)
options:
- dev
- test
- prod
permissions:
id-token: write
contents: read
jobs:
TerraformPlan:
runs-on: ubuntu-latest
steps:
- name: Clone repo
uses: actions/checkout@v4
- name: Configure aws credentials
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: arn:aws:iam::035866691871:role/gha-incubator
role-session-name: ghaincubatorsession
aws-region: us-west-2
- name: Setup Terraform
uses: hashicorp/setup-terraform@v3
- name: Generate and apply plan
run: |
pushd ./terraform-incubator/home-unite-us/dev
terraform init
# mkdir -p ./tfshow
# terraform show -no-color 1> ./tfshow/before.tf 2>&1
# sudo apt-get -y update
# sudo apt-get install graphviz
# terraform graph -type=plan | dot -Tpng -o graph.png
terraform plan -out tf.plan
terraform apply tf.plan
# terraform show -no-color 1> ./tfshow/after.tf 2>&1
# tar czf ./homeuniteus.tfshow.tgz ./tfshow/*
# - name: Store plan
# uses: actions/upload-artifact@v4
# with:
# name: homeuniteus-tf-show
# path: ./terraform-incubator/home-unite-us/dev/homeuniteus.tfshow.tgz
# - name: Store plan
# uses: actions/upload-artifact@v4
# with:
# name: homeuniteus-graph
# path: ./terraform-incubator/home-unite-us/dev/graph.png
# - name: Login to Amazon ECR
# id: login-ecr
# uses: aws-actions/amazon-ecr-login@v2
# with:
# registries: "035866691871"
# - name: Push an example image
# run: |
# docker pull nginx:alpine
# docker tag nginx:alpine '035866691871.dkr.ecr.us-west-2.amazonaws.com/homeuniteus:nginx-20241002.1'
# docker push '035866691871.dkr.ecr.us-west-2.amazonaws.com/homeuniteus:nginx-20241002.1'