CRD Reference
Auto-generation planned
This page will be auto-generated from kubebuilder markers in a future update.
For now, see the source CRD types for the authoritative field definitions.
Custom Resource Definitions
| CRD |
Scope |
Description |
KubeCopilotAgent |
Namespaced |
Declares an agent instance — image, credentials, skills, instructions, RBAC |
KubeCopilotSession |
Namespaced |
Creates an isolated tenant session with dedicated namespace, NetworkPolicy, and RBAC |
KubeCopilotSend |
Namespaced |
Send a message to an agent; dispatched to the agent server |
KubeCopilotResponse |
Namespaced |
Final response from the agent, written by the operator webhook |
KubeCopilotChunk |
Namespaced |
Real-time streaming events — thinking, tool calls, results |
KubeCopilotCancel |
Namespaced |
Cancel an in-flight request |
KubeCopilotNotification |
Namespaced |
One-way notification pushed by the agent to a user session |
KubeCopilotMessage |
Namespaced |
Legacy single-turn message CRD |
KubeCopilotAgent
The primary CRD for declaring an AI agent instance.
Spec Fields
| Field |
Type |
Required |
Description |
image |
string |
No |
Override the agent container image (defaults to operator's agentImage) |
githubTokenSecretRef |
SecretReference |
Yes |
Reference to a Secret containing the auth token |
kubeconfigSecretRef |
SecretReference |
No |
Reference to a Secret containing a kubeconfig (mutually exclusive with rbac) |
skillsConfigMap |
string |
No |
Name of a ConfigMap containing skill definitions |
agentConfigMap |
string |
No |
Name of a ConfigMap containing AGENT.md instructions |
storageSize |
string |
No |
PVC size for persistent storage (default: 1Gi) |
rbac |
AgentRBAC |
No |
ServiceAccount-based RBAC configuration (mutually exclusive with kubeconfigSecretRef) |
AgentRBAC Fields
| Field |
Type |
Required |
Description |
serviceAccountName |
string |
No |
Name of the ServiceAccount to create (defaults to <agent-name>-sa) |
rules |
[]PolicyRule |
No |
Namespace-scoped RBAC rules |
clusterRules |
[]PolicyRule |
No |
Cluster-scoped RBAC rules |
Status Fields
| Field |
Type |
Description |
conditions |
[]Condition |
Standard Kubernetes conditions (e.g. Ready, Available) |
KubeCopilotSend
Send a message to an agent.
Spec Fields
| Field |
Type |
Required |
Description |
agentRef |
string |
Yes |
Name of the target KubeCopilotAgent |
message |
string |
Yes |
The message to send |
sessionID |
string |
No |
Session ID for multi-turn conversations (empty starts a new session) |
sessionConfig |
SessionConfig |
No |
Model, provider, and BYOK configuration |
KubeCopilotCancel
Cancel an in-flight request.
Spec Fields
| Field |
Type |
Required |
Description |
sendRef |
string |
Yes |
Name of the KubeCopilotSend to cancel |
agentRef |
string |
Yes |
Name of the target KubeCopilotAgent |
KubeCopilotSession
Create an isolated tenant session.
Spec Fields
| Field |
Type |
Required |
Description |
tenantID |
string |
Yes |
Unique tenant identifier (1–63 chars, DNS-label format) |
agentRef |
string |
Yes |
Name of the KubeCopilotAgent in the same namespace |
isolationLevel |
string |
No |
strict (default) or none |
Status Fields
| Field |
Type |
Description |
phase |
string |
Pending, Active, Error, or Terminating |
namespace |
string |
The isolated namespace created for the session |
conditions |
[]Condition |
Standard Kubernetes conditions |
KubeCopilotNotification
One-way notification from agent to user session.
Spec Fields
| Field |
Type |
Required |
Description |
agentRef |
string |
Yes |
Name of the agent that produced this notification |
sessionID |
string |
Yes |
Session this notification belongs to |
message |
string |
Yes |
Notification body (supports markdown) |
notificationType |
string |
No |
info, success, warning, or error (default: info) |
title |
string |
No |
Short summary shown in toast popups |
taskRef |
string |
No |
ID of the background task that triggered this notification |