Skip to content

Destroy

Destroy #3

Workflow file for this run

name: 'Destroy'
on:
workflow_dispatch:
permissions:
contents: read
jobs:
terraform:
name: 'Validate & Lint, Plan, Apply'
runs-on: ubuntu-latest
environment: production
# Use the Bash shell regardless whether the GitHub Actions runner is ubuntu-latest, macos-latest, or windows-latest
defaults:
run:
shell: bash
steps:
# Checkout the repository to the GitHub Actions runner
- name: Checkout
uses: actions/checkout@v3
# Install the latest version of Terraform CLI and configure the Terraform CLI configuration file with a Terraform Cloud user API token
- name: Setup Terraform
uses: hashicorp/setup-terraform@v1
with:
terraform_version: 1.5.7
# Initialize a new or existing Terraform working directory by creating initial files, loading any remote state, downloading modules, etc.
- name: Terraform Init
id: init
run: terraform init
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_S3_ENDPOINT: ${{ vars.AWS_S3_ENDPOINT }}
KUBE_TOKEN: ${{ secrets.KUBE_TOKEN }}
TF_VAR_hcloud_api_token: ${{ secrets.TF_VAR_HCLOUD_API_TOKEN }}
TF_VAR_hosttech_dns_token: ${{ secrets.TF_VAR_HOSTTECH_DNS_TOKEN }}
TF_VAR_hosttech_dns_zone_id: ${{ vars.TF_VAR_HOSTTECH_DNS_ZONE_ID }}
- name: Terraform Validate
id: validate
run: terraform validate -no-color
# Checks that all Terraform configuration files adhere to a canonical format
- name: Terraform Format
id: fmt
run: terraform fmt -check
- name: Terraform Destroy module.training-setup
if: github.ref == 'refs/heads/main' && ( github.event_name == 'workflow_dispatch')
run: terraform destroy -auto-approve -input=false -target module.training-cluster -target output.training-kubeconfig -target output.argocd-admin-password -target output.student-passwords -target output.count-students -target output.studentname-prefix
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_S3_ENDPOINT: ${{ vars.AWS_S3_ENDPOINT }}
KUBE_TOKEN: ${{ secrets.KUBE_TOKEN }}
TF_VAR_hcloud_api_token: ${{ secrets.TF_VAR_HCLOUD_API_TOKEN }}
TF_VAR_hosttech_dns_token: ${{ secrets.TF_VAR_HOSTTECH_DNS_TOKEN }}
TF_VAR_hosttech_dns_zone_id: ${{ vars.TF_VAR_HOSTTECH_DNS_ZONE_ID }}