clan-infra/targets/admins/apply.sh
2023-07-04 17:52:06 +02:00

17 lines
499 B
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
rm -f .terraform.lock.hcl
TFSTATE=$(mktemp)
if [[ -f "terraform.tfstate.sops" ]]; then
sops -d terraform.tfstate.sops > "$TFSTATE"
fi
toplevel=$(git rev-parse --show-toplevel)
backupdir=$toplevel/.git/terraform/$(basename "$(dirname "$0")")
cleanup() {
sops -e "$TFSTATE" > terraform.tfstate.sops && rm -f "$TFSTATE"
}
trap "cleanup" EXIT
terraform init -backup="$backupdir" -state-out="$TFSTATE"
terraform apply -backup="$backupdir" -state-out="$TFSTATE"