refactor(gitops): establish platform ownership boundaries
This commit is contained in:
@@ -4,6 +4,7 @@ KUBE_CONTEXT ?=
|
||||
TF_ROOT ?=
|
||||
BACKEND_CONFIG ?=
|
||||
TF_DIR = iac/terraform/live/dev-k3s/$(TF_ROOT)
|
||||
PLAN_FILE ?= $(CURDIR)/.local/terraform-plans/dev-k3s-$(TF_ROOT).tfplan
|
||||
|
||||
bootstrap:
|
||||
@test -n "$(KUBE_CONTEXT)" || (echo "KUBE_CONTEXT is required" >&2; exit 1)
|
||||
@@ -17,8 +18,8 @@ vault-init:
|
||||
|
||||
check-terraform-inputs:
|
||||
@case "$(TF_ROOT)" in \
|
||||
vault-core|vault-database) ;; \
|
||||
*) echo "TF_ROOT must be vault-core or vault-database" >&2; exit 1 ;; \
|
||||
vault-foundation|vault-workloads|vault-database) ;; \
|
||||
*) echo "TF_ROOT must be vault-foundation, vault-workloads, or vault-database" >&2; exit 1 ;; \
|
||||
esac
|
||||
@test -f "$(BACKEND_CONFIG)" || (echo "BACKEND_CONFIG must point to a readable backend file" >&2; exit 1)
|
||||
|
||||
@@ -26,9 +27,16 @@ terraform-init: check-terraform-inputs
|
||||
terraform -chdir="$(TF_DIR)" init -input=false -reconfigure -backend-config="$(abspath $(BACKEND_CONFIG))"
|
||||
|
||||
terraform-plan: terraform-init
|
||||
terraform -chdir="$(TF_DIR)" plan -input=false -lock-timeout=5m
|
||||
@mkdir -p "$(dir $(PLAN_FILE))"
|
||||
@umask 077; terraform -chdir="$(TF_DIR)" plan \
|
||||
-input=false \
|
||||
-lock-timeout=5m \
|
||||
-out="$(PLAN_FILE)"
|
||||
|
||||
terraform-apply: terraform-init
|
||||
@test "$(APPROVE_APPLY)" = "dev-k3s/$(TF_ROOT)" || \
|
||||
(echo "Set APPROVE_APPLY=dev-k3s/$(TF_ROOT) to continue" >&2; exit 1)
|
||||
terraform -chdir="$(TF_DIR)" apply -input=false -lock-timeout=5m
|
||||
@test -f "$(PLAN_FILE)" || \
|
||||
(echo "Run terraform-plan first; approved plan is missing: $(PLAN_FILE)" >&2; exit 1)
|
||||
terraform -chdir="$(TF_DIR)" apply -input=false -lock-timeout=5m "$(PLAN_FILE)"
|
||||
@rm -f "$(PLAN_FILE)"
|
||||
|
||||
Reference in New Issue
Block a user