Problem
The vault-config Terraform module has hardcoded Vault paths for RDS and application secrets, making it impossible to deploy across different environments.
Current State
# Lines 102, 114 in modules/vault-config/main.tf
resource "vault_kv_secret_v2" "rds_secrets" {
mount = vault_mount.kv.path
name = "demo/kubernetes/rds/testifysec-judge" # HARDCODED
...
}
resource "vault_kv_secret_v2" "app_secrets" {
mount = vault_mount.kv.path
name = "demo/kubernetes/app/testifysec-judge" # HARDCODED
...
}
Also hardcoded in Vault policies (lines 139-178).
Desired State
Make paths configurable:
variable "vault_env" {
default = "demo" # Override for staging/prod
}
variable "vault_project" {
default = "testifysec-judge"
}
resource "vault_kv_secret_v2" "rds_secrets" {
mount = vault_mount.kv.path
name = "${var.vault_env}/kubernetes/rds/${var.vault_project}"
...
}
Files to Update
modules/vault-config/main.tf - Add variables for vault_env and vault_project
modules/vault-config/variables.tf - Define variables
- All hardcoded paths in vault policies
Impact
- High Priority: Required for multi-environment deployments
- Matches Helm chart templating requirements
Labels
- enhancement
- terraform
- vault
Problem
The vault-config Terraform module has hardcoded Vault paths for RDS and application secrets, making it impossible to deploy across different environments.
Current State
Also hardcoded in Vault policies (lines 139-178).
Desired State
Make paths configurable:
Files to Update
modules/vault-config/main.tf- Add variables for vault_env and vault_projectmodules/vault-config/variables.tf- Define variablesImpact
Labels