v1alpha1

package
v0.28.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 30, 2026 License: Apache-2.0 Imports: 5 Imported by: 1

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the runtime v1alpha1 API group. +kubebuilder:object:generate=true +groupName=runtime.agentic-layer.ai

Index

Constants

View Source
const (
	A2AProtocol = "A2A"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects.
	GroupVersion = schema.GroupVersion{Group: "runtime.agentic-layer.ai", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme.
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type Agent

type Agent struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   AgentSpec   `json:"spec,omitempty"`
	Status AgentStatus `json:"status,omitempty"`
}

Agent is the Schema for the agents API.

func (*Agent) DeepCopy

func (in *Agent) DeepCopy() *Agent

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Agent.

func (*Agent) DeepCopyInto

func (in *Agent) DeepCopyInto(out *Agent)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Agent) DeepCopyObject

func (in *Agent) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type AgentGateway added in v0.4.5

type AgentGateway struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   AgentGatewaySpec   `json:"spec,omitempty"`
	Status AgentGatewayStatus `json:"status,omitempty"`
}

AgentGateway is the Schema for the agentgateways API

func (*AgentGateway) DeepCopy added in v0.4.5

func (in *AgentGateway) DeepCopy() *AgentGateway

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentGateway.

func (*AgentGateway) DeepCopyInto added in v0.4.5

func (in *AgentGateway) DeepCopyInto(out *AgentGateway)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AgentGateway) DeepCopyObject added in v0.4.5

func (in *AgentGateway) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type AgentGatewayClass added in v0.4.5

type AgentGatewayClass struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   AgentGatewayClassSpec   `json:"spec,omitempty"`
	Status AgentGatewayClassStatus `json:"status,omitempty"`
}

AgentGatewayClass is the Schema for the agentgatewayclasses API

func (*AgentGatewayClass) DeepCopy added in v0.4.5

func (in *AgentGatewayClass) DeepCopy() *AgentGatewayClass

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentGatewayClass.

func (*AgentGatewayClass) DeepCopyInto added in v0.4.5

func (in *AgentGatewayClass) DeepCopyInto(out *AgentGatewayClass)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AgentGatewayClass) DeepCopyObject added in v0.4.5

func (in *AgentGatewayClass) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type AgentGatewayClassList added in v0.4.5

type AgentGatewayClassList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []AgentGatewayClass `json:"items"`
}

AgentGatewayClassList contains a list of AgentGatewayClass

func (*AgentGatewayClassList) DeepCopy added in v0.4.5

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentGatewayClassList.

func (*AgentGatewayClassList) DeepCopyInto added in v0.4.5

func (in *AgentGatewayClassList) DeepCopyInto(out *AgentGatewayClassList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AgentGatewayClassList) DeepCopyObject added in v0.4.5

