Changes and Releases
Updates on Giant Swarm workload cluster releases, apps, UI improvements and documentation changes.
Fixed
- Vertex AI with a service account key works under Cilium enforcement: Substrate’s credential provider reaches
oauth2.googleapis.com:443 (giantswarm/agent-platform#1042). The provider exchanges an AnthropicVertexAI or GeminiVertexAI ModelConfig’s service account key for an access token itself, at the key’s token_uri, but substrate-k8s-credential-provider allowed only DNS and the apiserver, so every Vertex AI call failed with could not exchange the service account key for an access token. The policy now opens networkPolicy.substrate.credentialProvider.egressFQDNs on 443/TCP, with the DNS proxy rule that lets Cilium match the names; the default is oauth2.googleapis.com, the only token_uri kagent admits. A list of its own replaces the default; [] leaves the provider the apiserver and DNS only. The kubernetes flavour renders no egress policy and ignores it. make verify-kagent-netpol asserts the default, a list of its own and an empty one.
Changed
Fixed
- (aggregator) ForwardToken tools resolve on a session’s first call in #1517 by @teemow
- (deps) Update module github.com/valkey-io/valkey-go to v1.0.79 in #1516 by @renovate[bot]
Full Changelog: https://github.com/giantswarm/muster/compare/v5.42.2...v5.42.3
Changed
- Change the missing
X-Scope-OrgID response body from Bad Request to Missing X-Scope-OrgID header in the Loki, Mimir, Tempo and Basic Auth headers-check filters. The status stays 401. - Fail the render when
loki.enabled, mimir.enabled or tempo.enabled is true and auth.jwt.providers is empty.
Removed
- Remove the Loki OTLP gRPC route and
loki.write.grpc. Loki serves OTLP over HTTP only.
Fixed
- The
helm.sh/chart label is valid for long chart versions: the 63-character cut trims the whole trailing run of -, . and _.
Fixed
- The Kubernetes watch’s startup listing no longer drops change events. At startup the detector emitted one event per existing MCPServer and Workflow into a 100-slot channel that the reconcile manager read only after the listing had synced, so on an installation with 289 Workflows everything past the first 100 was dropped with a
Change event channel full WARN each, and a real change arriving during the listing could be lost the same way. The manager now drains the channel before the detector starts, and the detector waits for room instead of dropping, until it stops; each informer handler has its own unbounded buffer, so the wait paces only that handler. (#1469)
Added
- (muster) MCP sign-in notice on every page, with a sign-in dialog by @teemow — Where the Agent Platform is on, a card in the bottom right of every page says which MCP servers still need your sign-in or grant.
Sign in opens a dialog to finish each of them, and Not now hides the card for the browser session. Covers the home installation’s muster.
Fixed
Full Changelog: https://github.com/giantswarm/backstage/compare/v3.2.0...v3.3.0
Changed
components.substrate.versionRange and components.substrate-crds.versionRange are >=1.11.4 <1.12.0 (were >=1.11.3 <1.12.0), the kagent WorkerPool’s worker image follows to ateom-gvisor:1.11.4, and the customer BOM pins Substrate 1.11.4: a CONNECT tunnel ends when the actor closes its connection (giantswarm/agent-platform#1034). atunnel, which runs in the worker’s ateom, kept a tunnel open after the actor closed or reset its connection for as long as the router held its request stream, so a gRPC call to such an actor waited out the client’s deadline instead of failing at once (giantswarm/substrate#451). Same minor, same upstream pin, no persisted-format change: the kagent release is unchanged, and the step resets no snapshot and needs no manual step (UPGRADE.md).
Fixed
- An expired token’s error reads
token has expired for <server>, re-authenticate to refresh. A forwarded or exchanged token that was merely past its expiry ended its error in %!w(<nil>), and the connect log printed <nil> as its cause. The message now ends at re-authenticate to refresh; a token with no parseable expiry says it is unusable and carries the parse error. (#1511)
Added
Fixed
- (agent-platform) Withhold manager actions without per-user sign-in by @teemow — On an installation whose muster entry has no
authProvider, the portal also withholds the cluster-manager, model-manager and workspace-manager actions, which failed with an error: Create cluster and a cluster’s Delete are disabled with the reason, and Model hosting and Workspaces say why they offer no action. - (agent-platform) Rebuild the agent index when a row’s session gate settles by @teemow — After a page reload, a session whose runtime was lost offers
Start a new session with <agent> again. The change above withheld the button for good while the portal was still reading whether agent-manager is available.
Development and CI/CD
Full Changelog: https://github.com/giantswarm/backstage/compare/v3.1.0...v3.2.0
Added
core_auth_status reads every server’s sign-in state, and issues the links that start the missing grants. A client that gets a person ready before the agent needs them (a chat front-end after its sign-in) needed one core_auth_login per server to learn a link, and auth://status named no link. The new read-only core tool answers the auth://status document for the caller; with auth_urls: true every server waiting for the person’s grant carries its sign-in link (auth_url), and a server whose grant the person already holds is connected and reported connected. Each entry of both now says how the person reaches the server (kind: grant, sso or none) and, for a grant, whom it belongs to (grant_scope: subject or session). (#1507)
Fixed
- A server that needs the person’s grant reports
auth_required before its issuer is known. A pending-auth server rebuilt from its service’s own data carries no 401-time auth info until a login discovers it, and auth://status reported it disconnected with no auth_tool: a client listing what the person must connect left it out. An OAuth server that neither forwards nor exchanges the person’s token now reports auth_required with core_auth_login and, where the MCPServer pins one, its issuer. (#1507)
Fixed
- (workspaces) Workspace-manager trusts the dex-k8s-authenticator audience like the other managers in #1026 by @teemow
Full Changelog: https://github.com/giantswarm/agent-platform/compare/v4.133.0...v4.133.1