Skip to content

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