func (in *AgentGatewayClassList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type AgentGatewayClassSpec added in v0.4.5

type AgentGatewayClassSpec struct {
	// Controller is the name of the controller that should handle this gateway class
	// +kubebuilder:validation:Required
	Controller string `json:"controller"`
}

AgentGatewayClassSpec defines the desired state of AgentGatewayClass

func (*AgentGatewayClassSpec) DeepCopy added in v0.4.5

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentGatewayClassSpec.

func (*AgentGatewayClassSpec) DeepCopyInto added in v0.4.5

func (in *AgentGatewayClassSpec) DeepCopyInto(out *AgentGatewayClassSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AgentGatewayClassStatus added in v0.4.5

type AgentGatewayClassStatus struct {
	// Conditions represent the latest available observations of the gateway class's state
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
}

AgentGatewayClassStatus defines the observed state of AgentGatewayClass

func (*AgentGatewayClassStatus) DeepCopy added in v0.4.5

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentGatewayClassStatus.

func (*AgentGatewayClassStatus) DeepCopyInto added in v0.4.5

func (in *AgentGatewayClassStatus) DeepCopyInto(out *AgentGatewayClassStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AgentGatewayList added in v0.4.5

type AgentGatewayList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []AgentGateway `json:"items"`
}

AgentGatewayList contains a list of AgentGateway

func (*AgentGatewayList) DeepCopy added in v0.4.5

func (in *AgentGatewayList) DeepCopy() *AgentGatewayList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentGatewayList.

func (*AgentGatewayList) DeepCopyInto added in v0.4.5

func (in *AgentGatewayList) DeepCopyInto(out *AgentGatewayList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AgentGatewayList) DeepCopyObject added in v0.4.5

func (in *AgentGatewayList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type AgentGatewaySpec added in v0.4.5

type AgentGatewaySpec struct {
	// AgentGatewayClassName specifies which AgentGatewayClass to use for this gateway instance.
	// This is only needed if multiple gateway classes are defined in the cluster.
	AgentGatewayClassName string `json:"agentGatewayClassName,omitempty"`

	// Replicas is the number of gateway replicas
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:default=1
	Replicas *int32 `json:"replicas,omitempty"`

	// Timeout specifies the gateway timeout for requests
	// +kubebuilder:default="360s"
	Timeout *metav1.Duration `json:"timeout,omitempty"`

	// Environment variables to pass to the AgentGateway container.
	// These can include configuration values, credentials, or feature flags.
	// +optional
	Env []corev1.EnvVar `json:"env,omitempty"`

	// List of sources to populate environment variables in the AgentGateway container.
	// This allows loading variables from ConfigMaps and Secrets.
	// +optional
	EnvFrom []corev1.EnvFromSource `json:"envFrom,omitempty"`

	// CommonMetadata defines labels and annotations to be applied to the Deployment and Service
	// resources created for this gateway, as well as the pod template.
	// +optional
	CommonMetadata *EmbeddedMetadata `json:"commonMetadata,omitempty"`

	// PodMetadata defines labels and annotations to be applied only to the pod template
	// of the Deployment created for this gateway.
	// +optional
	PodMetadata *EmbeddedMetadata `json:"podMetadata,omitempty"`

	// Guardrails lists the Guard resources to be applied to traffic through this gateway.
	// Guards are applied in the order they are listed.
	// +optional
	Guardrails []corev1.ObjectReference `json:"guardrails,omitempty"`
}

AgentGatewaySpec defines the desired state of AgentGateway

func (*AgentGatewaySpec) DeepCopy added in v0.4.5

func (in *AgentGatewaySpec) DeepCopy() *AgentGatewaySpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentGatewaySpec.

func (*AgentGatewaySpec) DeepCopyInto added in v0.4.5

func (in *AgentGatewaySpec) DeepCopyInto(out *AgentGatewaySpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AgentGatewayStatus added in v0.4.5

type AgentGatewayStatus struct {
	// Conditions represent the latest available observations of the gateway's state
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
}

AgentGatewayStatus defines the observed state of AgentGateway

func (*AgentGatewayStatus) DeepCopy added in v0.4.5

func (in *AgentGatewayStatus) DeepCopy() *AgentGatewayStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentGatewayStatus.

func (*AgentGatewayStatus) DeepCopyInto added in v0.4.5

func (in *AgentGatewayStatus) DeepCopyInto(out *AgentGatewayStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AgentList

type AgentList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Agent `json:"items"`
}

AgentList contains a list of Agent.

func (*AgentList) DeepCopy

func (in *AgentList) DeepCopy() *AgentList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentList.

func (*AgentList) DeepCopyInto

func (in *AgentList) DeepCopyInto(out *AgentList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AgentList) DeepCopyObject

func (in *AgentList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type AgentProtocol

type AgentProtocol struct {
	// Name is the name of the port
	// +kubebuilder:default=“
	Name string `json:"name,omitempty"`

	// Type of the protocol used by the agent
	// +kubebuilder:validation:Enum=A2A
	Type string `json:"type"`

	// Port is the port number, defaults to the default port for the protocol
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port int32 `json:"port,omitempty"`

	// Path is the path used for HTTP-based protocols
	// +kubebuilder:validation:Pattern=`^/[a-zA-Z0-9/_-]*$`
	Path string `json:"path,omitempty"`
}

AgentProtocol defines a port configuration for the agent

func (*AgentProtocol) DeepCopy

func (in *AgentProtocol) DeepCopy() *AgentProtocol

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentProtocol.

func (*AgentProtocol) DeepCopyInto

func (in *AgentProtocol) DeepCopyInto(out *AgentProtocol)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AgentRuntimeConfiguration added in v0.19.0

type AgentRuntimeConfiguration struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   AgentRuntimeConfigurationSpec   `json:"spec,omitempty"`
	Status AgentRuntimeConfigurationStatus `json:"status,omitempty"`
}

AgentRuntimeConfiguration is the Schema for the agentruntimeconfigurations API. It provides namespace-scoped configuration for the agent-runtime-operator.

func (*AgentRuntimeConfiguration) DeepCopy added in v0.19.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentRuntimeConfiguration.

func (*AgentRuntimeConfiguration) DeepCopyInto added in v0.19.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AgentRuntimeConfiguration) DeepCopyObject added in v0.19.0

func (in *AgentRuntimeConfiguration) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type AgentRuntimeConfigurationList added in v0.19.0

type AgentRuntimeConfigurationList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []AgentRuntimeConfiguration `json:"items"`
}

AgentRuntimeConfigurationList contains a list of AgentRuntimeConfiguration.

func (*AgentRuntimeConfigurationList) DeepCopy added in v0.19.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentRuntimeConfigurationList.

func (*AgentRuntimeConfigurationList) DeepCopyInto added in v0.19.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AgentRuntimeConfigurationList) DeepCopyObject added in v0.19.0

func (in *AgentRuntimeConfigurationList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type AgentRuntimeConfigurationSpec added in v0.19.0

type AgentRuntimeConfigurationSpec struct {
	// DefaultFramework defines the default agent framework to use when an Agent resource
	// does not specify a framework. When this value changes, all agents without an explicit
	// framework will be updated to use the new default.
	// If not specified, the operator defaults to "google-adk".
	// +kubebuilder:validation:Enum=google-adk;msaf
	// +optional
	DefaultFramework string `json:"defaultFramework,omitempty"`

	// AgentTemplateImages defines the default template images for different agent frameworks.
	// These images are used when an Agent resource does not specify a custom image.
	// +optional
	AgentTemplateImages *AgentTemplateImages `json:"agentTemplateImages,omitempty"`
}

AgentRuntimeConfigurationSpec defines the desired state of AgentRuntimeConfiguration.

func (*AgentRuntimeConfigurationSpec) DeepCopy added in v0.19.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentRuntimeConfigurationSpec.

func (*AgentRuntimeConfigurationSpec) DeepCopyInto added in v0.19.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AgentRuntimeConfigurationStatus added in v0.19.0

type AgentRuntimeConfigurationStatus struct {
	// Conditions represent the latest available observations of the configuration's state.
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

AgentRuntimeConfigurationStatus defines the observed state of AgentRuntimeConfiguration.

func (*AgentRuntimeConfigurationStatus) DeepCopy added in v0.19.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentRuntimeConfigurationStatus.

func (*AgentRuntimeConfigurationStatus) DeepCopyInto added in v0.19.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AgentSpec

type AgentSpec struct {
	// Framework defines the supported agent frameworks
	// +kubebuilder:validation:Enum=google-adk;msaf;custom
	// +optional
	Framework string `json:"framework,omitempty"`

	// Replicas is the number of replicas for the microservice deployment
	// +kubebuilder:validation:Minimum=0
	// +optional
	Replicas *int32 `json:"replicas,omitempty"`

	// Image is the Docker image and tag to use for the microservice deployment.
	// When not specified, the operator will use a framework-specific template image.
	// +optional
	Image string `json:"image,omitempty"`

	// Description provides a description of the agent.
	// This is passed as AGENT_DESCRIPTION environment variable to the agent.
	// +optional
	Description string `json:"description,omitempty"`

	// Instruction defines the system instruction/prompt for the agent when using template images.
	// This is passed as AGENT_INSTRUCTION environment variable to the agent.
	// +optional
	Instruction string `json:"instruction,omitempty"`

	// Model specifies the language model to use for the agent.
	// This is passed as AGENT_MODEL environment variable to the agent.
	// Defaults to the agents default model if not specified.
	// +optional
	Model string `json:"model,omitempty"`

	// SubAgents defines configuration for connecting to cluster or remote agents.
	// This is converted to JSON and passed as SUB_AGENTS environment variable to the agent.
	// +optional
	SubAgents []SubAgent `json:"subAgents,omitempty"`

	// Tools defines configuration for integrating MCP (Model Context Protocol) tools.
	// This is converted to JSON and passed as AGENT_TOOLS environment variable to the agent.
	// +optional
	Tools []AgentTool `json:"tools,omitempty"`

	// Protocols defines the protocols supported by the agent
	// +patchMergeKey=name
	// +patchStrategy=merge
	// +listType=atomic
	Protocols []AgentProtocol `json:"protocols,omitempty"`

	// Exposed indicates whether this agent should be exposed via the AgentGateway
	// +kubebuilder:default=false
	Exposed bool `json:"exposed,omitempty"`

	// AiGatewayRef references an AiGateway resource that this agent should use for model routing.
	// If not specified, the operator will attempt to find the default AiGateway in the cluster.
	// If no default AiGateway exists, the agent will run without an AI Gateway.
	// If Namespace is not specified, defaults to the same namespace as the Agent.
	// +optional
	AiGatewayRef *corev1.ObjectReference `json:"aiGatewayRef,omitempty"`

	// Env defines additional environment variables to be injected into the agent container.
	// These are take precedence over operator-managed environment variables.
	// +optional
	Env []corev1.EnvVar `json:"env,omitempty"`

	// EnvFrom defines sources to populate environment variables from.
	// +optional
	EnvFrom []corev1.EnvFromSource `json:"envFrom,omitempty"`

	// VolumeMounts defines volume mounts to be added to the agent container.
	// +optional
	VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"`

	// Volumes defines volumes to be added to the agent pod.
	// Volume names starting with "agent-operator-" are reserved for operator use and will be rejected.
	// +optional
	Volumes []corev1.Volume `json:"volumes,omitempty"`

	// Resources defines the compute resource requirements for the agent container.
	// +optional
	Resources *corev1.ResourceRequirements `json:"resources,omitempty"`

	// CommonMetadata defines labels and annotations to be applied to the Deployment and Service
	// resources created for this agent, as well as the pod template.
	// +optional
	CommonMetadata *EmbeddedMetadata `json:"commonMetadata,omitempty"`

	// PodMetadata defines labels and annotations to be applied only to the pod template
	// of the Deployment created for this agent.
	// +optional
	PodMetadata *EmbeddedMetadata `json:"podMetadata,omitempty"`
}

AgentSpec defines the desired state of Agent.

func (*AgentSpec) DeepCopy

func (in *AgentSpec) DeepCopy() *AgentSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentSpec.

func (*AgentSpec) DeepCopyInto

func (in *AgentSpec) DeepCopyInto(out *AgentSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AgentStatus

type AgentStatus struct {
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`

	// Url is the cluster-local URL where this agent can be accessed via A2A protocol.
	// This is automatically populated by the controller when the agent has an A2A protocol configured.
	// Format: http://{name}.{namespace}.svc.cluster.local:{port}/.well-known/agent-card.json
	// +optional
	Url string `json:"url,omitempty"`

	// AiGatewayRef references the AiGateway resource that this agent is connected to.
	// This field is automatically populated by the controller when an AI Gateway is being used.
	// If nil, the agent is not connected to any AI Gateway.
	// +optional
	AiGatewayRef *corev1.ObjectReference `json:"aiGatewayRef,omitempty"`
}

AgentStatus defines the observed state of Agent.

func (*AgentStatus) DeepCopy

func (in *AgentStatus) DeepCopy() *AgentStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentStatus.

func (*AgentStatus) DeepCopyInto

func (in *AgentStatus) DeepCopyInto(out *AgentStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AgentTemplateImages added in v0.19.0

type AgentTemplateImages struct {
	// GoogleAdk is the template image for the Google ADK framework.
	// If not specified, the operator's built-in default will be used.
	// +optional
	GoogleAdk string `json:"googleAdk,omitempty"`

	// Msaf is the template image for the Microsoft Agent Framework (MSAF).
	// If not specified, the operator's built-in default will be used.
	// +optional
	Msaf string `json:"msaf,omitempty"`
}

AgentTemplateImages defines template images for agent frameworks.

func (*AgentTemplateImages) DeepCopy added in v0.19.0

func (in *AgentTemplateImages) DeepCopy() *AgentTemplateImages

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentTemplateImages.

func (*AgentTemplateImages) DeepCopyInto added in v0.19.0

func (in *AgentTemplateImages) DeepCopyInto(out *AgentTemplateImages)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AgentTool added in v0.4.0

type AgentTool struct {
	// Name is the unique identifier for this tool within the agent.
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name"`

	// Upstream specifies how to reach the MCP server.
	// Exactly one of toolRouteRef, toolServerRef, or external must be set.
	// +kubebuilder:validation:Required
	Upstream AgentToolUpstream `json:"upstream"`

	// PropagatedHeaders is a list of HTTP header names that should be propagated from incoming
	// A2A requests to the MCP tool server. Header names are case-insensitive.
	// If not specified or empty, no headers are propagated.
	// +optional
	PropagatedHeaders []string `json:"propagatedHeaders,omitempty"`
}

AgentTool defines configuration for attaching a tool to an agent.

func (*AgentTool) DeepCopy added in v0.4.0

func (in *AgentTool) DeepCopy() *AgentTool

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentTool.

func (*AgentTool) DeepCopyInto added in v0.4.0

func (in *AgentTool) DeepCopyInto(out *AgentTool)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AgentToolUpstream added in v0.28.0

type AgentToolUpstream struct {
	// ToolRouteRef references a ToolRoute that exposes the MCP server via a gateway.
	// Namespace defaults to the agent's namespace if not specified.
	// +optional
	ToolRouteRef *corev1.ObjectReference `json:"toolRouteRef,omitempty"`

	// ToolServerRef references a cluster-local ToolServer directly, bypassing any gateway.
	// Namespace defaults to the agent's namespace if not specified.
	// +optional
	ToolServerRef *corev1.ObjectReference `json:"toolServerRef,omitempty"`

	// External describes a remote MCP server reachable at an HTTP URL, bypassing any gateway.
	// +optional
	External *ExternalUpstream `json:"external,omitempty"`
}

AgentToolUpstream specifies how an agent reaches an MCP server. Exactly one of toolRouteRef, toolServerRef, or external must be set.

+kubebuilder:validation:XValidation:rule="(has(self.toolRouteRef) ? 1 : 0) + (has(self.toolServerRef) ? 1 : 0) + (has(self.external) ? 1 : 0) == 1",message="exactly one of toolRouteRef, toolServerRef, or external must be set"

func (*AgentToolUpstream) DeepCopy added in v0.28.0

func (in *AgentToolUpstream) DeepCopy() *AgentToolUpstream

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentToolUpstream.

func (*AgentToolUpstream) DeepCopyInto added in v0.28.0

func (in *AgentToolUpstream) DeepCopyInto(out *AgentToolUpstream)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AgenticWorkforce added in v0.7.0

type AgenticWorkforce struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   AgenticWorkforceSpec   `json:"spec,omitempty"`
	Status AgenticWorkforceStatus `json:"status,omitempty"`
}

AgenticWorkforce is the Schema for the agenticworkforces API

func (*AgenticWorkforce) DeepCopy added in v0.7.0

func (in *AgenticWorkforce) DeepCopy() *AgenticWorkforce

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgenticWorkforce.

func (*AgenticWorkforce) DeepCopyInto added in v0.7.0

func (in *AgenticWorkforce) DeepCopyInto(out *AgenticWorkforce)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AgenticWorkforce) DeepCopyObject added in v0.7.0

func (in *AgenticWorkforce) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type AgenticWorkforceList added in v0.7.0

type AgenticWorkforceList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []AgenticWorkforce `json:"items"`
}

AgenticWorkforceList contains a list of AgenticWorkforce

func (*AgenticWorkforceList) DeepCopy added in v0.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgenticWorkforceList.

func (*AgenticWorkforceList) DeepCopyInto added in v0.7.0

func (in *AgenticWorkforceList) DeepCopyInto(out *AgenticWorkforceList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AgenticWorkforceList) DeepCopyObject added in v0.7.0

func (in *AgenticWorkforceList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type AgenticWorkforceSpec added in v0.7.0

type AgenticWorkforceSpec struct {
	// Name is the human-readable name of the workforce
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name"`

	// Description provides details about the workforce's purpose and capabilities
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	Description string `json:"description"`

	// Owner is the email address or identifier of the workforce owner
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	Owner string `json:"owner"`

	// Tags is a list of labels for categorizing and organizing workforces
	// +optional
	Tags []string `json:"tags,omitempty"`

	// EntryPointAgents defines references to the entry-point agents for this workforce.
	// Uses standard Kubernetes ObjectReference. Only Name and Namespace fields are used.
	// Namespace defaults to the AgenticWorkforce's namespace if not specified.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinItems=1
	EntryPointAgents []*corev1.ObjectReference `json:"entryPointAgents"`
}

AgenticWorkforceSpec defines the desired state of AgenticWorkforce

func (*AgenticWorkforceSpec) DeepCopy added in v0.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgenticWorkforceSpec.

func (*AgenticWorkforceSpec) DeepCopyInto added in v0.7.0

func (in *AgenticWorkforceSpec) DeepCopyInto(out *AgenticWorkforceSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AgenticWorkforceStatus added in v0.7.0

type AgenticWorkforceStatus struct {
	// Conditions represent the latest available observations of the workforce's state
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`

	// TransitiveAgents contains all agents (both cluster and remote) discovered from entry-point agents
	// +optional
	TransitiveAgents []TransitiveAgent `json:"transitiveAgents,omitempty"`

	// TransitiveTools contains all tools discovered from all transitive agents
	// +optional
	TransitiveTools []string `json:"transitiveTools,omitempty"`
}

AgenticWorkforceStatus defines the observed state of AgenticWorkforce

func (*AgenticWorkforceStatus) DeepCopy added in v0.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgenticWorkforceStatus.

func (*AgenticWorkforceStatus) DeepCopyInto added in v0.7.0

func (in *AgenticWorkforceStatus) DeepCopyInto(out *AgenticWorkforceStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AiGateway added in v0.9.0

type AiGateway struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   AiGatewaySpec   `json:"spec,omitempty"`
	Status AiGatewayStatus `json:"status,omitempty"`
}

AiGateway is the Schema for the AI gateways API.

func (*AiGateway) DeepCopy added in v0.9.0

func (in *AiGateway) DeepCopy() *AiGateway

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AiGateway.

func (*AiGateway) DeepCopyInto added in v0.9.0

func (in *AiGateway) DeepCopyInto(out *AiGateway)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AiGateway) DeepCopyObject added in v0.9.0

func (in *AiGateway) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type AiGatewayClass added in v0.9.0

type AiGatewayClass struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   AiGatewayClassSpec   `json:"spec,omitempty"`
	Status AiGatewayClassStatus `json:"status,omitempty"`
}

AiGatewayClass is the Schema for the aigatewayclasses API.

func (*AiGatewayClass) DeepCopy added in v0.9.0

func (in *AiGatewayClass) DeepCopy() *AiGatewayClass

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AiGatewayClass.

func (*AiGatewayClass) DeepCopyInto added in v0.9.0

func (in *AiGatewayClass) DeepCopyInto(out *AiGatewayClass)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AiGatewayClass) DeepCopyObject added in v0.9.0

func (in *AiGatewayClass) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type AiGatewayClassList added in v0.9.0

type AiGatewayClassList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []AiGatewayClass `json:"items"`
}

AiGatewayClassList contains a list of AiGatewayClass.

func (*AiGatewayClassList) DeepCopy added in v0.9.0

func (in *AiGatewayClassList) DeepCopy() *AiGatewayClassList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AiGatewayClassList.

func (*AiGatewayClassList) DeepCopyInto added in v0.9.0

func (in *AiGatewayClassList) DeepCopyInto(out *AiGatewayClassList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AiGatewayClassList) DeepCopyObject added in v0.9.0

func (in *AiGatewayClassList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type AiGatewayClassSpec added in v0.9.0

type AiGatewayClassSpec struct {
	// Controller is the name of the controller that should handle this gateway class
	// +kubebuilder:validation:Required
	Controller string `json:"controller"`
}

AiGatewayClassSpec defines the desired state of AiGatewayClass.

func (*AiGatewayClassSpec) DeepCopy added in v0.9.0

func (in *AiGatewayClassSpec) DeepCopy() *AiGatewayClassSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AiGatewayClassSpec.

func (*AiGatewayClassSpec) DeepCopyInto added in v0.9.0

func (in *AiGatewayClassSpec) DeepCopyInto(out *AiGatewayClassSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AiGatewayClassStatus added in v0.9.0

type AiGatewayClassStatus struct {
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

AiGatewayClassStatus defines the observed state of AiGatewayClass.

func (*AiGatewayClassStatus) DeepCopy added in v0.9.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AiGatewayClassStatus.

func (*AiGatewayClassStatus) DeepCopyInto added in v0.9.0

func (in *AiGatewayClassStatus) DeepCopyInto(out *AiGatewayClassStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AiGatewayList added in v0.9.0

type AiGatewayList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []AiGateway `json:"items"`
}

AiGatewayList contains a list of AiGateway.

func (*AiGatewayList) DeepCopy added in v0.9.0

func (in *AiGatewayList) DeepCopy() *AiGatewayList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AiGatewayList.

func (*AiGatewayList) DeepCopyInto added in v0.9.0

func (in *AiGatewayList) DeepCopyInto(out *AiGatewayList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AiGatewayList) DeepCopyObject added in v0.9.0

func (in *AiGatewayList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type AiGatewaySpec added in v0.9.0

type AiGatewaySpec struct {
	// AiGatewayClassName specifies which AiGatewayClass to use for this AI gateway instance.
	// This is only needed if multiple AI gateway classes are defined in the cluster.
	AiGatewayClassName string `json:"aiGatewayClassName,omitempty"`

	// Port on which the AI gateway will be exposed.
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	// +kubebuilder:default=80
	Port int32 `json:"port,omitempty"`

	// List of AI models to be made available through the gateway.
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:Required
	AiModels []AiModel `json:"aiModels,omitempty"`

	// Environment variables to pass to the AI gateway container.
	// These can include configuration values, credentials, or feature flags.
	// +optional
	Env []corev1.EnvVar `json:"env,omitempty"`

	// List of sources to populate environment variables in the AI gateway container.
	// This allows loading variables from ConfigMaps and Secrets.
	// +optional
	EnvFrom []corev1.EnvFromSource `json:"envFrom,omitempty"`

	// Guardrails lists the Guard resources to be applied to requests through this AI gateway.
	// Guards are applied in the order they are listed.
	// +optional
	Guardrails []corev1.ObjectReference `json:"guardrails,omitempty"`

	// CommonMetadata defines labels and annotations to be applied to the Deployment and Service
	// resources created for this gateway, as well as the pod template.
	// +optional
	CommonMetadata *EmbeddedMetadata `json:"commonMetadata,omitempty"`

	// PodMetadata defines labels and annotations to be applied only to the pod template
	// of the Deployment created for this gateway.
	// +optional
	PodMetadata *EmbeddedMetadata `json:"podMetadata,omitempty"`
}

AiGatewaySpec defines the desired state of AiGateway.

func (*AiGatewaySpec) DeepCopy added in v0.9.0

func (in *AiGatewaySpec) DeepCopy() *AiGatewaySpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AiGatewaySpec.

func (*AiGatewaySpec) DeepCopyInto added in v0.9.0

func (in *AiGatewaySpec) DeepCopyInto(out *AiGatewaySpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AiGatewayStatus added in v0.9.0

type AiGatewayStatus struct {
	// +operator-sdk:csv:customresourcedefinitions:type=status
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
}

AiGatewayStatus defines the observed state of AiGateway.

func (*AiGatewayStatus) DeepCopy added in v0.9.0

func (in *AiGatewayStatus) DeepCopy() *AiGatewayStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AiGatewayStatus.

func (*AiGatewayStatus) DeepCopyInto added in v0.9.0

func (in *AiGatewayStatus) DeepCopyInto(out *AiGatewayStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AiModel added in v0.9.0

type AiModel struct {
	// Name is the identifier for the AI model (e.g., "gpt-4", "claude-3-opus")
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name"`

	// Provider specifies the AI provider (e.g., "openai", "anthropic", "azure")
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	Provider string `json:"provider"`
}

AiModel is an AI model configuration.

func (*AiModel) DeepCopy added in v0.9.0

func (in *AiModel) DeepCopy() *AiModel

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AiModel.

func (*AiModel) DeepCopyInto added in v0.9.0

func (in *AiModel) DeepCopyInto(out *AiModel)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BedrockGuardConfig added in v0.25.0

type BedrockGuardConfig struct {
	// GuardrailId is the identifier of the Bedrock guardrail.
	GuardrailId string `json:"guardrailId"`

	// GuardrailVersion is the version of the Bedrock guardrail.
	// +optional
	GuardrailVersion string `json:"guardrailVersion,omitempty"`
}

BedrockGuardConfig holds guard-level configuration for the AWS Bedrock Guardrails API.

func (*BedrockGuardConfig) DeepCopy added in v0.25.0

func (in *BedrockGuardConfig) DeepCopy() *BedrockGuardConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BedrockGuardConfig.

func (*BedrockGuardConfig) DeepCopyInto added in v0.25.0

func (in *BedrockGuardConfig) DeepCopyInto(out *BedrockGuardConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BedrockProviderConfig added in v0.25.0

type BedrockProviderConfig struct {
	// Region is the AWS region for the Bedrock service.
	Region string `json:"region"`

	// CredentialsSecretRef references a secret containing AWS credentials.
	// The secret should contain "aws-access-key-id" and "aws-secret-access-key" keys.
	// When omitted, uses IRSA or pod identity for authentication.
	// +optional
	CredentialsSecretRef *corev1.SecretReference `json:"credentialsSecretRef,omitempty"`
}

BedrockProviderConfig holds configuration for the AWS Bedrock Guardrails API.

func (*BedrockProviderConfig) DeepCopy added in v0.25.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BedrockProviderConfig.

func (*BedrockProviderConfig) DeepCopyInto added in v0.25.0

func (in *BedrockProviderConfig) DeepCopyInto(out *BedrockProviderConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EmbeddedMetadata added in v0.21.0

type EmbeddedMetadata struct {
	// Labels is a map of key/value pairs to be applied to the resource.
	// +optional
	Labels map[string]string `json:"labels,omitempty"`

	// Annotations is a map of key/value pairs to be applied to the resource.
	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`
}

EmbeddedMetadata defines labels and annotations that can be applied to Kubernetes resources.

func (*EmbeddedMetadata) DeepCopy added in v0.21.0

func (in *EmbeddedMetadata) DeepCopy() *EmbeddedMetadata

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EmbeddedMetadata.

func (*EmbeddedMetadata) DeepCopyInto added in v0.21.0

func (in *EmbeddedMetadata) DeepCopyInto(out *EmbeddedMetadata)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ExternalUpstream added in v0.28.0

type ExternalUpstream struct {
	// Url is the HTTP/HTTPS endpoint of the external MCP server.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Format=uri
	// +kubebuilder:validation:Pattern=`^https?://.+`
	Url string `json:"url"`
}

ExternalUpstream describes a remote MCP server reachable at an HTTP URL.

func (*ExternalUpstream) DeepCopy added in v0.28.0

func (in *ExternalUpstream) DeepCopy() *ExternalUpstream

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalUpstream.

func (*ExternalUpstream) DeepCopyInto added in v0.28.0

func (in *ExternalUpstream) DeepCopyInto(out *ExternalUpstream)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Guard added in v0.25.0

type Guard struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   GuardSpec   `json:"spec,omitempty"`
	Status GuardStatus `json:"status,omitempty"`
}

Guard is the Schema for the guards API.

func (*Guard) DeepCopy added in v0.25.0

func (in *Guard) DeepCopy() *Guard

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Guard.

func (*Guard) DeepCopyInto added in v0.25.0

func (in *Guard) DeepCopyInto(out *Guard)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Guard) DeepCopyObject added in v0.25.0

func (in *Guard) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type GuardList added in v0.25.0

type GuardList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Guard `json:"items"`
}

GuardList contains a list of Guard.

func (*GuardList) DeepCopy added in v0.25.0

func (in *GuardList) DeepCopy() *GuardList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GuardList.

func (*GuardList) DeepCopyInto added in v0.25.0

func (in *GuardList) DeepCopyInto(out *GuardList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GuardList) DeepCopyObject added in v0.25.0

func (in *GuardList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type GuardMode added in v0.25.0

type GuardMode string

GuardMode defines when a guard is applied relative to the LLM call. +kubebuilder:validation:Enum=pre_call;post_call;during_call

const (
	GuardModePreCall    GuardMode = "pre_call"
	GuardModePostCall   GuardMode = "post_call"
	GuardModeDuringCall GuardMode = "during_call"
)

type GuardSpec added in v0.25.0

type GuardSpec struct {
	// Mode defines when the guard is applied relative to the LLM call.
	// Multiple modes can be specified to apply the guard at multiple points.
	// +kubebuilder:validation:MinItems=1
	// +listType=set
	Mode []GuardMode `json:"mode"`

	// Description provides a human-readable description of the guard's purpose.
	// This field is for documentation purposes only and has no effect on the guard's behavior.
	// +optional
	Description string `json:"description,omitempty"`

	// ProviderRef references the GuardrailProvider that hosts this guard.
	// If Namespace is not specified, defaults to the same namespace as the Guard.
	ProviderRef corev1.ObjectReference `json:"providerRef"`

	// OpenAIModeration holds guard-level configuration for the OpenAI Moderation API.
	// +optional
	OpenAIModeration *OpenAIModerationGuardConfig `json:"openaiModeration,omitempty"`

	// Bedrock holds guard-level configuration for the AWS Bedrock Guardrails API.
	// +optional
	Bedrock *BedrockGuardConfig `json:"bedrock,omitempty"`

	// Presidio holds guard-level configuration for the Presidio API.
	// +optional
	Presidio *PresidioGuardConfig `json:"presidio,omitempty"`
}

GuardSpec defines the desired state of Guard.

func (*GuardSpec) DeepCopy added in v0.25.0

func (in *GuardSpec) DeepCopy() *GuardSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GuardSpec.

func (*GuardSpec) DeepCopyInto added in v0.25.0

func (in *GuardSpec) DeepCopyInto(out *GuardSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GuardStatus added in v0.25.0

type GuardStatus struct {
	// +operator-sdk:csv:customresourcedefinitions:type=status
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
}

GuardStatus defines the observed state of Guard.

func (*GuardStatus) DeepCopy added in v0.25.0

func (in *GuardStatus) DeepCopy() *GuardStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GuardStatus.

func (*GuardStatus) DeepCopyInto added in v0.25.0

func (in *GuardStatus) DeepCopyInto(out *GuardStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GuardrailProvider added in v0.25.0

type GuardrailProvider struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   GuardrailProviderSpec   `json:"spec,omitempty"`
	Status GuardrailProviderStatus `json:"status,omitempty"`
}

GuardrailProvider is the Schema for the guardrailproviders API.

func (*GuardrailProvider) DeepCopy added in v0.25.0

func (in *GuardrailProvider) DeepCopy() *GuardrailProvider

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GuardrailProvider.

func (*GuardrailProvider) DeepCopyInto added in v0.25.0

func (in *GuardrailProvider) DeepCopyInto(out *GuardrailProvider)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GuardrailProvider) DeepCopyObject added in v0.25.0

func (in *GuardrailProvider) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type GuardrailProviderList added in v0.25.0

type GuardrailProviderList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []GuardrailProvider `json:"items"`
}

GuardrailProviderList contains a list of GuardrailProvider.

func (*GuardrailProviderList) DeepCopy added in v0.25.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GuardrailProviderList.

func (*GuardrailProviderList) DeepCopyInto added in v0.25.0

func (in *GuardrailProviderList) DeepCopyInto(out *GuardrailProviderList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GuardrailProviderList) DeepCopyObject added in v0.25.0

func (in *GuardrailProviderList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type GuardrailProviderSpec added in v0.25.0

type GuardrailProviderSpec struct {
	// Type defines the guardrail API type implemented by this provider.
	// Each type corresponds to a specific guardrail API contract.
	// +kubebuilder:validation:Enum=openai-moderation-api;bedrock-api;presidio-api
	Type string `json:"type"`

	// OpenAIModeration holds configuration for providers implementing the OpenAI Moderation API.
	// Required when type is "openai-moderation-api".
	// +optional
	OpenAIModeration *OpenAIModerationProviderConfig `json:"openaiModeration,omitempty"`

	// Bedrock holds configuration for providers implementing the AWS Bedrock Guardrails API.
	// Required when type is "bedrock-api".
	// +optional
	Bedrock *BedrockProviderConfig `json:"bedrock,omitempty"`

	// Presidio holds configuration for providers implementing the Presidio API.
	// Required when type is "presidio-api".
	// +optional
	Presidio *PresidioProviderConfig `json:"presidio,omitempty"`
}

GuardrailProviderSpec defines the desired state of GuardrailProvider.

func (*GuardrailProviderSpec) DeepCopy added in v0.25.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GuardrailProviderSpec.

func (*GuardrailProviderSpec) DeepCopyInto added in v0.25.0

func (in *GuardrailProviderSpec) DeepCopyInto(out *GuardrailProviderSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GuardrailProviderStatus added in v0.25.0

type GuardrailProviderStatus struct {
	// +operator-sdk:csv:customresourcedefinitions:type=status
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
}

GuardrailProviderStatus defines the observed state of GuardrailProvider.

func (*GuardrailProviderStatus) DeepCopy added in v0.25.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GuardrailProviderStatus.

func (*GuardrailProviderStatus) DeepCopyInto added in v0.25.0

func (in *GuardrailProviderStatus) DeepCopyInto(out *GuardrailProviderStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OpenAIModerationGuardConfig added in v0.25.0

type OpenAIModerationGuardConfig struct {
	// Model specifies the moderation model to use (e.g., "omni-moderation-latest").
	// When omitted, the provider's default model is used.
	// +optional
	Model string `json:"model,omitempty"`
}

OpenAIModerationGuardConfig holds guard-level configuration for the OpenAI Moderation API.

func (*OpenAIModerationGuardConfig) DeepCopy added in v0.25.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenAIModerationGuardConfig.

func (*OpenAIModerationGuardConfig) DeepCopyInto added in v0.25.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OpenAIModerationProviderConfig added in v0.25.0

type OpenAIModerationProviderConfig struct {
	// BaseUrl overrides the default OpenAI moderation endpoint.
	// When omitted, the official OpenAI moderation API is used.
	// Can also point to a custom service implementing the same API contract.
	// +optional
	// +kubebuilder:validation:Format=uri
	BaseUrl string `json:"baseUrl,omitempty"`

	// ApiKeySecretRef references the secret containing the API key.
	// +optional
	ApiKeySecretRef *corev1.SecretKeySelector `json:"apiKeySecretRef,omitempty"`
}

OpenAIModerationProviderConfig holds configuration for the OpenAI Moderation API.

func (*OpenAIModerationProviderConfig) DeepCopy added in v0.25.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenAIModerationProviderConfig.

func (*OpenAIModerationProviderConfig) DeepCopyInto added in v0.25.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PresidioGuardConfig added in v0.25.0

type PresidioGuardConfig struct {
	// Language specifies the language of the text to analyze (e.g., "en").
	// Defaults to "en" when omitted.
	// +optional
	Language string `json:"language,omitempty"`

	// ScoreThresholds maps entity types to minimum confidence scores (0.0 to 1.0).
	// Use "ALL" as key to set a default threshold for all entity types.
	// Per-entity thresholds override the "ALL" key.
	// Example: {"ALL": "0.5", "EMAIL_ADDRESS": "0.8", "PHONE_NUMBER": "0.6"}
	// +optional
	ScoreThresholds map[string]string `json:"scoreThresholds,omitempty"`

	// EntityActions maps PII entity types to actions to take when detected.
	// Supported actions are "MASK" (redact the entity) and "BLOCK" (reject the request).
	// When omitted, detected entities are blocked by default.
	// The keys also determine which entity types are detected.
	// When omitted entirely, all supported entities are detected.
	// Example: {"EMAIL_ADDRESS": "MASK", "CREDIT_CARD": "BLOCK", "PHONE_NUMBER": "MASK"}
	// +optional
	EntityActions map[string]string `json:"entityActions,omitempty"`
}

PresidioGuardConfig holds guard-level configuration for the Presidio API.

For a full list of supported entity types, see: https://microsoft.github.io/presidio/supported_entities/

Common entity types include:

  • PERSON, EMAIL_ADDRESS, PHONE_NUMBER, CREDIT_CARD
  • IP_ADDRESS, URL, IBAN_CODE, LOCATION, DATE_TIME
  • US_SSN, US_PASSPORT, US_DRIVER_LICENSE, US_BANK_NUMBER
  • UK_NHS, UK_NINO, UK_PASSPORT

func (*PresidioGuardConfig) DeepCopy added in v0.25.0

func (in *PresidioGuardConfig) DeepCopy() *PresidioGuardConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PresidioGuardConfig.

func (*PresidioGuardConfig) DeepCopyInto added in v0.25.0

func (in *PresidioGuardConfig) DeepCopyInto(out *PresidioGuardConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PresidioProviderConfig added in v0.25.0

type PresidioProviderConfig struct {
	// BaseUrl is the Presidio analyzer service endpoint.
	// +kubebuilder:validation:Format=uri
	BaseUrl string `json:"baseUrl"`

	// ApiKeySecretRef references the secret containing the API key for the Presidio service.
	// +optional
	ApiKeySecretRef *corev1.SecretKeySelector `json:"apiKeySecretRef,omitempty"`
}

PresidioProviderConfig holds configuration for the Presidio Analyzer API.

func (*PresidioProviderConfig) DeepCopy added in v0.25.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PresidioProviderConfig.

func (*PresidioProviderConfig) DeepCopyInto added in v0.25.0

func (in *PresidioProviderConfig) DeepCopyInto(out *PresidioProviderConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SubAgent added in v0.4.0

type SubAgent struct {
	// Name is a descriptive identifier for this sub-agent connection
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name"`

	// AgentRef references an Agent resource in the cluster.
	// When specified, the operator will resolve the Agent's service URL automatically.
	// Only Name and Namespace fields are used; other fields (Kind, APIVersion, etc.) are ignored.
	// If Namespace is not specified, defaults to the same namespace as the current Agent.
	// Mutually exclusive with Url - exactly one must be specified.
	// +optional
	AgentRef *corev1.ObjectReference `json:"agentRef,omitempty"`

	// Url is the HTTP/HTTPS endpoint URL for a remote agent outside the cluster.
	// It refers to the agent's well-known agent card URL, e.g. https://agent.example.com/.well-known/agent-card.json
	// Mutually exclusive with AgentRef - exactly one must be specified.
	// +optional
	// +kubebuilder:validation:Format=uri
	Url string `json:"url,omitempty"`

	// InteractionType specifies how the agent should interact with this sub-agent.
	// +optional
	// +kubebuilder:validation:Enum=transfer;tool_call
	// +kubebuilder:default="tool_call"
	InteractionType string `json:"interactionType,omitempty"`
}

SubAgent defines configuration for connecting to either a cluster agent or remote agent

func (*SubAgent) DeepCopy added in v0.4.0

func (in *SubAgent) DeepCopy() *SubAgent

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubAgent.

func (*SubAgent) DeepCopyInto added in v0.4.0

func (in *SubAgent) DeepCopyInto(out *SubAgent)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ToolFilter added in v0.28.0

type ToolFilter struct {
	// Allow is an allowlist of tool names and glob patterns.
	// If non-empty, only matching tools are exposed.
	// If empty or nil, all tools are candidates (subject to Deny).
	// +optional
	Allow []string `json:"allow,omitempty"`

	// Deny is a denylist of tool names and glob patterns.
	// Applied after Allow; Deny wins on conflict.
	// +optional
	Deny []string `json:"deny,omitempty"`
}

ToolFilter restricts which tools are exposed through a route. Matching uses glob syntax: "*" matches any run of characters, "?" matches one. Deny is applied after Allow and wins on conflict.

func (*ToolFilter) DeepCopy added in v0.28.0

func (in *ToolFilter) DeepCopy() *ToolFilter

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ToolFilter.

func (*ToolFilter) DeepCopyInto added in v0.28.0

func (in *ToolFilter) DeepCopyInto(out *ToolFilter)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ToolGateway added in v0.18.0

type ToolGateway struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ToolGatewaySpec   `json:"spec,omitempty"`
	Status ToolGatewayStatus `json:"status,omitempty"`
}

ToolGateway is the Schema for the toolgateways API

func (*ToolGateway) DeepCopy added in v0.18.0

func (in *ToolGateway) DeepCopy() *ToolGateway

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ToolGateway.

func (*ToolGateway) DeepCopyInto added in v0.18.0

func (in *ToolGateway) DeepCopyInto(out *ToolGateway)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ToolGateway) DeepCopyObject added in v0.18.0

func (in *ToolGateway) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ToolGatewayClass added in v0.18.0

type ToolGatewayClass struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ToolGatewayClassSpec   `json:"spec,omitempty"`
	Status ToolGatewayClassStatus `json:"status,omitempty"`
}

ToolGatewayClass is the Schema for the toolgatewayclasses API

func (*ToolGatewayClass) DeepCopy added in v0.18.0

func (in *ToolGatewayClass) DeepCopy() *ToolGatewayClass

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ToolGatewayClass.

func (*ToolGatewayClass) DeepCopyInto added in v0.18.0

func (in *ToolGatewayClass) DeepCopyInto(out *ToolGatewayClass)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ToolGatewayClass) DeepCopyObject added in v0.18.0

func (in *ToolGatewayClass) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ToolGatewayClassList added in v0.18.0

type ToolGatewayClassList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ToolGatewayClass `json:"items"`
}

ToolGatewayClassList contains a list of ToolGatewayClass

func (*ToolGatewayClassList) DeepCopy added in v0.18.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ToolGatewayClassList.

func (*ToolGatewayClassList) DeepCopyInto added in v0.18.0

func (in *ToolGatewayClassList) DeepCopyInto(out *ToolGatewayClassList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ToolGatewayClassList) DeepCopyObject added in v0.18.0

func (in *ToolGatewayClassList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ToolGatewayClassSpec added in v0.18.0

type ToolGatewayClassSpec struct {
	// Controller is the name of the controller that should handle this gateway class
	// +kubebuilder:validation:Required
	Controller string `json:"controller"`
}

ToolGatewayClassSpec defines the desired state of ToolGatewayClass

func (*ToolGatewayClassSpec) DeepCopy added in v0.18.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ToolGatewayClassSpec.

func (*ToolGatewayClassSpec) DeepCopyInto added in v0.18.0

func (in *ToolGatewayClassSpec) DeepCopyInto(out *ToolGatewayClassSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ToolGatewayClassStatus added in v0.18.0

type ToolGatewayClassStatus struct {
	// Conditions represent the latest available observations of the gateway class's state
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
}

ToolGatewayClassStatus defines the observed state of ToolGatewayClass

func (*ToolGatewayClassStatus) DeepCopy added in v0.18.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ToolGatewayClassStatus.

func (*ToolGatewayClassStatus) DeepCopyInto added in v0.18.0

func (in *ToolGatewayClassStatus) DeepCopyInto(out *ToolGatewayClassStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ToolGatewayList added in v0.18.0

type ToolGatewayList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ToolGateway `json:"items"`
}

ToolGatewayList contains a list of ToolGateway

func (*ToolGatewayList) DeepCopy added in v0.18.0

func (in *ToolGatewayList) DeepCopy() *ToolGatewayList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ToolGatewayList.

func (*ToolGatewayList) DeepCopyInto added in v0.18.0

func (in *ToolGatewayList) DeepCopyInto(out *ToolGatewayList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ToolGatewayList) DeepCopyObject added in v0.18.0

func (in *ToolGatewayList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ToolGatewaySpec added in v0.18.0

type ToolGatewaySpec struct {
	// ToolGatewayClassName specifies which ToolGatewayClass to use for this gateway instance.
	// This is only needed if multiple gateway classes are defined in the cluster.
	ToolGatewayClassName string `json:"toolGatewayClassName,omitempty"`

	// Environment variables to pass to the ToolGateway container.
	// These can include configuration values, credentials, or feature flags.
	// +optional
	Env []corev1.EnvVar `json:"env,omitempty"`

	// List of sources to populate environment variables in the ToolGateway container.
	// This allows loading variables from ConfigMaps and Secrets.
	// +optional
	EnvFrom []corev1.EnvFromSource `json:"envFrom,omitempty"`

	// CommonMetadata defines labels and annotations to be applied to the Deployment and Service
	// resources created for this gateway, as well as the pod template.
	// +optional
	CommonMetadata *EmbeddedMetadata `json:"commonMetadata,omitempty"`

	// PodMetadata defines labels and annotations to be applied only to the pod template
	// of the Deployment created for this gateway.
	// +optional
	PodMetadata *EmbeddedMetadata `json:"podMetadata,omitempty"`

	// Guardrails lists the Guard resources to be applied to traffic through this tool gateway.
	// Guards are applied in the order they are listed.
	// +optional
	Guardrails []corev1.ObjectReference `json:"guardrails,omitempty"`
}

ToolGatewaySpec defines the desired state of ToolGateway

func (*ToolGatewaySpec) DeepCopy added in v0.18.0

func (in *ToolGatewaySpec) DeepCopy() *ToolGatewaySpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ToolGatewaySpec.

func (*ToolGatewaySpec) DeepCopyInto added in v0.18.0

func (in *ToolGatewaySpec) DeepCopyInto(out *ToolGatewaySpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ToolGatewayStatus added in v0.18.0

type ToolGatewayStatus struct {
	// Conditions represent the latest available observations of the gateway's state
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`

	// Url is the cluster-local URL where this tool gateway can be accessed
	// +optional
	Url string `json:"url,omitempty"`
}

ToolGatewayStatus defines the observed state of ToolGateway

func (*ToolGatewayStatus) DeepCopy added in v0.18.0

func (in *ToolGatewayStatus) DeepCopy() *ToolGatewayStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ToolGatewayStatus.

func (*ToolGatewayStatus) DeepCopyInto added in v0.18.0

func (in *ToolGatewayStatus) DeepCopyInto(out *ToolGatewayStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ToolRoute added in v0.28.0

type ToolRoute struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ToolRouteSpec   `json:"spec,omitempty"`
	Status ToolRouteStatus `json:"status,omitempty"`
}

ToolRoute is the Schema for the toolroutes API.

func (*ToolRoute) DeepCopy added in v0.28.0

func (in *ToolRoute) DeepCopy() *ToolRoute

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ToolRoute.

func (*ToolRoute) DeepCopyInto added in v0.28.0

func (in *ToolRoute) DeepCopyInto(out *ToolRoute)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ToolRoute) DeepCopyObject added in v0.28.0

func (in *ToolRoute) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ToolRouteList added in v0.28.0

type ToolRouteList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ToolRoute `json:"items"`
}

ToolRouteList contains a list of ToolRoute.

func (*ToolRouteList) DeepCopy added in v0.28.0

func (in *ToolRouteList) DeepCopy() *ToolRouteList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ToolRouteList.

func (*ToolRouteList) DeepCopyInto added in v0.28.0

func (in *ToolRouteList) DeepCopyInto(out *ToolRouteList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ToolRouteList) DeepCopyObject added in v0.28.0

func (in *ToolRouteList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ToolRouteSpec added in v0.28.0

type ToolRouteSpec struct {
	// ToolGatewayRef identifies the ToolGateway hosting this route.
	// Namespace defaults to the ToolRoute's namespace if not specified.
	// If not specified, any installed tool-gateway operator may attempt to find the default ToolGateway in the cluster.
	// +optional
	ToolGatewayRef *corev1.ObjectReference `json:"toolGatewayRef,omitempty"`

	// Upstream specifies the MCP server this route proxies.
	// Exactly one of ToolServerRef or External must be set.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:XValidation:rule="(has(self.toolServerRef) ? 1 : 0) + (has(self.external) ? 1 : 0) == 1",message="exactly one of toolServerRef or external must be set"
	Upstream ToolRouteUpstream `json:"upstream"`

	// ToolFilter restricts which tools are exposed through this route.
	// If nil, all tools pass through unfiltered.
	// +optional
	ToolFilter *ToolFilter `json:"toolFilter,omitempty"`
}

ToolRouteSpec defines the desired state of ToolRoute.

func (*ToolRouteSpec) DeepCopy added in v0.28.0

func (in *ToolRouteSpec) DeepCopy() *ToolRouteSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ToolRouteSpec.

func (*ToolRouteSpec) DeepCopyInto added in v0.28.0

func (in *ToolRouteSpec) DeepCopyInto(out *ToolRouteSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ToolRouteStatus added in v0.28.0

type ToolRouteStatus struct {
	// Url is the reachable URL assigned by the gateway implementation.
	// Agents consume this URL verbatim.
	// +optional
	Url string `json:"url,omitempty"`

	// Conditions represent the latest available observations of the route's state.
	// Known condition types: Accepted, Ready, ResolutionFailed.
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
}

ToolRouteStatus defines the observed state of ToolRoute.

func (*ToolRouteStatus) DeepCopy added in v0.28.0

func (in *ToolRouteStatus) DeepCopy() *ToolRouteStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ToolRouteStatus.

func (*ToolRouteStatus) DeepCopyInto added in v0.28.0

func (in *ToolRouteStatus) DeepCopyInto(out *ToolRouteStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ToolRouteUpstream added in v0.28.0

type ToolRouteUpstream struct {
	// ToolServerRef references a cluster-local ToolServer.
	// Namespace defaults to the ToolRoute's namespace if not specified.
	// Mutually exclusive with External.
	// +optional
	ToolServerRef *corev1.ObjectReference `json:"toolServerRef,omitempty"`

	// External describes a remote MCP server reachable at an HTTP URL.
	// Mutually exclusive with ToolServerRef.
	// +optional
	External *ExternalUpstream `json:"external,omitempty"`
}

ToolRouteUpstream describes the upstream MCP server for a route. Exactly one of ToolServerRef or External must be set.

func (*ToolRouteUpstream) DeepCopy added in v0.28.0

func (in *ToolRouteUpstream) DeepCopy() *ToolRouteUpstream

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ToolRouteUpstream.

func (*ToolRouteUpstream) DeepCopyInto added in v0.28.0

func (in *ToolRouteUpstream) DeepCopyInto(out *ToolRouteUpstream)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ToolServer added in v0.7.0

type ToolServer struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ToolServerSpec   `json:"spec,omitempty"`
	Status ToolServerStatus `json:"status,omitempty"`
}

ToolServer is the Schema for the toolservers API.

+kubebuilder:object:root=true +kubebuilder:subresource:status

func (*ToolServer) DeepCopy added in v0.7.0

func (in *ToolServer) DeepCopy() *ToolServer

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ToolServer.

func (*ToolServer) DeepCopyInto added in v0.7.0

func (in *ToolServer) DeepCopyInto(out *ToolServer)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ToolServer) DeepCopyObject added in v0.7.0

func (in *ToolServer) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ToolServerList added in v0.7.0

type ToolServerList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ToolServer `json:"items"`
}

ToolServerList contains a list of ToolServer.

+kubebuilder:object:root=true

func (*ToolServerList) DeepCopy added in v0.7.0

func (in *ToolServerList) DeepCopy() *ToolServerList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ToolServerList.

func (*ToolServerList) DeepCopyInto added in v0.7.0

func (in *ToolServerList) DeepCopyInto(out *ToolServerList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ToolServerList) DeepCopyObject added in v0.7.0

func (in *ToolServerList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ToolServerSpec added in v0.7.0

type ToolServerSpec struct {
	// Protocol defines the tool server protocol (e.g., "mcp" for Model Context Protocol)
	// +kubebuilder:validation:Enum=mcp
	// +kubebuilder:default=mcp
	Protocol string `json:"protocol"`

	// TransportType defines how the tool server communicates
	// - http: HTTP transport with standalone deployment and service
	// - sse: Server-Sent Events transport with standalone deployment and service
	// +kubebuilder:validation:Enum=http;sse
	// +kubebuilder:default=http
	TransportType string `json:"transportType"`

	// Image is the container image for the tool server
	// +kubebuilder:validation:MinLength=1
	Image string `json:"image"`

	// ImagePullSecrets is a list of references to secrets for pulling the tool server container image.
	// +optional
	ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`

	// Command overrides the container's ENTRYPOINT.
	// If not specified, the container image's ENTRYPOINT is used.
	// Follows the same semantics as Kubernetes Pod containers.
	// +optional
	Command []string `json:"command,omitempty"`

	// Args overrides the container's CMD.
	// If not specified, the container image's CMD is used.
	// Follows the same semantics as Kubernetes Pod containers.
	// +optional
	Args []string `json:"args,omitempty"`

	// Port is the port number for http/sse transports
	// Required for http and sse transports
	// +optional
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port int32 `json:"port,omitempty"`

	// Path is the URL path for http/sse transports
	// Defaults to "/mcp" for http and "/sse" for sse if not specified
	// Must start with "/" if specified
	// +optional
	// +kubebuilder:validation:Pattern=`^/.*`
	Path string `json:"path,omitempty"`

	// Replicas is the number of replicas for http/sse transports
	// Only applicable for http and sse transports
	// +optional
	// +kubebuilder:validation:Minimum=0
	Replicas *int32 `json:"replicas,omitempty"`

	// Env defines additional environment variables to be injected into the tool server container
	// +optional
	Env []corev1.EnvVar `json:"env,omitempty"`

	// EnvFrom defines sources to populate environment variables from
	// +optional
	EnvFrom []corev1.EnvFromSource `json:"envFrom,omitempty"`

	// Resources defines the compute resource requirements for the tool server container.
	// +optional
	Resources *corev1.ResourceRequirements `json:"resources,omitempty"`

	// CommonMetadata defines labels and annotations to be applied to the Deployment and Service
	// resources created for this tool server, as well as the pod template.
	// +optional
	CommonMetadata *EmbeddedMetadata `json:"commonMetadata,omitempty"`

	// PodMetadata defines labels and annotations to be applied only to the pod template
	// of the Deployment created for this tool server.
	// +optional
	PodMetadata *EmbeddedMetadata `json:"podMetadata,omitempty"`
}

ToolServerSpec defines the desired state of ToolServer.

func (*ToolServerSpec) DeepCopy added in v0.7.0

func (in *ToolServerSpec) DeepCopy() *ToolServerSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ToolServerSpec.

func (*ToolServerSpec) DeepCopyInto added in v0.7.0

func (in *ToolServerSpec) DeepCopyInto(out *ToolServerSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ToolServerStatus added in v0.7.0

type ToolServerStatus struct {
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`

	// Url is the cluster-local URL where this tool server can be accessed
	// Only populated for http and sse transports
	// Format: http://{name}.{namespace}.svc.cluster.local:{port}{path}
	// +optional
	Url string `json:"url,omitempty"`
}

ToolServerStatus defines the observed state of ToolServer.

func (*ToolServerStatus) DeepCopy added in v0.7.0

func (in *ToolServerStatus) DeepCopy() *ToolServerStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ToolServerStatus.

func (*ToolServerStatus) DeepCopyInto added in v0.7.0

func (in *ToolServerStatus) DeepCopyInto(out *ToolServerStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TransitiveAgent added in v0.7.0

type TransitiveAgent struct {
	// Name is a descriptive identifier for this transitive agent connection
	Name string `json:"name"`

	// Namespace specifies the Kubernetes namespace where the agent resides.
	// Only used for cluster agents (when Url is not specified).
	// For remote agents accessed via Url, this field should be omitted.
	// +optional
	Namespace string `json:"namespace,omitempty"`

	// Url is the HTTP/HTTPS endpoint URL for a remote agent outside the cluster.
	// It refers to the agent's well-known agent card URL, e.g. https://agent.example.com/.well-known/agent-card.json
	// +optional
	// +kubebuilder:validation:Format=uri
	Url string `json:"url,omitempty"`
}

TransitiveAgent defines configuration for connecting to either a cluster agent or remote agent

func (*TransitiveAgent) DeepCopy added in v0.7.0

func (in *TransitiveAgent) DeepCopy() *TransitiveAgent

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TransitiveAgent.

func (*TransitiveAgent) DeepCopyInto added in v0.7.0

func (in *TransitiveAgent) DeepCopyInto(out *TransitiveAgent)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL