Repository navigation
Switch default declarative agent runtime to go - #2083
Conversation
893885e to
d6aafee
Compare
There was a problem hiding this comment.
Pull request overview
This PR switches the default runtime for Declarative agents from Python to Go across the CRD schema, Helm-managed agents, the UI create-agent flow, and related e2e tests, aligning new agent creation with the Go ADK by default.
Changes:
- Update CRD defaults/documentation to make
spec.declarative.runtimedefault togo(and regenerate CRD base YAML + Helm CRDs). - Update the UI “New Agent” form to default to Go and reorder runtime choices.
- Adjust Go e2e tests to treat Go as the default runtime, while keeping Python-specific coverage where needed.
Reviewed changes
Copilot reviewed 19 out of 19 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| ui/src/components/agent-form/DeclarativeRuntimeField.tsx | Reorders runtime dropdown options to present Go first. |
| ui/src/app/agents/new/page.tsx | Defaults new agent form state to declarativeRuntime: "go". |
| ui/src/app/actions/agents.ts | Updates server-side form→spec runtime mapping to treat Go as the default (except substrate sandbox which is always Go). |
| helm/kagent-crds/templates/kagent.dev_sandboxagents.yaml | CRD Helm template: sets runtime default to Go and updates description ordering. |
| helm/kagent-crds/templates/kagent.dev_agents.yaml | CRD Helm template: sets runtime default to Go and updates description ordering. |
| helm/agents/promql/templates/agent.yaml | Helm-managed agent defaults runtime to Go. |
| helm/agents/observability/templates/agent.yaml | Helm-managed agent defaults runtime to Go. |
| helm/agents/kgateway/templates/agent.yaml | Helm-managed agent defaults runtime to Go. |
| helm/agents/k8s/templates/agent.yaml | Helm-managed agent defaults runtime to Go. |
| helm/agents/istio/templates/agent.yaml | Helm-managed agent defaults runtime to Go. |
| helm/agents/helm/templates/agent.yaml | Helm-managed agent defaults runtime to Go. |
| helm/agents/cilium-policy/templates/agent.yaml | Helm-managed agent defaults runtime to Go. |
| helm/agents/cilium-manager/templates/agent.yaml | Helm-managed agent defaults runtime to Go. |
| helm/agents/cilium-debug/templates/agent.yaml | Helm-managed agent defaults runtime to Go. |
| helm/agents/argo-rollouts/templates/agent.yaml | Helm-managed agent defaults runtime to Go. |
| go/core/test/e2e/invoke_api_test.go | Updates e2e coverage to assert Go as default and adds explicit Python-runtime variants where needed. |
| go/api/v1alpha2/agent_types.go | Switches kubebuilder default annotation to go and updates runtime field docs. |
| go/api/config/crd/bases/kagent.dev_sandboxagents.yaml | Regenerated CRD bases: runtime default set to Go. |
| go/api/config/crd/bases/kagent.dev_agents.yaml | Regenerated CRD bases: runtime default set to Go. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| // Runtime specifies which ADK implementation to use for this agent. | ||
| // - "python": Uses the Python ADK (default, slower startup, full feature set) | ||
| // - "go": Uses the Go ADK (faster startup, most features supported) | ||
| // - "go": Uses the Go ADK (default, faster startup, most features supported) | ||
| // - "python": Uses the Python ADK (slower startup, full feature set) | ||
| // The runtime determines both the container image and readiness probe configuration. | ||
| // +optional | ||
| // +kubebuilder:default=python | ||
| // +kubebuilder:default=go | ||
| Runtime DeclarativeRuntime `json:"runtime,omitempty"` |
There was a problem hiding this comment.
I think this is intentional so old agents with empty runtime don't get migrated as stated in PR description
|
I've updated the comment in agent chart values and added a clarification in |
Signed-off-by: Jet Chiang <[email protected]>
Signed-off-by: Jet Chiang <[email protected]>
f94a6bf to
1139ee7
Compare
Resolve send-guard conflict in ui/src/components/chat/ChatInterface.tsx by adopting upstream's localMessages/comparable-message approach (kagent-dev#2034) over the branch's earlier high-water-mark implementation. Also picks up configurable stream timeout (kagent-dev#1973), go default declarative runtime (kagent-dev#2083), and controller service annotations (kagent-dev#2088).
runtime: go