feat(meta): muster.muster.toolsetPresets — infrastructure and agent-platform toolset presets selecting by the tool-group label; components.muster.versionRange floors at 5.12.0 - #274
Merged
Conversation
…nt-platform toolset presets selecting by the tool-group label; components.muster.versionRange floors at 5.12.0; built-in name guard; BOM snapshot; make verify-presets renders the muster ConfigMap
This was referenced Sep 7, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #273 — rollout step 2 of the tool-access plan (PRD, epic giantswarm/giantswarm#37435).
What
muster.muster.toolsetPresets— the platform's two toolset presets, forwarded into muster's config:infrastructure:label: agent-platform.giantswarm.io/tool-group=infrastructure(the mcp-kubernetes / mcp-capi / mcp-prometheus families; label stamped by agent-platform-mcps ≥ 0.9.0).agent-platform:label: agent-platform.giantswarm.io/tool-group=agent-platform+pattern: core_*(agent-manager ≥ 0.3.0, model-manager ≥ 0.18.0, muster's core tools — the meta agent's preset).components.muster.versionRange:5.x→>=5.12.0 <6.0.0. Thelabel:rule exists from muster 5.12.0 (muster#1171); a 5.11.0 muster refuses to start on it. With the floor the OCIRepository resolves a chart that has the rule before the HelmRelease applies the values that need it. Minor releases keep rolling forward on their own.toolsetPresetsentry namedread-only,noneorfullfails the meta render naming it (muster would refuse to start on it, out of sight in Flux).examples/customer-bom.yamlrefreshed to the dogfooding track's resolved versions (muster 5.12.0, agent-platform-mcps 0.9.0, agent-manager 0.4.0, model-manager 0.18.0, agentgateway 2.0.7, kagent 0.1.48, klaus-gateway 0.39.0, agent-sandbox 0.2.31, dicebear 0.3.10, valkey 0.1.4, connectivity 3.10.0); the old pins (muster 0.9.0, …) predated the chart's current line and would not start with these values.make verify-presets(new, in thetest-ingress-modesCI job): asserts both presets on the muster HelmRelease (flux) and Application (argo) with the label rules and the range floor; pulls the muster chart at the floor version anonymously from gsoci and renders its ConfigMap from exactly the values the meta chart forwards (so the real 5.12.0 schema and template validate them); asserts the built-in-name guard.tests/verify-toolset-presets.pyis stdlib-only like its siblings.docs/toolset-presets.md(the presets, requirements, how an installation addstest-clusters-style presets byserver:/ by its own label / by composition, verification recipe), README subsection, UPGRADE.md section, CHANGELOG.Values path
#273's snippet shows
muster.toolsetPresets; in this chart that key ismuster.muster.toolsetPresets— the outermuster:is the component block forwarded verbatim to the muster release, and the muster chart's own values puttoolsetPresetsunder itsmuster:key (.Values.muster.toolsetPresetsin itstemplates/configmap.yaml). The muster chart's root schema isadditionalProperties: false, so a top-leveltoolsetPresetswould have been rejected by the release. Issue body corrected accordingly.Verified
Rendered muster 5.12.0 ConfigMap (
config.yaml), from the forwarded values:pre-commit run --all-filesclean (schema unchanged — themusterblock isskipProperties; helm-docs README regenerated).Not lab-verified: this is a chart-only values change (the render assertions above, against the real muster chart, are the test); the standalone chart proves the same values through kagent in agentlab when its curate pin moves to 5.12.0 (agent-platform-standalone#172). Live proof follows on the internal installations after the release: both already run muster 5.12.0, agent-platform-mcps 0.9.0 (and one agent-manager 0.4.0), and today
filter_tools({toolset:["preset:infrastructure"]})there answersunknown preset "infrastructure"; known presets: read-only, none, full— the presets this PR ships.Rollout
Fleet installations track
>=2.5.5; the muster release rolls its pod once (config change). Teammate PRs #272 / #254 untouched; edits here are additive in the muster values block,components.muster, the BOM assertion and a new make target.