Skip to content

Delete the 3.x lab shape once the last installation runs the 4.x meta chart #211

Description

@teemow

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

  • Every installation task under https://github.com/giantswarm/giantswarm/issues/37705 is closed and extras/agent-platform/oci-repository.yaml in the fleet base bounds the chart at or above 4.0.0.
  • No LegacyChart reference remains in internal/, the templates, hack/ or docs/; go test ./... green.
  • A platform.chartVersion below 4.0.0 is refused at configure and platform with a message pointing at the last release that supported it.
  • The release notes of the agentlab release that drops the shape say so.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    • Status
      Backlog 📦

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions