Files
terraform-authentik/Makefile
T
unkin-agent 3662ff15ca
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/plan Pipeline was successful
Pin the authentik provider to 2026.5.1
Provider 2026.8.0 requires pbm_uuid on the applications API, which the
deployed authentik 2026.5.3 server does not return, so every
authentik_application read fails and no plan completes.

- Pin goauthentik/authentik to 2026.5.1, the newest release built on the
  2026.5 API client
- Record 2026.5.1 in the lock file
- Drop -upgrade from make init so the lock is authoritative
2026-09-19 12:51:26 +10:00

40 lines
1.4 KiB
Makefile

.PHONY: init plan apply format
VAULT_AUTH_METHOD ?= approle
VAULT_K8S_ROLE ?= woodpecker_terraform_authentik
VAULT_K8S_MOUNT ?= auth/k8s/au/syd1
VAULT_K8S_JWT_PATH ?= /var/run/secrets/kubernetes.io/serviceaccount/token
# kv-v2 location of the Authentik API token used by the provider.
AUTHENTIK_TOKEN_KV_MOUNT ?= kv
AUTHENTIK_TOKEN_KV_PATH ?= service/terraform/authentik
AUTHENTIK_TOKEN_KV_FIELD ?= token
define vault_env
@export VAULT_ADDR="https://vault.service.consul:8200" && \
if [ "$(VAULT_AUTH_METHOD)" = "kubernetes" ]; then \
export VAULT_TOKEN=$$(vault write -field=token $(VAULT_K8S_MOUNT)/login role=$(VAULT_K8S_ROLE) jwt=$$(cat $(VAULT_K8S_JWT_PATH))); \
else \
export VAULT_TOKEN=$$(vault write -field=token auth/approle/login role_id=$$VAULT_ROLEID); \
fi && \
export CONSUL_HTTP_TOKEN=$$(vault read -field=token consul_root/au/syd1/creds/terraform-authentik) && \
export TF_VAR_authentik_token=$$(vault kv get -mount=$(AUTHENTIK_TOKEN_KV_MOUNT) -field=$(AUTHENTIK_TOKEN_KV_FIELD) $(AUTHENTIK_TOKEN_KV_PATH))
endef
init:
@$(call vault_env) && \
terragrunt run --all --non-interactive init
plan: init
@$(call vault_env) && \
terragrunt run --all --parallelism 4 --non-interactive plan -- -lock=false
apply: init
@$(call vault_env) && \
terragrunt run --all --parallelism 2 --non-interactive apply
format:
@echo "Formatting OpenTofu files..."
@tofu fmt -recursive .
@echo "Formatting Terragrunt files..."
@terragrunt hcl fmt