Skip to content

install.sh installs helm-diff v3.13.0 with incompatible Helm 4 #1741

Description

@danehans

Component

Setup/Standup

Describe the bug

At the tip of main (9b11b40929f1c4ffefedee7d52e6b8329a224b70), install.sh pins Helm v3.19.0 and helm-diff v3.13.0.

The Helm version check treats the Helm pin as a minimum, so an existing Helm v4.2.0 is accepted. The helm-diff block, however, enforces an exact version and reinstalls v3.13.0, even if a Helm 4-compatible newer plugin is already installed.

A subsequent helmfile apply against an existing release fails during helm diff upgrade:

Error: Failed to render chart: exit status 1: Flag --validate has been deprecated, use --dry-run=server instead
Error: if any flags in the group [validate dry-run] are set none of the others can be; [dry-run validate] were all set
Error: plugin "diff" exited with error

A first installation can appear successful because llm-d-benchmark passes --skip-diff-on-install. A rerun against the existing Helm release exercises helm-diff and fails.

Steps to reproduce

  1. Install or upgrade to Helm v4.2.0.
  2. Install a Helm 4-compatible helm-diff release, such as v3.15.7.
  3. Run ./install.sh --uv.
  4. Observe that helm plugin list now reports helm-diff 3.13.0.
  5. Run a modelservice standup against an existing Helm release.
  6. Observe the mutually exclusive validate and dry-run flag error above.

Expected: install.sh should ensure a compatible Helm/helm-diff combination. Possible approaches include selecting helm-diff based on the detected Helm major version, treating the helm-diff pin as a compatible minimum rather than an exact downgrade, or enforcing Helm 3 if that is the intended toolchain.

Additional context or screenshots

This is distinct from #909, which addressed Helm 4 plugin signature verification during installation. The plugin installs successfully here but fails when Helmfile invokes it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions