Problem
agentlab still renders a second shape of the platform values for a released 3.x meta chart (config.LegacyChart: an exact platform.chartVersion below 4.0.0 on the stable channel). The switch exists for the migration rehearsal (#143): a 3.x lab upgraded in place to the 4.x line, which is the recipe every installation's kagent API v2 cut-over follows (epic https://github.com/giantswarm/giantswarm/issues/37705).
The shape is live code with its own tests and documentation: the LegacyChart branches in agent-platform-values.yaml.tmpl and render.go, TestPlatformValuesLegacyChartShape and TestGitHubTokenLegacyChartTakesNoKeys, hack/migration-rehearsal/, docs/migration-rehearsal.md and the 3.x paragraphs in docs/platform.md, docs/models.md and docs/getting-started.md. Every change to the 4.x values has to keep the 3.x render correct too (#205 / #207 was one such cost), for a chart line the lab is not verified with and that no installation will run once the fleet has cut over.
The line cannot go yet: the fleet base still bounds the meta chart to >=2.5.5 <4.0.0 (giantswarm/management-cluster-bases#739), and only the three Giant Swarm installations patch their OCIRepository to the 4.x range. The customer management clusters run the 3.x chart until their cut-over tasks under the epic close; the rehearsal is what those cut-overs rehearse.
Proposed solution
When the last installation task under https://github.com/giantswarm/giantswarm/issues/37705 is closed and the base bound has advanced past 4.0.0 (giantswarm/management-cluster-bases#738), remove the 3.x shape in one PR:
config.LegacyChart and ChartMajor (if nothing else needs it), the LegacyChart field of the render data and every {{ if .LegacyChart }} branch in the templates;
gitHubTokenWired collapses to gitHubTokenSet;
TestPlatformValuesLegacyChartShape, TestGitHubTokenLegacyChartTakesNoKeys, TestLegacyChart and the legacyChartVersion fixture;
hack/migration-rehearsal/ and docs/migration-rehearsal.md; the 3.x paragraphs in the other docs; the README row.
agentlab configure / platform refuse a chartVersion below 4.0.0 with a message naming the last agentlab release that supported the rehearsal, so a stale agentlab.yaml fails clearly instead of rendering the 4.x shape against a 3.x chart's closed schema.
Until then this issue is the reminder that the shape is deliberate and gated, not forgotten.
Acceptance criteria
Problem
agentlab still renders a second shape of the platform values for a released 3.x meta chart (
config.LegacyChart: an exactplatform.chartVersionbelow 4.0.0 on the stable channel). The switch exists for the migration rehearsal (#143): a 3.x lab upgraded in place to the 4.x line, which is the recipe every installation's kagent API v2 cut-over follows (epic https://github.com/giantswarm/giantswarm/issues/37705).The shape is live code with its own tests and documentation: the
LegacyChartbranches inagent-platform-values.yaml.tmplandrender.go,TestPlatformValuesLegacyChartShapeandTestGitHubTokenLegacyChartTakesNoKeys,hack/migration-rehearsal/,docs/migration-rehearsal.mdand the 3.x paragraphs indocs/platform.md,docs/models.mdanddocs/getting-started.md. Every change to the 4.x values has to keep the 3.x render correct too (#205 / #207 was one such cost), for a chart line the lab is not verified with and that no installation will run once the fleet has cut over.The line cannot go yet: the fleet base still bounds the meta chart to
>=2.5.5 <4.0.0(giantswarm/management-cluster-bases#739), and only the three Giant Swarm installations patch theirOCIRepositoryto the 4.x range. The customer management clusters run the 3.x chart until their cut-over tasks under the epic close; the rehearsal is what those cut-overs rehearse.Proposed solution
When the last installation task under https://github.com/giantswarm/giantswarm/issues/37705 is closed and the base bound has advanced past 4.0.0 (giantswarm/management-cluster-bases#738), remove the 3.x shape in one PR:
config.LegacyChartandChartMajor(if nothing else needs it), theLegacyChartfield of the render data and every{{ if .LegacyChart }}branch in the templates;gitHubTokenWiredcollapses togitHubTokenSet;TestPlatformValuesLegacyChartShape,TestGitHubTokenLegacyChartTakesNoKeys,TestLegacyChartand thelegacyChartVersionfixture;hack/migration-rehearsal/anddocs/migration-rehearsal.md; the 3.x paragraphs in the other docs; the README row.agentlab configure/platformrefuse achartVersionbelow 4.0.0 with a message naming the last agentlab release that supported the rehearsal, so a staleagentlab.yamlfails clearly instead of rendering the 4.x shape against a 3.x chart's closed schema.Until then this issue is the reminder that the shape is deliberate and gated, not forgotten.
Acceptance criteria
extras/agent-platform/oci-repository.yamlin the fleet base bounds the chart at or above 4.0.0.LegacyChartreference remains ininternal/, the templates,hack/ordocs/;go test ./...green.platform.chartVersionbelow 4.0.0 is refused atconfigureandplatformwith a message pointing at the last release that supported it.