burrow/Scripts/openbao-tofu.sh
Conrad Kramer 002bd382e9
Some checks failed
Cache: Publish Nix / Publish Nix Cache (push) Waiting to run
Build Rust / Cargo Test (push) Successful in 4m14s
Build Site / Next.js Build (push) Failing after 6s
Infra: OpenTofu / OpenTofu (grafana) (push) Successful in 5s
Lint Governance / BEP Metadata (push) Successful in 0s
Build: Android / Android Rust Core Stub (push) Failing after 23s
Wire Forge-native release infrastructure
2026-06-07 05:51:12 -07:00

41 lines
1.1 KiB
Bash
Executable file

#!/usr/bin/env bash
set -euo pipefail
ROOT="$(
git rev-parse --show-toplevel 2>/dev/null || {
cd "$(dirname "${BASH_SOURCE[0]}")/.."
pwd
}
)"
work_dir="${BURROW_OPENBAO_TOFU_DIR:-$ROOT/infra/openbao}"
plugin_cache_dir="${BURROW_TOFU_PLUGIN_CACHE_DIR:-$ROOT/.cache/opentofu/plugins}"
usage() {
cat <<'EOF'
Usage: Scripts/openbao-tofu.sh [tofu args...]
Runs OpenTofu for Burrow OpenBao cloud seal and OpenBao API configuration. The
Vault/OpenBao provider reads VAULT_TOKEN from the environment when managing
OpenBao mounts, policies, or auth backends.
Examples:
Scripts/openbao-tofu.sh init -backend-config=backend.hcl
Scripts/openbao-tofu.sh plan -var-file=terraform.tfvars
Local syntax check:
Scripts/openbao-tofu.sh init -backend=false
Scripts/openbao-tofu.sh validate
EOF
}
if [[ "${1:-}" == "-h" || "${1:-}" == "--help" ]]; then
usage
exit 0
fi
mkdir -p "$plugin_cache_dir"
export TF_PLUGIN_CACHE_DIR="$plugin_cache_dir"
export TF_IN_AUTOMATION="${TF_IN_AUTOMATION:-true}"
exec nix shell --inputs-from "$ROOT" nixpkgs#opentofu -c tofu -chdir="$work_dir" "$@"