makefile: source TF_VAR_authentik_token from vault (kv/service/terraform/authentik)
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:
@@ -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:
|
||||||
|
|||||||
Reference in New Issue
Block a user