Skip to content

chore: migrate to Helm 4 #97

@lexfrei

Description

@lexfrei

Context

Helm 4.0.5 is available. Migration is deceptively simple — code compiles, existing tests pass, but behavior changes silently.

This is a trap. The API signatures mostly remain, but internal behavior differs. Without comprehensive tests, breakages will only surface in production.

Current State

Helm library usage in:

  • pkg/engine/engine.go
  • pkg/engine/helm/engine.go
  • pkg/engine/helm/files.go

Current test coverage is insufficient to detect behavioral regressions.

Migration Strategy

Phase 1: Lock Current Behavior (BEFORE migration)

  • Add comprehensive tests for template rendering
  • Test edge cases: nested templates, includes, tpl function
  • Test all custom template functions we use
  • Test chart loading and dependency resolution
  • Test values merging behavior
  • Snapshot test outputs for known inputs

Phase 2: Migration

  • Update helm.sh/helm/v3helm.sh/helm/v4
  • Fix import paths (pkg/chartpkg/chart/v2, etc.)
  • Fix any API changes

Phase 3: Verify

  • All Phase 1 tests must pass unchanged
  • Any test failures indicate behavioral regression — investigate

Resources

Metadata

Metadata

Assignees

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