AgentTemplate
kagent.dev / v1alpha3
apiVersion: kagent.dev/v1alpha3
kind: AgentTemplate
metadata:
name: example
apiVersion
string
APIVersion 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
kind
string
Kind 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
metadata
object
spec object required
AgentTemplateSpec defines portable agent behavior.
description
string
modelConfig object
ModelConfig is required by managed harnesses and optional for BYO harnesses.
name
string
Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
plugins []object
maxItems:
20
skills
[]string
An empty selection enables nothing.
maxItems:
50source object required
ArtifactSource selects exactly one immutable artifact.
bucket object
BucketArtifact selects the supported object-store provider.
s3 object required
S3Object identifies one immutable S3 object version.
bucket
string required
minLength:
1
endpoint
string required
Endpoint is the HTTP(S) endpoint of an AWS or S3-compatible service.
pattern:
^https?://[^[:space:]]+$
key
string required
minLength:
1
region
string
Region is used for request signing when required by the service.
versionId
string required
minLength:
1git object
GitArtifact identifies immutable content at a full Git commit ID.
commit
string required
pattern:
^([0-9a-fA-F]{40}|[0-9a-fA-F]{64})$
url
string required
pattern:
^https?://[^[:space:]]+$minLength:
1
oci
string
OCI is a digest-pinned image reference.
pattern:
^[^[:space:]@]+@sha256:[0-9a-f]{64}$
path
string
Path selects a directory within the immutable artifact.
maxLength:
1024promptTemplate object
AgentTemplatePromptTemplateSpec enables Go template rendering and ConfigMap includes.
dataSources []object
DataSources are same-namespace ConfigMaps available to include("source/key").
maxItems:
20
alias
string
Alias is the name used by include. The ConfigMap name is used when omitted.
minLength:
1
name
string required
minLength:
1skills []object
maxItems:
50
name
string required
minLength:
1source object required
ArtifactSource selects exactly one immutable artifact.
bucket object
BucketArtifact selects the supported object-store provider.
s3 object required
S3Object identifies one immutable S3 object version.
bucket
string required
minLength:
1
endpoint
string required
Endpoint is the HTTP(S) endpoint of an AWS or S3-compatible service.
pattern:
^https?://[^[:space:]]+$
key
string required
minLength:
1
region
string
Region is used for request signing when required by the service.
versionId
string required
minLength:
1git object
GitArtifact identifies immutable content at a full Git commit ID.
commit
string required
pattern:
^([0-9a-fA-F]{40}|[0-9a-fA-F]{64})$
url
string required
pattern:
^https?://[^[:space:]]+$minLength:
1
oci
string
OCI is a digest-pinned image reference.
pattern:
^[^[:space:]@]+@sha256:[0-9a-f]{64}$
path
string
Path selects a directory within the immutable artifact.
maxLength:
1024
systemPrompt
string
systemPromptFrom object
SystemPromptFrom references prompt text in a same-namespace ConfigMap.
key
string required
minLength:
1
name
string required
minLength:
1tools []object
maxItems:
50agent object
AgentToolBinding exposes another same-namespace AgentTemplate as a logical tool.
description
string required
Description tells the parent when to route work to this binding.
minLength:
1
isolation
string
AgentToolIsolation controls whether a referenced template shares its parent's runtime boundary.
enum:
Shared, Dedicated
name
string required
minLength:
1templateRef object required
LocalObjectReference contains enough information to let you locate the
referenced object inside the same namespace.
name
string
Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
mcp object
MCPToolBinding binds tools from a same-namespace MCP server.
requireApproval
boolean
RequireApproval pauses before each invocation of a tool exposed by this
binding. It applies to the selected tools, or to every server tool when
Tools is omitted or empty.
server object required
TypedLocalObjectReference contains enough information to let you locate the
typed referenced object inside the same namespace.
apiGroup
string
APIGroup is the group for the resource being referenced.
If APIGroup is not specified, the specified Kind must be in the core API group.
For any other third-party types, APIGroup is required.
kind
string required
Kind is the type of resource being referenced
name
string required
Name is the name of resource being referenced
tools
[]string
Tools optionally limits which server tools are exposed. An omitted or empty
list exposes every tool. Harnesses that cannot enforce a partial selection
may expose the whole server and report a warning.
maxItems:
50status object
AgentTemplateStatus is the controller-observed state for each admitting Harness.
harnesses []object
Harnesses has at most one entry for each admitting Harness.
conditions []object
maxItems:
4
lastTransitionTime
string required
lastTransitionTime is the last time the condition transitioned from one status to another.
This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
format:
date-time
message
string required
message is a human readable message indicating details about the transition.
This may be an empty string.
maxLength:
32768
observedGeneration
integer
observedGeneration represents the .metadata.generation that the condition was set based upon.
For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
with respect to the current state of the instance.
format:
int64minimum:
0
reason
string required
reason contains a programmatic identifier indicating the reason for the condition's last transition.
Producers of specific condition types may define expected values and meanings for this field,
and whether the values are considered a guaranteed API.
The value should be a CamelCase string.
This field may not be empty.
pattern:
^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$minLength:
1maxLength:
1024
status
string required
status of the condition, one of True, False, Unknown.
enum:
True, False, Unknown
type
string required
type of condition in CamelCase or in foo.example.com/CamelCase.
pattern:
^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$maxLength:
316
desiredRevision
string required
minLength:
1
harness
string required
Harness names a same-namespace Harness whose admission selector matches
this AgentTemplate.
minLength:
1
latestSuccessfulRevision
string
minLength:
1
warnings
[]string
Warnings reports non-blocking compatibility decisions made while compiling
this AgentTemplate for the Harness.
maxItems:
100
observedGeneration
integer
format:
int64No matches. Try .spec.description for an exact path