Skip to content

build(charts): automate sda-svc chart README via helm-docs #2398

@jhagberg

Description

@jhagberg

Please describe the feature

As a chart maintainer, I want the chart READMEs to be generated automatically from @param annotations in values.yaml, so that the values table stays in sync with the actual values without manual maintenance, and reviewers don't have to catch missing rows.

Context

Today charts/sda-svc/README.md (and the other chart READMEs) is hand-maintained. The values table drifts out of sync whenever someone adds or changes values — most recently in #2384, where ~30 new global.downloadV2.* rows and global.oidc.jwtSecret were added to values.yaml without corresponding README rows.

All recent values already carry @param/## @param comments (the format read by helm-docs), so the raw material is already there.

Raised during review of #2384 by Copilot and @jbygdell.

Proposed changes

  • Add a README.md.gotmpl template per chart (sda-svc, sda-db, sda-mq, sda-orch) describing the README structure
  • Add a GitHub Actions workflow that runs helm-docs --check on chart changes and fails if README.md is out of sync (or alternatively, regenerates + commits)
  • Optionally add a pre-commit hook so local commits keep READMEs in sync
  • Backfill the current divergence (existing @param gaps between values.yaml and README.md)

Alternatives considered

  • Keep hand-maintaining READMEs (current): fragile, drift is inevitable
  • Regenerate-and-commit CI: less friction for contributors but commits land in unusual order
  • helm-docs --check CI: forces contributors to run helm-docs locally but keeps git history clean (recommended)

Acceptance criteria

  • helm-docs integrated in CI for all charts under charts/
  • @param coverage audited for each chart
  • All chart READMEs regenerated from values on a single commit as the baseline
  • CI fails when README.md is not up to date with values.yaml
  • Contribution guide documents how to run helm-docs locally

Additional context

Estimation of size

medium

Estimation of priority

low — cosmetic/maintenance improvement, not blocking functionality.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions