Skip to content

Destroy AWS Route53 Hosted Zone and Terraform State Bucket (EKS) #1

Destroy AWS Route53 Hosted Zone and Terraform State Bucket (EKS)

Destroy AWS Route53 Hosted Zone and Terraform State Bucket (EKS) #1

name: Destroy AWS Route53 Hosted Zone and Terraform State Bucket (EKS)
on:
workflow_dispatch: # Manual trigger only
env:
TERRAFORM_VERSION: 1.10.3
AWS_REGION: eu-west-1
jobs:
destroy-hosted-zone:
name: Destroy Route53 Hosted Zone (EKS)
runs-on: ubuntu-latest
steps:
- name: Checkout code from the repository
uses: actions/checkout@v4
- name: Set up Terraform
uses: hashicorp/setup-terraform@v3
with:
terraform_version: ${{ env.TERRAFORM_VERSION }}
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ${{ env.AWS_REGION }}
- name: Initialize Terraform on the hosted zone directory
run: terraform init -backend-config="../backend-config.hcl" -backend-config="region=${{ env.AWS_REGION }}"
working-directory: infra-eks/deployment/hosted_zone
- name: Destroy resources on the hosted zone directory
run: terraform destroy -var-file="../common.tfvars" -var-file="../domain.tfvars" -var-file="../backend.tfvars" -auto-approve
working-directory: infra-eks/deployment/hosted_zone
destroy-terraform-state-bucket:
name: Destroy Terraform State Bucket (EKS)
runs-on: ubuntu-latest
needs: [destroy-hosted-zone]
steps:
- name: Checkout code from the repository
uses: actions/checkout@v4
- name: Set up Terraform
uses: hashicorp/setup-terraform@v3
with:
terraform_version: ${{ env.TERRAFORM_VERSION }}
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ${{ env.AWS_REGION }}
- name: Delete the Terraform state files from the S3 bucket
run: |
STATE_BUCKET_NAME=$(grep "^state_bucket_name" infra-eks/deployment/backend.tfvars | cut -d'"' -f2)
aws s3 rm s3://${STATE_BUCKET_NAME} --recursive
- name: Initialize Terraform
run: terraform init
working-directory: infra-eks/deployment/backend
- name: Import the Terraform state bucket state
run: |
STATE_BUCKET_NAME=$(grep "^state_bucket_name" ../backend.tfvars | cut -d'"' -f2)
terraform import -var-file="../common.tfvars" -var-file="../backend.tfvars" aws_s3_bucket.terraform_state_bucket ${STATE_BUCKET_NAME}
working-directory: infra-eks/deployment/backend
- name: Destroy the Terraform state bucket
run: terraform destroy -var-file="../common.tfvars" -var-file="../backend.tfvars" -auto-approve
working-directory: infra-eks/deployment/backend