makefile: source TF_VAR_authentik_token from vault (kv/service/terraform/authentik)
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/plan Pipeline failed

The authentik provider needs a token but nothing supplied it, so plan
failed with 'No value for required variable authentik_token'. Source it
from Vault in vault_env like the consul creds, from the dedicated
terraform-service path kv/service/terraform/authentik (field: token),
overridable via AUTHENTIK_TOKEN_KV_* vars.
This commit is contained in:
2026-07-06 23:32:21 +10:00
parent 41cc0fce8b
commit d96d36a079
+6 -1
View File
@@ -4,6 +4,10 @@ VAULT_AUTH_METHOD ?= approle
VAULT_K8S_ROLE ?= woodpecker_terraform_authentik VAULT_K8S_ROLE ?= woodpecker_terraform_authentik
VAULT_K8S_MOUNT ?= auth/k8s/au/syd1 VAULT_K8S_MOUNT ?= auth/k8s/au/syd1
VAULT_K8S_JWT_PATH ?= /var/run/secrets/kubernetes.io/serviceaccount/token 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 define vault_env
@export VAULT_ADDR="https://vault.service.consul:8200" && \ @export VAULT_ADDR="https://vault.service.consul:8200" && \
@@ -12,7 +16,8 @@ define vault_env
else \ else \
export VAULT_TOKEN=$$(vault write -field=token auth/approle/login role_id=$$VAULT_ROLEID); \ export VAULT_TOKEN=$$(vault write -field=token auth/approle/login role_id=$$VAULT_ROLEID); \
fi && \ fi && \
export CONSUL_HTTP_TOKEN=$$(vault read -field=token consul_root/au/syd1/creds/terraform-authentik) 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 endef
init: init: