Terraform Destroy Workflow #9
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: Terraform Destroy Workflow | |
| on: | |
| workflow_dispatch: | |
| jobs: | |
| terraform-destroy: | |
| name: Terraform Destroy | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout Repository | |
| uses: actions/checkout@v5 | |
| - name: Login to AWS | |
| uses: aws-actions/[email protected] | |
| with: | |
| aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
| aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
| aws-region: us-east-1 | |
| - name: Setup Terraform | |
| uses: hashicorp/[email protected] | |
| with: | |
| terraform_version: 1.5.7 | |
| - name: Update kubeconfig | |
| run: aws eks update-kubeconfig --name otel-cluster --region us-east-1 | |
| - name: Delete ArgoCD Applications (app + monitoring) | |
| run: | | |
| kubectl delete application my-app -n argocd || true | |
| kubectl delete application kube-prometheus-stack -n argocd || true | |
| - name: Delete Monitoring Namespace | |
| run: kubectl delete namespace monitoring || true | |
| - name: Delete App Namespace | |
| run: kubectl delete namespace my-app-namespace || true | |
| - name: Uninstall ArgoCD | |
| run: | | |
| helm uninstall argocd -n argocd || true | |
| kubectl delete namespace argocd || true | |
| - name: Cleanup PVCs (to release EBS volumes) | |
| run: | | |
| kubectl delete pvc --all -A || true | |
| kubectl delete pv --all || true | |
| - name: Terraform Init | |
| run: terraform init | |
| working-directory: ./Terraform | |
| - name: Terraform Destroy | |
| run: terraform destroy -auto-approve | |
| working-directory: ./Terraform |