Skip to content

Fix EC v3 extension helmCharts values: YAML map, not multi-line string#4269

Open
mikhailswift wants to merge 3 commits into
mainfrom
fix-ec3-extension-values-map
Open

Fix EC v3 extension helmCharts values: YAML map, not multi-line string#4269
mikhailswift wants to merge 3 commits into
mainfrom
fix-ec3-extension-values-map

Conversation

@mikhailswift

@mikhailswift mikhailswift commented Jul 14, 2026

Copy link
Copy Markdown
Member

What

In Embedded Cluster v3, extensions.helmCharts[].values must be nested YAML (it is unmarshaled into map[string]any — see pkg/appcharts/appcharts.go HelmChartSpec.Values), unlike EC v2 where it was a multi-line string. The v3 docs carried the v2 convention forward:

Why it matters

A release authored per the current docs passes Vendor Portal lint and airgap builds, but installation fails with cannot unmarshal !!str into map[string]interface {} when Embedded Cluster parses the extension (reproduced end-to-end on a test app).

Changes

  • Correct the values field description in embedded-config.mdx
  • Change values: | to values: in all v3 extension examples: embedded-config.mdx (3 examples), embedded-using.mdx (GPU operator), embedded-v3-migrate.mdx, template-functions.mdx

Deliberately unchanged, verified against the EC v3 source:

  • unsupportedOverrides.builtInExtensions[].values — genuinely a multi-line string in v3 (pkg/addons/config.go asserts .(string))
  • unsupportedOverrides.k0s — also a string
  • v2 versioned docs (embedded-cluster_versioned_docs/version-2.0.0/) — v2's k0s-based schema really does use string values

All edited YAML examples were validated to parse with values as a map, and the dryrun extension tests confirm template functions render correctly in map-form values.

In Embedded Cluster v3, extensions.helmCharts[].values must be nested
YAML (unmarshaled into map[string]any), unlike v2 where it was a
multi-line string. The v3 docs carried the v2 convention forward: the
field description said 'Multi-line string of Helm values' and every
example used a block scalar (values: |).

A release authored per these docs passes Vendor Portal lint and builds
air gap bundles, but fails at install time with 'cannot unmarshal !!str
into map[string]interface {}' when Embedded Cluster parses the
extension.

- Correct the values field description in embedded-config
- Add a requirement calling out that string values fail at install
- Change 'values: |' to 'values:' in all v3 extension examples
  (embedded-config, embedded-using, embedded-v3-migrate,
  template-functions)

unsupportedOverrides.builtInExtensions[].values and the v2 versioned
docs are unchanged: those are genuinely multi-line strings.
@mikhailswift
mikhailswift requested a review from a team as a code owner July 14, 2026 23:13
@netlify

netlify Bot commented Jul 14, 2026

Copy link
Copy Markdown

Deploy Preview for replicated-docs ready!

Name Link
🔨 Latest commit 07b7031
🔍 Latest deploy log https://app.netlify.com/projects/replicated-docs/deploys/6a56c369d2345200083ed36e
😎 Deploy Preview https://deploy-preview-4269--replicated-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@netlify

netlify Bot commented Jul 14, 2026

Copy link
Copy Markdown

Deploy Preview for replicated-docs-upgrade ready!

Name Link
🔨 Latest commit 07b7031
🔍 Latest deploy log https://app.netlify.com/projects/replicated-docs-upgrade/deploys/6a56c369b98c370008743e1b
😎 Deploy Preview https://deploy-preview-4269--replicated-docs-upgrade.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@github-actions github-actions Bot added type::docs Improvements or additions to documentation type::feature labels Jul 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type::docs Improvements or additions to documentation type::feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants