Skip to content

Scope backend Helm values under a backend block #5702

@corneliusroemer

Description

@corneliusroemer

Context: kubernetes/loculus/values.yaml is very flat, so backend-specific knobs sit beside global defaults. That makes it harder to see which values affect the backend and increases misconfiguration risk. Let’s start scoping backend-only settings under backend while leaving shared groupings (images/replicas/resources) unchanged for now.

Plan:

  • Add backend.enabled (replacing disableBackend) and update templates that gate backend rendering/URL wiring (templates/loculus-backend.yaml, templates/loculus-backend-service.yaml, templates/loculus-preprocessing-deployment.yaml, templates/silo-deployment.yaml, templates/loculus-website-config.yaml) plus values.schema.json.
  • Create backend.config (or similar) and move backend-only runtime values there, e.g. preprocessingTimeout, zstdCompressionLevel, and any other strictly backend toggles surfaced during the move. Keep accessionPrefix top-level (global).
  • Keep existing shared blocks for images, replicas, and resources as-is in this phase.
  • Update overlays that set these keys (values_e2e_and_dev.yaml, values_preview_server.yaml, etc.).
  • Align values.schema.json with the new structure

Rationale: Scoping backend-only values under backend makes backend configuration more discoverable, reduces accidental cross-service overrides, and sets a pattern for later phases without disrupting current shared groupings.

Metadata

Metadata

Assignees

No one assigned

    Labels

    configConfiguration related issues, i.e. helm processing

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions