Harness
kagent.dev / v1alpha3
apiVersion: kagent.dev/v1alpha3
kind: Harness
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
HarnessSpec defines a reusable runtime and its infrastructure policy.
allowedAgentTemplates object
AllowedAgentTemplates selects AgentTemplates this Harness admits.
When omitted, the Harness admits none.
selector object required
Selector selects admitted AgentTemplates in the Harness namespace.
matchExpressions []object
matchExpressions is a list of label selector requirements. The requirements are ANDed.
key
string required
key is the label key that the selector applies to.
operator
string required
operator represents a key's relationship to a set of values.
Valid operators are In, NotIn, Exists and DoesNotExist.
values
[]string
values is an array of string values. If the operator is In or NotIn,
the values array must be non-empty. If the operator is Exists or DoesNotExist,
the values array must be empty. This array is replaced during a strategic
merge patch.
matchLabels
object
matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
map is equivalent to an element of matchExpressions, whose key field is "key", the
operator is "In", and the values array contains only "value". The requirements are ANDed.
byo
object
BYOHarness selects an image that implements kagent's private A2A contract.
claude
object
ClaudeHarness selects the Claude runtime adapter.
codex
object
CodexHarness selects the Codex runtime adapter.
env []object
maxItems:
100credentialRef object
CredentialRef references a key in a same-namespace Secret.
key
string required
The key of the secret to select from. Must be a valid secret key.
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
optional
boolean
Specify whether the Secret or its key must be defined
name
string required
minLength:
1
value
string
Value is a literal value, including an empty string.
kagent object
KagentHarness configures the kagent runtime adapter.
memory object
Memory enables long-term memory for agents using this Harness.
modelConfigRef object required
ModelConfigRef references the embedding ModelConfig in the Harness 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
ttlDays
integer
TTLDays controls how many days a stored memory entry remains valid.
minimum:
1substrate object required
HarnessSubstratePolicy contains the Substrate policy shared by all runtime variants.
snapshotPolicy object required
SnapshotPolicy configures runtime snapshot storage.
location
string required
Location is the snapshot storage location used by Substrate.
pattern:
^[^[:space:]]+$workerPoolRef object required
WorkerPoolRef references a WorkerPool in the Harness 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
workload object required
HarnessWorkload identifies the immutable runtime image used by a Harness.
args
[]string
Args overrides the image command arguments when set.
maxItems:
64
command
[]string
Command overrides the image entrypoint when set.
maxItems:
32
image
string required
Image is an OCI image reference pinned by sha256 digest.
pattern:
^[^[:space:]@]+@sha256:[a-f0-9]{64}$status object
HarnessStatus reports controller-derived capabilities and current health.
capabilities object
Capabilities is the single capability record for the selected runtime.
approvals
boolean required
checkpoint
boolean required
dedicatedAgentTools
boolean required
inputModalities
[]string
maxItems:
16
inputRequired
boolean required
interruption
boolean required
maxNativeAgentDepth
integer required
format:
int32minimum:
0
mcpInjection
boolean required
nativeAgentTools
boolean required
outputModalities
[]string
maxItems:
16
resume
boolean required
streaming
boolean required
version
string required
Version identifies the controller capability catalog entry.
minLength:
1conditions []object
Conditions report adapter and dependency health.
maxItems:
8
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
observedGeneration
integer
ObservedGeneration is the latest Harness generation observed by the controller.
format:
int64No matches. Try .spec.allowedAgentTemplates for an exact path