17 lines
499 B
Bash
Executable File
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"
|