Skip to content

Feature Request: Support all the post-render strategies available in the Helm SDK #1469

@matheuscscp

Description

@matheuscscp

⚠️ Breaking change: From Flux 2.8.0 to 2.8.5 the default was combined (Helm 4 breaking change), then in Flux 2.8.6 we fixed the regression (changed the behavior to nohooks). In Flux 2.9 (via #1470) we are changing this default back to combined for honoring the feature gate UseHelm3Defaults, which defaults to the Helm 4 defaults when the gate is false, and to the Helm 3 defaults when the gate is true. We are sustaining our decision to keep aligned with Helm's defaults throughout Flux's and Helm's lives. This commitment implies shipping breaking changes whenever Helm changes default functionality in major versions.

The behavior can also be pinned to a specific value directly in the HelmRelease object through the field introduced in #1470.

Helm 4.2 will introduce 3 post-render strategies (see helm/helm#31985 and helm/helm#32049):

  • nohooks: Helm 3 behavior, hooks are not sent to post-renderers. (this is Flux's behavior in >=2.8.6 <2.9.0, which was broken in >=2.8.0 <2.8.6)
  • combined: Helm 4's default behavior, both hooks and templates are sent to post-renderers in the same stream. (this was the broken behavior in Flux >=2.8.0 <2.8.6)
  • separate: Opt-in from Helm 4.2, hooks and templates are sent to post-renderers in separate streams.

I propose we introduce HelmRelease.spec.postRenderStrategy as an enum matching the 3 values defined by Helm, then in the install and upgrade actions this value can be passed to the SDK. The default should be nohooks, which is the current behavior in Flux >=2.8.6 <2.9.0.

Metadata

Metadata

Assignees

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