3 Commits

Author SHA1 Message Date
unkinben 6e7a052293 Grant terraform-infra kv metadata read
vault_kv_secret_v2 (terraform-infra providers.tf data source) reads the kv-v2
metadata path on every plan/apply; add read on kv/metadata/service/terraform/infra
so the plan doesn't 403 (same pattern as the terraform-git gitea config policy).

Claude-Session: https://claude.ai/code/session_01JUoARVdmhxKQHyyyp1pxeT
2026-08-06 23:09:13 +10:00
unkinben ba5f49f358 ci: re-run (litellm provider transient 500 on prior plan)
ci/woodpecker/pr/plan Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
Claude-Session: https://claude.ai/code/session_01JUoARVdmhxKQHyyyp1pxeT
2026-08-05 00:57:52 +10:00
unkinben 92b8fdd0dd Rename terraform-ipam CI Vault access -> terraform-infra
ci/woodpecker/pr/plan Pipeline failed
ci/woodpecker/pr/pre-commit Pipeline was successful
Follows the terraform-ipam -> terraform-infra repo rename: role
woodpecker_terraform_infra, consul role/ACL policy terraform-infra
(state path infra/terraform/infra/*), creds + kv read policies.

Claude-Session: https://claude.ai/code/session_01JUoARVdmhxKQHyyyp1pxeT
2026-08-05 00:52:10 +10:00
7 changed files with 32 additions and 27 deletions
@@ -1,5 +1,5 @@
bound_service_account_names:
- terraform-ipam
- terraform-infra
bound_service_account_namespaces:
- woodpecker
token_ttl: 600
@@ -1,5 +1,5 @@
consul_roles:
- terraform-ipam
- terraform-infra
ttl: 120
max_ttl: 300
datacenters: []
@@ -0,0 +1,11 @@
---
rules:
- path: "consul_root/au/syd1/creds/terraform-infra"
capabilities:
- read
auth:
approle:
- terraform_infra
k8s/au/syd1:
- woodpecker_terraform_infra
@@ -1,11 +0,0 @@
---
rules:
- path: "consul_root/au/syd1/creds/terraform-ipam"
capabilities:
- read
auth:
approle:
- terraform_ipam
k8s/au/syd1:
- woodpecker_terraform_ipam
+18
View File
@@ -0,0 +1,18 @@
# Allow the terraform-infra runner to read the NetBox + KeaAPI tokens
# (netbox_token / kea_token fields) used by the netbox and kea providers.
---
rules:
- path: "kv/data/service/terraform/infra"
capabilities:
- read
# vault_kv_secret_v2 (providers.tf data source) reads the kv-v2 metadata path
# on every plan/apply; a 403 here fails the plan.
- path: "kv/metadata/service/terraform/infra"
capabilities:
- read
auth:
approle:
- terraform_infra
k8s/au/syd1:
- woodpecker_terraform_infra
-13
View File
@@ -1,13 +0,0 @@
# Allow the Terraform IPAM runner to read the NetBox + KeaAPI tokens
# (netbox_token / kea_token fields) used by the netbox and kea providers.
---
rules:
- path: "kv/data/service/terraform/ipam"
capabilities:
- read
auth:
approle:
- terraform_ipam
k8s/au/syd1:
- woodpecker_terraform_ipam
@@ -1,4 +1,4 @@
key_prefix "infra/terraform/ipam/" {
key_prefix "infra/terraform/infra/" {
policy = "write"
}