Skip to content

Make Vault paths configurable via template variables #3

Description

@colek42

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions