v1alpha1

package
v0.10.0 Latest Latest
Warning

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

Go to latest
Published: Nov 5, 2025 License: Apache-2.0 Imports: 5 Imported by: 0

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"`
}

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 AgentSpec

type AgentSpec struct {
	// Framework defines the supported agent frameworks
	// +kubebuilder:validation:Enum=google-adk;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"`
}

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 AgentTool added in v0.4.0

type AgentTool struct {
	// Name is the unique identifier for this tool
	Name string `json:"name"`

	// ToolServerRef references a ToolServer resource in the cluster.
	// The operator will resolve the ToolServer'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.
	ToolServerRef corev1.ObjectReference `json:"toolServerRef"`
}

AgentTool defines configuration for integrating an MCP (Model Context Protocol) tool

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 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=4000
	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"`
}

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"`
}

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 SubAgent added in v0.4.0

type SubAgent struct {
	// Name is a descriptive identifier for this sub-agent connection
	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"`
}

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 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
	Protocol string `json:"protocol"`

	// TransportType defines how the tool server communicates
	// - stdio: For sidecar injection into agent pods (no standalone deployment)
	// - http: HTTP transport with standalone deployment and service
	// - sse: Server-Sent Events transport with standalone deployment and service
	// +kubebuilder:validation:Enum=stdio;http;sse
	TransportType string `json:"transportType"`

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

	// 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, must not be set for stdio
	// +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
	// Not applicable for stdio transport
	// +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, ignored for stdio
	// +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"`
}

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