You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Runtime slice values example: kagent only, for workload clusters that run agents managed from the installation (a kubeConfig-targeted HelmRelease of this chart) #317
A CPU workload cluster runs agents managed from the installation and never becomes a second installation (giantswarm/giantswarm#37611, Phase 3). What has to be on that cluster is the agent runtime slice — the kagent controller and CRDs plus what the agent chart needs at run time — installed from the installation through a HelmRelease targeting the cluster's kubeconfig Secret (cluster-manager's enable_agent_platform). The chart needs a supported values shape for exactly that.
A documented, verified values example (helm/agent-platform/examples/runtime-slice.yaml) that installs only the runtime slice: kagent (controller, CRDs, the agent chart's OCIRepository access) and nothing else of the platform's control plane — no Backstage, no model-manager, no agent-manager, no MCP servers, no agentgateway/edge unless kagent needs it; global.identity pointing at the installation's identity provider; egress to the installation's muster and model endpoints. Two contract questions, settled by #328 (the slice toggles and the target knob) and #766:
muster, dicebear and the connectivity wiring are always on in this chart (no enabled key); the slice needs them off or minimal — either the trio gains toggles or the slice's shape documents the minimum they render. If a component cannot be turned off cleanly, fix the contract.
the engine: a workload cluster without Flux gets one from the chart (components.flux.enabled: true — the agents' own HelmReleases need a helm-controller on that cluster anyway) while the installation's Flux reconciles the kubeConfig-targeted HelmRelease of the chart; or the installation's Flux reconciles everything remotely. Decide, document, and make the render guard's behaviour on that path explicit.
A make verify check renders the example and asserts the component set.
README section "The runtime slice on workload clusters" with the identity and egress preconditions and the engine decision (feat: examples/runtime-slice.yaml, the runtime slice for workload clusters #766). The engine decision: the installation's Flux reconciles every component remotely through gitops.target.kubeConfig, and the workload cluster runs no Flux.
Epic: giantswarm/giantswarm#37611 (KaaS in the Agent Platform), Phase 3. Plan: bumblebee-plans#42. Related: giantswarm/agent-manager#22, giantswarm/giantswarm#37618.
Under meta chart 4.0 (kagent API v2, bumblebee-plans#51 D3, epic giantswarm/giantswarm#37705) the runtime slice includes Agent Substrate and the platform Harness beside the kagent controller and CRDs: see #342 (Substrate inside the chart) and #344 (the platform Harness).
From Timo's agent: #766 merged (713fcb24, released as v4.105.0-rc.1). It adds examples/runtime-slice.yaml, make verify-runtime-slice, the profile in verify-examples, and the README section "The runtime slice on workload clusters". The slice brings agentgateway, because the workload cluster runs no controller of its own. It never runs beside the platform's release: in a server-side dry-run against a lab running the 4.x platform, components.kagent-crds.ownedCrds refuses it, naming the platform's kagent-crds and agentgateway releases. With gitops.target.kubeConfig.secretRef the profile renders its six HelmReleases server-side. Criteria 1 and 3 are done. Criterion 2 (an agent that agent-manager places on the workload cluster becomes Ready) waits on giantswarm/agent-manager#22.
The workload cluster wc1: a second kind cluster (Kubernetes 1.37 with the three Substrate feature gates; its apiserver trusts the installation's Dex).
The slice: this chart at 4.105.0-rc.1 with examples/runtime-slice.yaml and gitops.target.kubeConfig.secretRef: wc1-kubeconfig, installed in org-lab on the installation. Its bundled RustFS is the snapshot store (s3://ate-snapshots/kagent). All six HelmReleases went Ready, installed remotely by the installation's helm-controller: kagent-crds, substrate-crds, agentgateway, agent-platform-connectivity, substrate and kagent. The Harness kagent/kagent is on wc1.
agent-manager, called as the lab admin with organization: lab, cluster: wc1, created org-lab/wc1-wc-planner, a kubeConfig-targeted HelmRelease; Flux answered Helm install succeeded for release kagent/wc-planner.v1 with chart agent@1.5.1. get_agent_status then answered verdict: ready, "AgentTemplate is Ready on Harness kagent", read from wc1. The installation has no AgentTemplate of that name.
What the workload cluster needed beyond the README's preconditions, all present on Giant Swarm workload clusters:
the prometheus-operator CRDs (agentgateway's PodMonitor);
the Cilium policy CRDs and Kyverno's PolicyException CRD with the policy-exceptions namespace (the connectivity chart renders them);
with the installation's helm-controller in multi-tenancy lockdown (--default-service-account), the impersonated org-<org>:default account with install rights on the workload cluster;
a DNS hostname, not an IP, in a ModelConfig's base URL: the Harness refuses credential injection for an IP literal.
Problem
A CPU workload cluster runs agents managed from the installation and never becomes a second installation (giantswarm/giantswarm#37611, Phase 3). What has to be on that cluster is the agent runtime slice — the kagent controller and CRDs plus what the
agentchart needs at run time — installed from the installation through aHelmReleasetargeting the cluster's kubeconfig Secret (cluster-manager'senable_agent_platform). The chart needs a supported values shape for exactly that.Successor of giantswarm/agent-platform-standalone#169 (the umbrella's version; the platform ships as this chart now).
Proposed solution
A documented, verified values example (
helm/agent-platform/examples/runtime-slice.yaml) that installs only the runtime slice: kagent (controller, CRDs, the agent chart's OCIRepository access) and nothing else of the platform's control plane — no Backstage, no model-manager, no agent-manager, no MCP servers, no agentgateway/edge unless kagent needs it;global.identitypointing at the installation's identity provider; egress to the installation's muster and model endpoints. Two contract questions, settled by #328 (the slice toggles and the target knob) and #766:enabledkey); the slice needs them off or minimal — either the trio gains toggles or the slice's shape documents the minimum they render. If a component cannot be turned off cleanly, fix the contract.components.flux.enabled: true— the agents' ownHelmReleases need a helm-controller on that cluster anyway) while the installation's Flux reconciles the kubeConfig-targetedHelmReleaseof the chart; or the installation's Flux reconciles everything remotely. Decide, document, and make the render guard's behaviour on that path explicit.A
make verifycheck renders the example and asserts the component set.Acceptance criteria
helm template -f examples/runtime-slice.yamlrenders kagent and nothing else of the platform's control plane: kagent-crds, substrate-crds, substrate, kagent, agentgateway and connectivity (feat: examples/runtime-slice.yaml, the runtime slice for workload clusters #766,make verify-runtime-slice).HelmReleasewithspec.kubeConfig.secretReffrom the installation, an agent placed there by agent-manager (Target cluster: place and manage agents on a workload cluster from the installation (HelmRelease kubeConfig.secretRef, status through the cluster's kubeconfig, as the caller) agent-manager#22, v1.9.0) becomes Ready.gitops.target.kubeConfig, and the workload cluster runs no Flux.Epic: giantswarm/giantswarm#37611 (KaaS in the Agent Platform), Phase 3. Plan: bumblebee-plans#42. Related: giantswarm/agent-manager#22, giantswarm/giantswarm#37618.
Under meta chart 4.0 (kagent API v2, bumblebee-plans#51 D3, epic giantswarm/giantswarm#37705) the runtime slice includes Agent Substrate and the platform
Harnessbeside the kagent controller and CRDs: see #342 (Substrate inside the chart) and #344 (the platform Harness).