Documentation

API Reference#

Packages#

kagent.dev/v1alpha2#

Package v1alpha1 contains API Schema definitions for the agent v1alpha1 API group.

Resource Types#

A2AConfig#

Appears in:

FieldDescriptionDefaultValidation
skills AgentSkill arrayMinItems: 1

Agent#

Agent is the Schema for the agents API.

FieldDescriptionDefaultValidation
apiVersion stringkagent.dev/v1alpha2
kind stringAgent
kind stringKind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
apiVersion stringAPIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec AgentSpec
status AgentStatus

AgentSkill#

Underlying type: AgentSkill

Appears in:

FieldDescriptionDefaultValidation
id stringID is the unique identifier for the skill.
name stringName is the human-readable name of the skill.
description stringDescription is an optional detailed description of the skill.
tags string arrayTags are optional tags for categorization.
examples string arrayExamples are optional usage examples.
inputModes string arrayInputModes are the supported input data modes/types.
outputModes string arrayOutputModes are the supported output data modes/types.

AgentSpec#

AgentSpec defines the desired state of Agent.

Appears in:

FieldDescriptionDefaultValidation
type AgentTypeDeclarativeEnum: [Declarative BYO]
byo BYOAgentSpec
declarative DeclarativeAgentSpec
description string
skills SkillForAgentSkills to load into the agent. They will be pulled from the specified container images.
and made available to the agent under the /skills folder.
allowedNamespaces AllowedNamespacesAllowedNamespaces defines which namespaces are allowed to reference this Agent as a tool.
This follows the Gateway API pattern for cross-namespace route attachments.
If not specified, only Agents in the same namespace can reference this Agent as a tool.
This field only applies when this Agent is used as a tool by another Agent.
See: https://gateway-api.sigs.k8s.io/guides/multiple-ns/#cross-namespace-routing

AgentStatus#

AgentStatus defines the observed state of Agent.

Appears in:

FieldDescriptionDefaultValidation
observedGeneration integer
conditions Condition array

AgentType#

Underlying type: string

AgentType represents the agent type

Validation:

  • Enum: [Declarative BYO]

Appears in:

FieldDescription
Declarative
BYO

AllowedNamespaces#

AllowedNamespaces defines which namespaces are allowed to reference this resource. This mechanism provides a bidirectional handshake for cross-namespace references, following the pattern used by Gateway API for cross-namespace route attachments.

By default (when not specified), only references from the same namespace are allowed.

Appears in:

FieldDescriptionDefaultValidation
from FromNamespacesFrom indicates where references to this resource can originate.
Possible values are:
* All: References from all namespaces are allowed.
* Same: Only references from the same namespace are allowed (default).
* Selector: References from namespaces matching the selector are allowed.
SameEnum: [All Same Selector]
selector LabelSelectorSelector is a label selector for namespaces that are allowed to reference this resource.
Only used when From is set to "Selector".

AnthropicConfig#

AnthropicConfig contains Anthropic-specific configuration options

Appears in:

FieldDescriptionDefaultValidation
baseUrl stringBase URL for the Anthropic API (overrides default)
maxTokens integerMaximum tokens to generate
temperature stringTemperature for sampling
topP stringTop-p sampling parameter
topK integerTop-k sampling parameter

AnthropicVertexAIConfig#

Appears in:

FieldDescriptionDefaultValidation
projectID stringThe project ID
location stringThe project location
temperature stringTemperature
topP stringTop-p sampling parameter
topK stringTop-k sampling parameter
stopSequences string arrayStop sequences
maxTokens integerMaximum tokens to generate

AzureOpenAIConfig#

AzureOpenAIConfig contains Azure OpenAI-specific configuration options

Appears in:

FieldDescriptionDefaultValidation
azureEndpoint stringEndpoint for the Azure OpenAI API
apiVersion stringAPI version for the Azure OpenAI API
azureDeployment stringDeployment name for the Azure OpenAI API
azureAdToken stringAzure AD token for authentication
temperature stringTemperature for sampling
maxTokens integerMaximum tokens to generate
topP stringTop-p sampling parameter

BYOAgentSpec#

Appears in:

FieldDescriptionDefaultValidation
deployment ByoDeploymentSpecTrust relationship to the agent.

BaseVertexAIConfig#

Appears in:

FieldDescriptionDefaultValidation
projectID stringThe project ID
location stringThe project location
temperature stringTemperature
topP stringTop-p sampling parameter
topK stringTop-k sampling parameter
stopSequences string arrayStop sequences

