Destroy AWS Route53 Hosted Zone and Terraform State Bucket (EKS) #1
This file contains hidden or 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
| 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 |