28 lines
900 B
Bash
Executable file
28 lines
900 B
Bash
Executable file
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
ROOT_DIR=$(cd "$(dirname "$0")/../.." && pwd)
|
|
TF_DIR="$ROOT_DIR/infra/terraform/hetzner"
|
|
|
|
: "${HCLOUD_TOKEN:?set HCLOUD_TOKEN}"
|
|
: "${SSH_PUBLIC_KEY_PATH:?set SSH_PUBLIC_KEY_PATH}"
|
|
: "${PUBLIC_DOMAIN:=bootstrap.example.com}"
|
|
: "${TAILSCALE_AUTH_KEY:=}"
|
|
: "${TAILSCALE_CONTROL_PLANE_HOSTNAME:=}"
|
|
: "${TF_ADMIN_CIDR_BLOCKS:=}"
|
|
|
|
SSH_PUBLIC_KEY=$(cat "$SSH_PUBLIC_KEY_PATH")
|
|
TF_VARS=(
|
|
-var "hcloud_token=$HCLOUD_TOKEN"
|
|
-var "ssh_public_key=$SSH_PUBLIC_KEY"
|
|
-var "public_domain=$PUBLIC_DOMAIN"
|
|
-var "tailscale_auth_key=$TAILSCALE_AUTH_KEY"
|
|
-var "tailscale_control_plane_hostname=$TAILSCALE_CONTROL_PLANE_HOSTNAME"
|
|
)
|
|
|
|
if [[ -n "$TF_ADMIN_CIDR_BLOCKS" && "$TF_ADMIN_CIDR_BLOCKS" != '[]' ]]; then
|
|
TF_VARS+=( -var "admin_cidr_blocks=$TF_ADMIN_CIDR_BLOCKS" )
|
|
fi
|
|
|
|
terraform -chdir="$TF_DIR" init
|
|
terraform -chdir="$TF_DIR" destroy -auto-approve "${TF_VARS[@]}"
|