BedrockConfig#

BedrockConfig contains AWS Bedrock-specific configuration options.

Appears in:

FieldDescriptionDefaultValidation
region stringAWS region where the Bedrock model is available (e.g., us-east-1, us-west-2)

ByoDeploymentSpec#

Appears in:

FieldDescriptionDefaultValidation
image stringMinLength: 1
cmd string
args string array
replicas integer
imagePullSecrets LocalObjectReference array
volumes Volume array
volumeMounts VolumeMount array
labels object (keys:string, values:string)
annotations object (keys:string, values:string)
env EnvVar array
imagePullPolicy PullPolicy
resources ResourceRequirements
tolerations Toleration array
affinity Affinity
nodeSelector object (keys:string, values:string)
securityContext SecurityContext
podSecurityContext PodSecurityContext
serviceAccountName stringServiceAccountName specifies the name of an existing ServiceAccount to use.
If this field is set, the Agent controller will not create a ServiceAccount for the agent.
This field is mutually exclusive with ServiceAccountConfig.
serviceAccountConfig ServiceAccountConfigServiceAccountConfig configures the ServiceAccount created by the Agent controller.
This field can only be used when ServiceAccountName is not set.
If ServiceAccountName is not set, a default ServiceAccount (named after the agent)
is created, and this config will be applied to it.

ContextCompressionConfig#

ContextCompressionConfig configures event history compaction/compression.

Appears in:

FieldDescriptionDefaultValidation
compactionInterval integerThe number of new user-initiated invocations that, once fully represented in the session's events, will trigger a compaction.5Minimum: 1
overlapSize integerThe number of preceding invocations to include from the end of the last compacted range. This creates an overlap between consecutive compacted summaries, maintaining context.2Minimum: 0
summarizer ContextSummarizerConfigSummarizer configures an LLM-based summarizer for event compaction.
If not specified, compacted events are dropped from the context without summarization.
tokenThreshold integerPost-invocation token threshold trigger. If set, ADK will attempt a post-invocation compaction when the most recently
observed prompt token count meets or exceeds this threshold.
eventRetentionSize integerEventRetentionSize is the number of most recent events to always retain.

ContextConfig#

ContextConfig configures context management for an agent.

Appears in:

FieldDescriptionDefaultValidation
compaction ContextCompressionConfigCompaction configures event history compaction.
When enabled, older events in the conversation are compacted (compressed/summarized)
to reduce context size while preserving key information.

ContextSummarizerConfig#

ContextSummarizerConfig configures the LLM-based event summarizer.

Appears in:

FieldDescriptionDefaultValidation
modelConfig stringModelConfig is the name of a ModelConfig resource to use for summarization.
Must be in the same namespace as the Agent.
If not specified, uses the agent's own model.
promptTemplate stringPromptTemplate is a custom prompt template for the summarizer.
See the ADK LlmEventSummarizer for template details:
https://github.com/google/adk-python/blob/main/src/google/adk/apps/llm_event_summarizer.py

DeclarativeAgentSpec#

Appears in:

