Add Vault/Consul access for terraform-binarylane #164

Merged
benvin merged 2 commits from benvin/terraform-binarylane into master 2026-10-12 00:36:17 +11:00
8 changed files with 91 additions and 0 deletions
@@ -0,0 +1,9 @@
token_ttl: 120
token_max_ttl: 120
bind_secret_id: false
token_bound_cidrs:
- "10.10.12.200/32"
- "198.18.25.102/32"
- "198.18.26.91/32"
- "198.18.27.40/32"
use_deterministic_role_id: true
@@ -0,0 +1,7 @@
bound_service_account_names:
- terraform-binarylane
bound_service_account_namespaces:
- woodpecker
token_ttl: 600
token_max_ttl: 600
audience: https://kubernetes.default.svc.cluster.local
@@ -0,0 +1,5 @@
consul_roles:
- terraform-binarylane
ttl: 120
max_ttl: 300
datacenters: []
@@ -0,0 +1,11 @@
---
rules:
- path: "consul_root/au/syd1/creds/terraform-binarylane"
capabilities:
- read
auth:
approle:
- terraform_binarylane
k8s/au/syd1:
- woodpecker_terraform_binarylane
@@ -0,0 +1,13 @@
# Allow the Terraform BinaryLane runner to read its BinaryLane API token
# (provider auth).
---
rules:
- path: "kv/data/service/terraform/binarylane"
capabilities:
- read
auth:
approle:
- terraform_binarylane
k8s/au/syd1:
- woodpecker_terraform_binarylane
@@ -0,0 +1,16 @@
# Lets the agents AppRole seed and rotate the BinaryLane API token (no delete).
---
rules:
- path: "kv/data/service/terraform/binarylane"
capabilities:
- create
- read
- update
- path: "kv/metadata/service/terraform/binarylane"
capabilities:
- read
- list
auth:
approle:
- agents
@@ -0,0 +1,23 @@
# Let the terraform-binarylane runner store the WireGuard keypairs it generates
# for the BinaryLane gateways. delete lets `terraform destroy` and keypair
# replacement remove a secret and its metadata; vault_kv_secret_v2 reads
# metadata on every plan/apply.
---
rules:
- path: "kv/data/service/wireguard/binarylane/*"
capabilities:
- create
- read
- update
- delete
- path: "kv/metadata/service/wireguard/binarylane/*"
capabilities:
- read
- list
- delete
auth:
approle:
- terraform_binarylane
k8s/au/syd1:
- woodpecker_terraform_binarylane
@@ -0,0 +1,7 @@
key_prefix "infra/terraform/binarylane/" {
policy = "write"
}
session_prefix "" {
policy = "write"
}