Make Vault paths configurable via template variables
Problem
The ExternalSecret templates in the Helm charts have hardcoded Vault paths, which limits reusability across different environments (dev, staging, production).
Current State
# In archivista/templates/external-secret-database.yaml
key: demo/kubernetes/rds/testifysec-judge
# In kratos/templates/external-secret-app.yaml
key: demo/kubernetes/rds/testifysec-judge
key: demo/kubernetes/app/testifysec-judge
Desired State
key: {{ .Values.global.secrets.vault.env }}/kubernetes/rds/{{ .Values.global.secrets.vault.project }}
key: {{ .Values.global.secrets.vault.env }}/kubernetes/app/{{ .Values.global.secrets.vault.project }}
Files to Update
charts/archivista/templates/external-secret-database.yaml
charts/judge-api/templates/external-secret-database.yaml
charts/kratos/templates/external-secret-app.yaml
Impact
- High Priority: This change is required for multi-environment deployments
- Allows users to deploy to dev/staging/prod with different Vault paths
- Follows Helm best practices for configurability
Implementation
Add to values.yaml:
global:
secrets:
vault:
env: "demo" # Environment: demo, staging, prod
project: "testifysec-judge" # Project identifier
Labels
- enhancement
- helm-charts
- breaking-change (requires values update)
Fix Location
Helm Charts - The templates should be made configurable, not hardcoded.
Make Vault paths configurable via template variables
Problem
The ExternalSecret templates in the Helm charts have hardcoded Vault paths, which limits reusability across different environments (dev, staging, production).
Current State
Desired State
Files to Update
charts/archivista/templates/external-secret-database.yamlcharts/judge-api/templates/external-secret-database.yamlcharts/kratos/templates/external-secret-app.yamlImpact
Implementation
Add to
values.yaml:Labels
Fix Location
Helm Charts - The templates should be made configurable, not hardcoded.