FieldDescriptionDefaultValidation
runtime DeclarativeRuntimeRuntime 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)
The runtime determines both the container image and readiness probe configuration.
pythonEnum: [python go]
systemMessage stringSystemMessage is a string specifying the system message for the agent.
When PromptTemplate is set, this field is treated as a Go text/template
with access to an include("source/key") function and agent context variables
such as .AgentName, .AgentNamespace, .Description, .ToolNames, and .SkillNames.
systemMessageFrom ValueSourceSystemMessageFrom is a reference to a ConfigMap or Secret containing the system message.
When PromptTemplate is set, the resolved value is treated as a Go text/template.
promptTemplate PromptTemplateSpecPromptTemplate enables Go text/template processing on the systemMessage field.
When set, systemMessage is treated as a Go template with access to the include function
and agent context variables.
modelConfig stringThe name of the model config to use.
If not specified, the default value is "default-model-config".
Must be in the same namespace as the Agent.
stream booleanWhether to stream the response from the model.
If not specified, the default value is false.
tools Tool arrayMaxItems: 20
a2aConfig A2AConfigA2AConfig instantiates an A2A server for this agent,
served on the HTTP port of the kagent kubernetes
controller (default 8083).
The A2A server URL will be served at
<kagent-controller-ip>:8083/api/a2a/<agent-namespace>/<agent-name>
Read more about the A2A protocol here: https://github.com/google/A2A
deployment DeclarativeDeploymentSpec
executeCodeBlocks booleanAllow code execution for python code blocks with this agent.
If true, the agent will automatically execute python code blocks in the LLM responses.
Code will be executed in a sandboxed environment.
due to a bug in adk (https://github.com/google/adk-python/issues/3921), this field is ignored for now.
memory MemorySpecMemory configuration for the agent.
context ContextConfigContext configures context management for this agent.
This includes event compaction (compression) and context caching.

DeclarativeDeploymentSpec#

Appears in:

FieldDescriptionDefaultValidation
imageRegistry string
replicas integer
imagePullSecrets LocalObjectReference array
volumes Volume array
volumeMounts VolumeMount array
labels object (keys:string, values:string)
annotations object (keys:string, values:string)
env EnvVar array
imagePullPolicy PullPolicy
resources ResourceRequirements
tolerations Toleration array
affinity Affinity
nodeSelector object (keys:string, values:string)
securityContext SecurityContext
podSecurityContext PodSecurityContext
serviceAccountName stringServiceAccountName specifies the name of an existing ServiceAccount to use.
If this field is set, the Agent controller will not create a ServiceAccount for the agent.
This field is mutually exclusive with ServiceAccountConfig.
serviceAccountConfig ServiceAccountConfigServiceAccountConfig configures the ServiceAccount created by the Agent controller.
This field can only be used when ServiceAccountName is not set.
If ServiceAccountName is not set, a default ServiceAccount (named after the agent)
is created, and this config will be applied to it.

DeclarativeRuntime#

Underlying type: string

DeclarativeRuntime represents the runtime implementation for declarative agents

Validation:

  • Enum: [python go]

Appears in:

FieldDescription
python
go

FromNamespaces#

Underlying type: string

FromNamespaces specifies namespace from which references to this resource are allowed. This follows the same pattern as Gateway API's cross-namespace route attachment. See: https://gateway-api.sigs.k8s.io/guides/multiple-ns/#cross-namespace-routing

Validation:

  • Enum: [All Same Selector]

Appears in:

FieldDescription
AllNamespacesFromAll allows references from all namespaces.
SameNamespacesFromSame only allows references from the same namespace as the target resource (default).
SelectorNamespacesFromSelector allows references from namespaces matching the selector.

GeminiConfig#

Appears in:

GeminiVertexAIConfig#

GeminiVertexAIConfig contains Gemini Vertex AI-specific configuration options

Appears in:

FieldDescriptionDefaultValidation
projectID stringThe project ID
location stringThe project location
temperature stringTemperature
topP stringTop-p sampling parameter
topK stringTop-k sampling parameter
stopSequences string arrayStop sequences
maxOutputTokens integerMaximum output tokens
candidateCount integerCandidate count
responseMimeType stringResponse mime type

GitRepo#

GitRepo specifies a single Git repository to fetch skills from.

Appears in:

FieldDescriptionDefaultValidation
url stringURL of the git repository (HTTPS or SSH).Required: {}
ref stringGit reference: branch name, tag, or commit SHA.main
path stringSubdirectory within the repo to use as the skill root.
name stringName for the skill directory under /skills. Defaults to the repo name.

MCPTool#

Appears in:

FieldDescriptionDefaultValidation
name string
description string

McpServerTool#

Appears in:

FieldDescriptionDefaultValidation
kind string
apiGroup string
name string
namespace string
toolNames string arrayThe names of the tools to be provided by the ToolServer
For a list of all the tools provided by the server,
the client can query the status of the ToolServer object after it has been created
MaxItems: 50
requireApproval string arrayRequireApproval lists tool names that require human approval before
execution. Each name must also appear in ToolNames. When a tool in
this list is invoked by the agent, execution pauses and the user is
prompted to approve or reject the call.
MaxItems: 50
allowedHeaders string arrayAllowedHeaders specifies which headers from the A2A request should be
propagated to MCP tool calls. Header names are case-insensitive.

Authorization header behavior:
- Authorization headers CAN be propagated if explicitly listed in allowedHeaders
- When STS token propagation is enabled, STS-generated Authorization headers
will take precedence and replace any Authorization header from the A2A request
- This is a security measure to prevent request headers from overwriting
authentication tokens generated by the STS integration

Example: ["x-user-email", "x-tenant-id"]

MemorySpec#

MemorySpec enables long-term memory for an agent.

Appears in:

FieldDescriptionDefaultValidation
modelConfig stringModelConfig is the name of the ModelConfig object whose embedding
provider will be used to generate memory vectors.
Required: {}
ttlDays integerTTLDays controls how many days a stored memory entry remains valid before
it is eligible for pruning. Defaults to 15 days when unset or zero.
Minimum: 1

ModelConfig#

ModelConfig is the Schema for the modelconfigs API.

FieldDescriptionDefaultValidation
apiVersion stringkagent.dev/v1alpha2
kind stringModelConfig
kind stringKind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
apiVersion stringAPIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec ModelConfigSpec
status ModelConfigStatus

ModelConfigSpec#

ModelConfigSpec defines the desired state of ModelConfig.

Appears in:

FieldDescriptionDefaultValidation
model string
apiKeySecret stringThe name of the secret that contains the API key. Must be a reference to the name of a secret in the same namespace as the referencing ModelConfig
apiKeySecretKey stringThe key in the secret that contains the API key
apiKeyPassthrough booleanAPIKeyPassthrough enables forwarding the Bearer token from incoming A2A requests
directly to the LLM provider as the API key. This is useful for organizations
with federated identity that want to avoid separate secret management.
Mutually exclusive with apiKeySecret.
defaultHeaders object (keys:string, values:string)
provider ModelProviderThe provider of the modelOpenAIEnum: [Anthropic OpenAI AzureOpenAI Ollama Gemini GeminiVertexAI AnthropicVertexAI Bedrock]
openAI OpenAIConfigOpenAI-specific configuration
anthropic AnthropicConfigAnthropic-specific configuration
azureOpenAI AzureOpenAIConfigAzure OpenAI-specific configuration
ollama OllamaConfigOllama-specific configuration
gemini GeminiConfigGemini-specific configuration
geminiVertexAI GeminiVertexAIConfigGemini Vertex AI-specific configuration
anthropicVertexAI AnthropicVertexAIConfigAnthropic-specific configuration
bedrock BedrockConfigAWS Bedrock-specific configuration
tls TLSConfigTLS configuration for provider connections.
Enables agents to connect to internal LiteLLM gateways or other providers
that use self-signed certificates or custom certificate authorities.

ModelConfigStatus#

ModelConfigStatus defines the observed state of ModelConfig.

Appears in:

FieldDescriptionDefaultValidation
conditions Condition array
observedGeneration integer
secretHash stringThe secret hash stores a hash of any secrets required by the model config (i.e. api key, tls cert) to ensure agents referencing this model config detect changes to these secrets and restart if necessary.

ModelProvider#

Underlying type: string

ModelProvider represents the model provider type

Validation:

  • Enum: [Anthropic OpenAI AzureOpenAI Ollama Gemini GeminiVertexAI AnthropicVertexAI Bedrock]

Appears in:

FieldDescription
Anthropic
AzureOpenAI
OpenAI
Ollama
Gemini
GeminiVertexAI
AnthropicVertexAI
Bedrock

ModelProviderConfig#

ModelProviderConfig is the Schema for the modelproviderconfigs API. It represents a model provider configuration with automatic model discovery.

FieldDescriptionDefaultValidation
apiVersion stringkagent.dev/v1alpha2
kind stringModelProviderConfig
kind stringKind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
apiVersion stringAPIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec ModelProviderConfigSpec
status ModelProviderConfigStatus

ModelProviderConfigSpec#

ModelProviderConfigSpec defines the desired state of ModelProviderConfig.

Appears in:

FieldDescriptionDefaultValidation
type ModelProviderType is the model provider type (OpenAI, Anthropic, etc.)Enum: [Anthropic OpenAI AzureOpenAI Ollama Gemini GeminiVertexAI AnthropicVertexAI Bedrock]
Required: {}
endpoint stringEndpoint is the API endpoint URL for the provider.
If not specified, the default endpoint for the provider type will be used.
Pattern: ^https?://.*
secretRef SecretReferenceSecretRef references the Kubernetes Secret containing the API key.
Optional for providers that don't require authentication (e.g., local Ollama).

ModelProviderConfigStatus#

ModelProviderConfigStatus defines the observed state of ModelProviderConfig.

Appears in:

FieldDescriptionDefaultValidation
observedGeneration integerObservedGeneration reflects the generation of the most recently observed ModelProviderConfig spec
conditions Condition arrayConditions represent the latest available observations of the ModelProviderConfig's state
discoveredModels string arrayDiscoveredModels is the cached list of model IDs available from this model provider
modelCount integerModelCount is the number of discovered models (for kubectl display)
lastDiscoveryTime TimeLastDiscoveryTime is the timestamp of the last successful model discovery
secretHash stringSecretHash is a hash of the referenced secret data, used to detect secret changes

OllamaConfig#

OllamaConfig contains Ollama-specific configuration options

Appears in:

FieldDescriptionDefaultValidation
host stringHost for the Ollama API
options object (keys:string, values:string)Options for the Ollama API

OpenAIConfig#

OpenAIConfig contains OpenAI-specific configuration options

Appears in:

FieldDescriptionDefaultValidation
baseUrl stringBase URL for the OpenAI API (overrides default)
organization stringOrganization ID for the OpenAI API
temperature stringTemperature for sampling
maxTokens integerMaximum tokens to generate
topP stringTop-p sampling parameter
frequencyPenalty stringFrequency penalty
presencePenalty stringPresence penalty
seed integerSeed value
n integerN value
timeout integerTimeout
reasoningEffort OpenAIReasoningEffortReasoning effortEnum: [minimal low medium high]

OpenAIReasoningEffort#

Underlying type: string

OpenAIReasoningEffort represents how many reasoning tokens the model generates before producing a response.

Validation:

  • Enum: [minimal low medium high]

Appears in:

PromptSource#

PromptSource references a ConfigMap whose keys are available as prompt fragments. In systemMessage templates, use include("alias/key") (or include("name/key") if no alias is set) to insert the value of a specific key from this source.

Appears in:

FieldDescriptionDefaultValidation
kind string
apiGroup string
name string
alias stringAlias is an optional short identifier for use in include directives.
If set, use include("alias/key") instead of include("name/key").

PromptTemplateSpec#

PromptTemplateSpec configures prompt template processing for an agent's system message.

Appears in:

FieldDescriptionDefaultValidation
dataSources PromptSource arrayDataSources defines the ConfigMaps whose keys can be included in the systemMessage
using Go template syntax, e.g. include("alias/key") or include("name/key").
MaxItems: 20

RemoteMCPServer#

RemoteMCPServer is the Schema for the RemoteMCPServers API.

FieldDescriptionDefaultValidation
apiVersion stringkagent.dev/v1alpha2
kind stringRemoteMCPServer
kind stringKind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
apiVersion stringAPIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec RemoteMCPServerSpec
status RemoteMCPServerStatus

RemoteMCPServerProtocol#

Underlying type: string

Validation:

  • Enum: [SSE STREAMABLE_HTTP]

Appears in:

FieldDescription
SSE
STREAMABLE_HTTP

RemoteMCPServerSpec#

RemoteMCPServerSpec defines the desired state of RemoteMCPServer.

Appears in:

FieldDescriptionDefaultValidation
description string
protocol RemoteMCPServerProtocolSTREAMABLE_HTTPEnum: [SSE STREAMABLE_HTTP]
url stringMinLength: 1
headersFrom ValueRef array
timeout Duration
sseReadTimeout Duration
terminateOnClose booleantrue
allowedNamespaces AllowedNamespacesAllowedNamespaces defines which namespaces are allowed to reference this RemoteMCPServer.
This follows the Gateway API pattern for cross-namespace route attachments.
If not specified, only Agents in the same namespace can reference this RemoteMCPServer.
See: https://gateway-api.sigs.k8s.io/guides/multiple-ns/#cross-namespace-routing

RemoteMCPServerStatus#

RemoteMCPServerStatus defines the observed state of RemoteMCPServer.

Appears in:

FieldDescriptionDefaultValidation
observedGeneration integerINSERT ADDITIONAL STATUS FIELD - define observed state of cluster
Important: Run "make" to regenerate code after modifying this file
conditions Condition array
discoveredTools MCPTool arrayOptional: {}

SecretReference#

SecretReference references a Kubernetes Secret that must contain exactly one data key holding the API key or credential.

Appears in:

FieldDescriptionDefaultValidation
name stringName is the name of the secret in the same namespace as the ModelProviderConfig.

ServiceAccountConfig#

Appears in:

FieldDescriptionDefaultValidation
labels object (keys:string, values:string)
annotations object (keys:string, values:string)

SharedDeploymentSpec#

Appears in:

FieldDescriptionDefaultValidation
replicas integer
imagePullSecrets LocalObjectReference array
volumes Volume array
volumeMounts VolumeMount array
labels object (keys:string, values:string)
annotations object (keys:string, values:string)
env EnvVar array
imagePullPolicy PullPolicy
resources ResourceRequirements
tolerations Toleration array
affinity Affinity
nodeSelector object (keys:string, values:string)
securityContext SecurityContext
podSecurityContext PodSecurityContext
serviceAccountName stringServiceAccountName specifies the name of an existing ServiceAccount to use.
If this field is set, the Agent controller will not create a ServiceAccount for the agent.
This field is mutually exclusive with ServiceAccountConfig.
serviceAccountConfig ServiceAccountConfigServiceAccountConfig configures the ServiceAccount created by the Agent controller.
This field can only be used when ServiceAccountName is not set.
If ServiceAccountName is not set, a default ServiceAccount (named after the agent)
is created, and this config will be applied to it.

SkillForAgent#

Appears in:

FieldDescriptionDefaultValidation
insecureSkipVerify booleanFetch images insecurely from registries (allowing HTTP and skipping TLS verification).
Meant for development and testing purposes only.
refs string arrayThe list of skill images to fetch.MaxItems: 20
MinItems: 1
gitAuthSecretRef LocalObjectReferenceReference to a Secret containing git credentials.
Applied to all gitRefs entries.
The secret should contain a token key for HTTPS auth,
or ssh-privatekey for SSH auth.
gitRefs GitRepo arrayGit repositories to fetch skills from.MaxItems: 20
MinItems: 1

TLSConfig#

TLSConfig contains TLS/SSL configuration options for model provider connections. This enables agents to connect to internal LiteLLM gateways or other providers that use self-signed certificates or custom certificate authorities.

Appears in:

FieldDescriptionDefaultValidation
disableVerify booleanDisableVerify disables SSL certificate verification entirely.
When false (default), SSL certificates are verified.
When true, SSL certificate verification is disabled.
WARNING: This should ONLY be used in development/testing environments.
Production deployments MUST use proper certificates.
false
caCertSecretRef stringCACertSecretRef is a reference to a Kubernetes Secret containing
CA certificate(s) in PEM format. The Secret must be in the same
namespace as the ModelConfig.
When set, the certificate will be used to verify the provider's SSL certificate.
This field follows the same pattern as APIKeySecret.
caCertSecretKey stringCACertSecretKey is the key within the Secret that contains the CA certificate data.
This field follows the same pattern as APIKeySecretKey.
Required when CACertSecretRef is set (unless DisableVerify is true).
disableSystemCAs booleanDisableSystemCAs disables the use of system CA certificates.
When false (default), system CA certificates are used for verification (safe behavior).
When true, only the custom CA from CACertSecretRef is trusted.
This allows strict security policies where only corporate CAs should be trusted.
false

Tool#

Appears in:

FieldDescriptionDefaultValidation
type ToolProviderTypeEnum: [McpServer Agent]
mcpServer McpServerTool
agent TypedReference
headersFrom ValueRef arrayHeadersFrom specifies a list of configuration values to be added as
headers to requests sent to the Tool from this agent. The value of
each header is resolved from either a Secret or ConfigMap in the same
namespace as the Agent. Headers specified here will override any
headers of the same name/key specified on the tool.

ToolProviderType#

Underlying type: string

ToolProviderType represents the tool provider type

Validation:

  • Enum: [McpServer Agent]

Appears in:

FieldDescription
McpServer
Agent

TypedLocalReference#

Appears in:

FieldDescriptionDefaultValidation
kind string
apiGroup string
name string

TypedReference#

Appears in:

FieldDescriptionDefaultValidation
kind string
apiGroup string
name string
namespace string

ValueRef#

ValueRef represents a configuration value

Appears in:

FieldDescriptionDefaultValidation
name string
value string
valueFrom ValueSource

ValueSource#

ValueSource defines a source for configuration values from a Secret or ConfigMap

Appears in:

FieldDescriptionDefaultValidation
type ValueSourceTypeEnum: [ConfigMap Secret]
name stringThe name of the ConfigMap or Secret.
key stringThe key of the ConfigMap or Secret.

ValueSourceType#

Underlying type: string

Appears in:

FieldDescription
ConfigMap
Secret
Kagent Lab: Discover kagent and kmcp
Free, on‑demand lab: build custom AI agents with kagent and integrate tools via kmcp on Kubernetes.