unkinben b133fcdf88
ci/woodpecker/pr/plan Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
Add NetBox secrets engine: mount, roles, policies
Why:
- terraform-infra and the puppet netbox fact use static NetBox API tokens; the
  released vault-plugin-secrets-netbox mints per-consumer ephemeral tokens with
  lease-bound revocation, removing the long-lived secrets.

How:
- Register the vault-plugin-secrets-netbox v0.1.0 plugin in the catalog
  (config/plugins), pinning the released binary sha256.
- Add netbox_secret_backend + netbox_secret_backend_role modules and their
  config/terragrunt wiring, mirroring the gitea engine.
- Mount the engine at netbox with its admin token seeded from KV and rotated in
  place (lifecycle ignore_changes on the seed).
- Add roles: puppet-facts (read-only, 24h/72h) and terraform-infra
  (write, 1h/4h), each mapped to its NetBox service user.
- Add the netbox admin policy for the deployer and a netbox/creds/terraform-infra
  read policy bound to the terraform-infra AppRole + k8s auth role.
2026-08-09 00:15:49 +10:00
2024-09-09 22:57:00 +10:00
2026-05-21 23:52:30 +10:00
2024-09-23 22:01:18 +10:00

terraform-vault

A repository to manage the configuration of Vault secret engines, authentication modes and policies.

Usage

  1. Initialize Terraform

Once you have your backend block configured, you need to initialize your Terraform working directory to configure the backend:

terraform init

This command initializes the backend and checks the connection to Consul. If everything is set up correctly, Terraform will start using Consul as its backend for storing the state.

  1. Common terraform init Errors

If you encounter errors while running terraform init, check the following:

Consul server is reachable: Make sure that the address is correct and that you can connect to the Consul server.
Consul token (if using ACLs): Verify that the token has the correct permissions to write to the specified path in the Consul KV store.
  1. Example Consul KV Structure

In Consul, the state file will be stored in the KV store under the specified path:

terraform/state

You can check the Consul KV store by accessing the Consul UI or using the consul kv command to see the stored Terraform state:

consul kv get terraform/state
S
Description
A repository to manage the configuration of Vault secret engines, authentication modes and policies.
Readme MIT 1.1 MiB
Languages
HCL 99.3%
Makefile 0.7%