v1alpha2

package
v0.0.0-...-6e46a00 Latest Latest
Warning

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

Go to latest
Published: Oct 3, 2025 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the agent v1alpha1 API group. +kubebuilder:object:generate=true +groupName=kagent.dev

Index

Constants

View Source
const (
	AgentConditionTypeAccepted = "Accepted"
	AgentConditionTypeReady    = "Ready"
)
View Source
const (
	ModelConfigConditionTypeAccepted = "Accepted"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects.
	GroupVersion = schema.GroupVersion{Group: "kagent.dev", Version: "v1alpha2"}

	// 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 A2AConfig

type A2AConfig struct {
	// +kubebuilder:validation:MinItems=1
	Skills []AgentSkill `json:"skills,omitempty"`
}

func (*A2AConfig) DeepCopy

func (in *A2AConfig) DeepCopy() *A2AConfig

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

func (*A2AConfig) DeepCopyInto

func (in *A2AConfig) DeepCopyInto(out *A2AConfig)

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

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 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 AgentSkill

type AgentSkill server.AgentSkill

func (*AgentSkill) DeepCopy

func (in *AgentSkill) DeepCopy() *AgentSkill

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

func (*AgentSkill) DeepCopyInto

func (in *AgentSkill) DeepCopyInto(out *AgentSkill)

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

type AgentSpec

type AgentSpec struct {
	// +kubebuilder:validation:Enum=Declarative;BYO
	// +kubebuilder:default=Declarative
	Type AgentType `json:"type"`

	// +optional
	BYO *BYOAgentSpec `json:"byo,omitempty"`
	// +optional
	Declarative *DeclarativeAgentSpec `json:"declarative,omitempty"`

	// +optional
	Description string `json:"description,omitempty"`
}

AgentSpec defines the desired state of Agent. +kubebuilder:validation:XValidation:message="type must be specified",rule="has(self.type)" +kubebuilder:validation:XValidation:message="type must be either Declarative or BYO",rule="self.type == 'Declarative' || self.type == 'BYO'" +kubebuilder:validation:XValidation:message="declarative must be specified if type is Declarative, or byo must be specified if type is BYO",rule="(self.type == 'Declarative' && has(self.declarative)) || (self.type == 'BYO' && has(self.byo))"

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 {
	ObservedGeneration int64              `json:"observedGeneration"`
	Conditions         []metav1.Condition `json:"conditions,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 AgentType

type AgentType string

AgentType represents the agent type +kubebuilder:validation:Enum=Declarative;BYO

const (
	AgentType_Declarative AgentType = "Declarative"
	AgentType_BYO         AgentType = "BYO"
)

type AnthropicConfig

type AnthropicConfig struct {
	// Base URL for the Anthropic API (overrides default)
	// +optional
	BaseURL string `json:"baseUrl,omitempty"`

	// Maximum tokens to generate
	// +optional
	MaxTokens int `json:"maxTokens,omitempty"`

	// Temperature for sampling
	// +optional
	Temperature string `json:"temperature,omitempty"`

	// Top-p sampling parameter
	// +optional
	TopP string `json:"topP,omitempty"`

	// Top-k sampling parameter
	// +optional
	TopK int `json:"topK,omitempty"`
}

AnthropicConfig contains Anthropic-specific configuration options

func (*AnthropicConfig) DeepCopy

func (in *AnthropicConfig) DeepCopy() *AnthropicConfig

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

func (*AnthropicConfig) DeepCopyInto

func (in *AnthropicConfig) DeepCopyInto(out *AnthropicConfig)

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

type AnthropicVertexAIConfig

type AnthropicVertexAIConfig struct {
	BaseVertexAIConfig `json:",inline"`

	// Maximum tokens to generate
	// +optional
	MaxTokens int `json:"maxTokens,omitempty"`
}

func (*AnthropicVertexAIConfig) DeepCopy

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

func (*AnthropicVertexAIConfig) DeepCopyInto

func (in *AnthropicVertexAIConfig) DeepCopyInto(out *AnthropicVertexAIConfig)

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

type AzureOpenAIConfig

type AzureOpenAIConfig struct {
	// Endpoint for the Azure OpenAI API
	// +required
	Endpoint string `json:"azureEndpoint,omitempty"`

	// API version for the Azure OpenAI API
	// +required
	APIVersion string `json:"apiVersion,omitempty"`

	// Deployment name for the Azure OpenAI API
	// +optional
	DeploymentName string `json:"azureDeployment,omitempty"`

	// Azure AD token for authentication
	// +optional
	AzureADToken string `json:"azureAdToken,omitempty"`

	// Temperature for sampling
	// +optional
	Temperature string `json:"temperature,omitempty"`

	// Maximum tokens to generate
	// +optional
	MaxTokens *int `json:"maxTokens,omitempty"`

	// Top-p sampling parameter
	// +optional
	TopP string `json:"topP,omitempty"`
}

AzureOpenAIConfig contains Azure OpenAI-specific configuration options

func (*AzureOpenAIConfig) DeepCopy

func (in *AzureOpenAIConfig) DeepCopy() *AzureOpenAIConfig

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

func (*AzureOpenAIConfig) DeepCopyInto

func (in *AzureOpenAIConfig) DeepCopyInto(out *AzureOpenAIConfig)

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

type BYOAgentSpec

type BYOAgentSpec struct {
	// Trust relationship to the agent.
	// +optional
	Deployment *ByoDeploymentSpec `json:"deployment,omitempty"`
}

func (*BYOAgentSpec) DeepCopy

func (in *BYOAgentSpec) DeepCopy() *BYOAgentSpec

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

func (*BYOAgentSpec) DeepCopyInto

func (in *BYOAgentSpec) DeepCopyInto(out *BYOAgentSpec)

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

type BaseVertexAIConfig

type BaseVertexAIConfig struct {
	// The project ID
	// +required
	ProjectID string `json:"projectID"`

	// The project location
	// +required
	Location string `json:"location,omitempty"`

	// Temperature
	// +optional
	Temperature string `json:"temperature,omitempty"`

	// Top-p sampling parameter
	// +optional
	TopP string `json:"topP,omitempty"`

	// Top-k sampling parameter
	// +optional
	TopK string `json:"topK,omitempty"`

	// Stop sequences
	// +optional
	StopSequences []string `json:"stopSequences,omitempty"`
}

func (*BaseVertexAIConfig) DeepCopy

func (in *BaseVertexAIConfig) DeepCopy() *BaseVertexAIConfig

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

func (*BaseVertexAIConfig) DeepCopyInto

func (in *BaseVertexAIConfig) DeepCopyInto(out *BaseVertexAIConfig)

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

type ByoDeploymentSpec

type ByoDeploymentSpec struct {
	// +kubebuilder:validation:MinLength=1
	Image string `json:"image,omitempty"`
	// +optional
	Cmd *string `json:"cmd,omitempty"`
	// +optional
	Args []string `json:"args,omitempty"`

	SharedDeploymentSpec `json:",inline"`
}

func (*ByoDeploymentSpec) DeepCopy

func (in *ByoDeploymentSpec) DeepCopy() *ByoDeploymentSpec

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

func (*ByoDeploymentSpec) DeepCopyInto

func (in *ByoDeploymentSpec) DeepCopyInto(out *ByoDeploymentSpec)

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

type DeclarativeAgentSpec

type DeclarativeAgentSpec struct {
	// SystemMessage is a string specifying the system message for the agent
	// +optional
	SystemMessage string `json:"systemMessage,omitempty"`
	// SystemMessageFrom is a reference to a ConfigMap or Secret containing the system message.
	// +optional
	SystemMessageFrom *ValueSource `json:"systemMessageFrom,omitempty"`
	// The name of the model config to use.
	// If not specified, the default value is "default-model-config".
	// Must be in the same namespace as the Agent.
	// +optional
	ModelConfig string `json:"modelConfig,omitempty"`
	// Whether to stream the response from the model.
	// If not specified, the default value is true.
	// +optional
	Stream *bool `json:"stream,omitempty"`
	// +kubebuilder:validation:MaxItems=20
	Tools []*Tool `json:"tools,omitempty"`
	// A2AConfig instantiates an A2A server for this agent,
	// served on the HTTP port of the kagent kubernetes
	// controller (default 8083).
	// The A2A server URL will be served at
	// <kagent-controller-ip>:8083/api/a2a/<agent-namespace>/<agent-name>
	// Read more about the A2A protocol here: https://github.com/google/A2A
	// +optional
	A2AConfig *A2AConfig `json:"a2aConfig,omitempty"`

	// +optional
	Deployment *DeclarativeDeploymentSpec `json:"deployment,omitempty"`
}

+kubebuilder:validation:XValidation:rule="!has(self.systemMessage) || !has(self.systemMessageFrom)",message="systemMessage and systemMessageFrom are mutually exclusive"

func (*DeclarativeAgentSpec) DeepCopy

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

func (*DeclarativeAgentSpec) DeepCopyInto

func (in *DeclarativeAgentSpec) DeepCopyInto(out *DeclarativeAgentSpec)

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

type DeclarativeDeploymentSpec

type DeclarativeDeploymentSpec struct {
	// +optional
	ImageRegistry string `json:"imageRegistry,omitempty"`

	SharedDeploymentSpec `json:",inline"`
}

func (*DeclarativeDeploymentSpec) DeepCopy

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

func (*DeclarativeDeploymentSpec) DeepCopyInto

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

type GeminiConfig

type GeminiConfig struct{}

func (*GeminiConfig) DeepCopy

func (in *GeminiConfig) DeepCopy() *GeminiConfig

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

func (*GeminiConfig) DeepCopyInto

func (in *GeminiConfig) DeepCopyInto(out *GeminiConfig)

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

type GeminiVertexAIConfig

type GeminiVertexAIConfig struct {
	BaseVertexAIConfig `json:",inline"`

	// Maximum output tokens
	// +optional
	MaxOutputTokens int `json:"maxOutputTokens,omitempty"`

	// Candidate count
	// +optional
	CandidateCount int `json:"candidateCount,omitempty"`

	// Response mime type
	// +optional
	ResponseMimeType string `json:"responseMimeType,omitempty"`
}

GeminiVertexAIConfig contains Gemini Vertex AI-specific configuration options

func (*GeminiVertexAIConfig) DeepCopy

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

func (*GeminiVertexAIConfig) DeepCopyInto

func (in *GeminiVertexAIConfig) DeepCopyInto(out *GeminiVertexAIConfig)

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

type MCPTool

type MCPTool struct {
	Name        string `json:"name"`
	Description string `json:"description"`
}

func (*MCPTool) DeepCopy

func (in *MCPTool) DeepCopy() *MCPTool

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

func (*MCPTool) DeepCopyInto

func (in *MCPTool) DeepCopyInto(out *MCPTool)

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

type McpServerTool

type McpServerTool struct {
	// The reference to the ToolServer that provides the tool.
	// Can either be a reference to the name of a ToolServer in the same namespace as the referencing Agent, or a reference to the name of an ToolServer in a different namespace in the form <namespace>/<name>
	// +optional
	TypedLocalReference `json:",inline"`

	// The names of the tools to be provided by the ToolServer
	// For a list of all the tools provided by the server,
	// the client can query the status of the ToolServer object after it has been created
	ToolNames []string `json:"toolNames,omitempty"`
}

func (*McpServerTool) DeepCopy

func (in *McpServerTool) DeepCopy() *McpServerTool

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

func (*McpServerTool) DeepCopyInto

func (in *McpServerTool) DeepCopyInto(out *McpServerTool)

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

type ModelConfig

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

	Spec   ModelConfigSpec   `json:"spec,omitempty"`
	Status ModelConfigStatus `json:"status,omitempty"`
}

ModelConfig is the Schema for the modelconfigs API.

func (*ModelConfig) DeepCopy

func (in *ModelConfig) DeepCopy() *ModelConfig

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

func (*ModelConfig) DeepCopyInto

func (in *ModelConfig) DeepCopyInto(out *ModelConfig)

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

func (*ModelConfig) DeepCopyObject

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

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

type ModelConfigList

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

ModelConfigList contains a list of ModelConfig.

func (*ModelConfigList) DeepCopy

func (in *ModelConfigList) DeepCopy() *ModelConfigList

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

func (*ModelConfigList) DeepCopyInto

func (in *ModelConfigList) DeepCopyInto(out *ModelConfigList)

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

func (*ModelConfigList) DeepCopyObject

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

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

type ModelConfigSpec

type ModelConfigSpec struct {
	Model string `json:"model"`

	// The name of the secret that contains the API key. Must be a reference to the name of a secret in the same namespace as the referencing ModelConfig
	// +optional
	APIKeySecret string `json:"apiKeySecret"`

	// The key in the secret that contains the API key
	// +optional
	APIKeySecretKey string `json:"apiKeySecretKey"`

	// +optional
	DefaultHeaders map[string]string `json:"defaultHeaders,omitempty"`

	// The provider of the model
	// +kubebuilder:default=OpenAI
	Provider ModelProvider `json:"provider"`

	// OpenAI-specific configuration
	// +optional
	OpenAI *OpenAIConfig `json:"openAI,omitempty"`

	// Anthropic-specific configuration
	// +optional
	Anthropic *AnthropicConfig `json:"anthropic,omitempty"`

	// Azure OpenAI-specific configuration
	// +optional
	AzureOpenAI *AzureOpenAIConfig `json:"azureOpenAI,omitempty"`

	// Ollama-specific configuration
	// +optional
	Ollama *OllamaConfig `json:"ollama,omitempty"`

	// Gemini-specific configuration
	// +optional
	Gemini *GeminiConfig `json:"gemini,omitempty"`

	// Gemini Vertex AI-specific configuration
	// +optional
	GeminiVertexAI *GeminiVertexAIConfig `json:"geminiVertexAI,omitempty"`

	// Anthropic-specific configuration
	// +optional
	AnthropicVertexAI *AnthropicVertexAIConfig `json:"anthropicVertexAI,omitempty"`
}

ModelConfigSpec defines the desired state of ModelConfig.

+kubebuilder:validation:XValidation:message="provider.openAI must be nil if the provider is not OpenAI",rule="!(has(self.openAI) && self.provider != 'OpenAI')" +kubebuilder:validation:XValidation:message="provider.anthropic must be nil if the provider is not Anthropic",rule="!(has(self.anthropic) && self.provider != 'Anthropic')" +kubebuilder:validation:XValidation:message="provider.azureOpenAI must be nil if the provider is not AzureOpenAI",rule="!(has(self.azureOpenAI) && self.provider != 'AzureOpenAI')" +kubebuilder:validation:XValidation:message="provider.ollama must be nil if the provider is not Ollama",rule="!(has(self.ollama) && self.provider != 'Ollama')" +kubebuilder:validation:XValidation:message="provider.gemini must be nil if the provider is not Gemini",rule="!(has(self.gemini) && self.provider != 'Gemini')" +kubebuilder:validation:XValidation:message="provider.geminiVertexAI must be nil if the provider is not GeminiVertexAI",rule="!(has(self.geminiVertexAI) && self.provider != 'GeminiVertexAI')" +kubebuilder:validation:XValidation:message="provider.anthropicVertexAI must be nil if the provider is not AnthropicVertexAI",rule="!(has(self.anthropicVertexAI) && self.provider != 'AnthropicVertexAI')" +kubebuilder:validation:XValidation:message="apiKeySecret must be set if apiKeySecretKey is set",rule="!(has(self.apiKeySecretKey) && !has(self.apiKeySecret))" +kubebuilder:validation:XValidation:message="apiKeySecretKey must be set if apiKeySecret is set",rule="!(has(self.apiKeySecret) && !has(self.apiKeySecretKey))"

func (*ModelConfigSpec) DeepCopy

func (in *ModelConfigSpec) DeepCopy() *ModelConfigSpec

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

func (*ModelConfigSpec) DeepCopyInto

func (in *ModelConfigSpec) DeepCopyInto(out *ModelConfigSpec)

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

type ModelConfigStatus

type ModelConfigStatus struct {
	Conditions         []metav1.Condition `json:"conditions"`
	ObservedGeneration int64              `json:"observedGeneration"`
}

ModelConfigStatus defines the observed state of ModelConfig.

func (*ModelConfigStatus) DeepCopy

func (in *ModelConfigStatus) DeepCopy() *ModelConfigStatus

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

func (*ModelConfigStatus) DeepCopyInto

func (in *ModelConfigStatus) DeepCopyInto(out *ModelConfigStatus)

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

type ModelProvider

type ModelProvider string

ModelProvider represents the model provider type +kubebuilder:validation:Enum=Anthropic;OpenAI;AzureOpenAI;Ollama;Gemini;GeminiVertexAI;AnthropicVertexAI

const (
	ModelProviderAnthropic         ModelProvider = "Anthropic"
	ModelProviderAzureOpenAI       ModelProvider = "AzureOpenAI"
	ModelProviderOpenAI            ModelProvider = "OpenAI"
	ModelProviderOllama            ModelProvider = "Ollama"
	ModelProviderGemini            ModelProvider = "Gemini"
	ModelProviderGeminiVertexAI    ModelProvider = "GeminiVertexAI"
	ModelProviderAnthropicVertexAI ModelProvider = "AnthropicVertexAI"
)

type OllamaConfig

type OllamaConfig struct {
	// Host for the Ollama API
	// +optional
	Host string `json:"host,omitempty"`

	// Options for the Ollama API
	// +optional
	Options map[string]string `json:"options,omitempty"`
}

OllamaConfig contains Ollama-specific configuration options

func (*OllamaConfig) DeepCopy

func (in *OllamaConfig) DeepCopy() *OllamaConfig

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

func (*OllamaConfig) DeepCopyInto

func (in *OllamaConfig) DeepCopyInto(out *OllamaConfig)

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

type OpenAIConfig

type OpenAIConfig struct {
	// Base URL for the OpenAI API (overrides default)
	// +optional
	BaseURL string `json:"baseUrl,omitempty"`

	// Organization ID for the OpenAI API
	// +optional
	Organization string `json:"organization,omitempty"`

	// Temperature for sampling
	// +optional
	Temperature string `json:"temperature,omitempty"`

	// Maximum tokens to generate
	// +optional
	MaxTokens int `json:"maxTokens,omitempty"`

	// Top-p sampling parameter
	// +optional
	TopP string `json:"topP,omitempty"`

	// Frequency penalty
	// +optional
	FrequencyPenalty string `json:"frequencyPenalty,omitempty"`

	// Presence penalty
	// +optional
	PresencePenalty string `json:"presencePenalty,omitempty"`

	// Seed value
	// +optional
	Seed *int `json:"seed,omitempty"`

	// N value
	N *int `json:"n,omitempty"`

	// Timeout
	Timeout *int `json:"timeout,omitempty"`

	// Reasoning effort
	// +optional
	ReasoningEffort *OpenAIReasoningEffort `json:"reasoningEffort,omitempty"`
}

OpenAIConfig contains OpenAI-specific configuration options

func (*OpenAIConfig) DeepCopy

func (in *OpenAIConfig) DeepCopy() *OpenAIConfig

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

func (*OpenAIConfig) DeepCopyInto

func (in *OpenAIConfig) DeepCopyInto(out *OpenAIConfig)

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

type OpenAIReasoningEffort

type OpenAIReasoningEffort string

OpenAIReasoningEffort represents how many reasoning tokens the model generates before producing a response. +kubebuilder:validation:Enum=minimal;low;medium;high

type RemoteMCPServer

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

	Spec   RemoteMCPServerSpec   `json:"spec,omitempty"`
	Status RemoteMCPServerStatus `json:"status,omitempty"`
}

RemoteMCPServer is the Schema for the RemoteMCPServers API.

func (*RemoteMCPServer) DeepCopy

func (in *RemoteMCPServer) DeepCopy() *RemoteMCPServer

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

func (*RemoteMCPServer) DeepCopyInto

func (in *RemoteMCPServer) DeepCopyInto(out *RemoteMCPServer)

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

func (*RemoteMCPServer) DeepCopyObject

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

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

type RemoteMCPServerList

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

+kubebuilder:object:root=true RemoteMCPServerList contains a list of RemoteMCPServer.

func (*RemoteMCPServerList) DeepCopy

func (in *RemoteMCPServerList) DeepCopy() *RemoteMCPServerList

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

func (*RemoteMCPServerList) DeepCopyInto

func (in *RemoteMCPServerList) DeepCopyInto(out *RemoteMCPServerList)

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

func (*RemoteMCPServerList) DeepCopyObject

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

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

type RemoteMCPServerProtocol

type RemoteMCPServerProtocol string

+kubebuilder:validation:Enum=SSE;STREAMABLE_HTTP

const (
	RemoteMCPServerProtocolSse            RemoteMCPServerProtocol = "SSE"
	RemoteMCPServerProtocolStreamableHttp RemoteMCPServerProtocol = "STREAMABLE_HTTP"
)

type RemoteMCPServerSpec

type RemoteMCPServerSpec struct {
	Description string `json:"description"`
	// +kubebuilder:default=STREAMABLE_HTTP
	// +optional
	Protocol RemoteMCPServerProtocol `json:"protocol"`
	// +kubebuilder:validation:MinLength=1
	URL string `json:"url"`
	// +optional
	HeadersFrom []ValueRef `json:"headersFrom,omitempty"`
	// +optional
	Timeout *metav1.Duration `json:"timeout,omitempty"`
	// +optional
	SseReadTimeout *metav1.Duration `json:"sseReadTimeout,omitempty"`
	// +optional
	// +kubebuilder:default=true
	TerminateOnClose *bool `json:"terminateOnClose,omitempty"`
}

RemoteMCPServerSpec defines the desired state of RemoteMCPServer.

func (*RemoteMCPServerSpec) DeepCopy

func (in *RemoteMCPServerSpec) DeepCopy() *RemoteMCPServerSpec

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

func (*RemoteMCPServerSpec) DeepCopyInto

func (in *RemoteMCPServerSpec) DeepCopyInto(out *RemoteMCPServerSpec)

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

func (*RemoteMCPServerSpec) ResolveHeaders

func (s *RemoteMCPServerSpec) ResolveHeaders(ctx context.Context, client client.Client, namespace string) (map[string]string, error)

func (*RemoteMCPServerSpec) Scan

func (t *RemoteMCPServerSpec) Scan(src any) error

func (RemoteMCPServerSpec) Value

func (t RemoteMCPServerSpec) Value() (driver.Value, error)

type RemoteMCPServerStatus

type RemoteMCPServerStatus struct {
	// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
	// Important: Run "make" to regenerate code after modifying this file
	ObservedGeneration int64              `json:"observedGeneration"`
	Conditions         []metav1.Condition `json:"conditions"`
	// +kubebuilder:validation:Optional
	DiscoveredTools []*MCPTool `json:"discoveredTools"`
}

RemoteMCPServerStatus defines the observed state of RemoteMCPServer.

func (*RemoteMCPServerStatus) DeepCopy

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

func (*RemoteMCPServerStatus) DeepCopyInto

func (in *RemoteMCPServerStatus) DeepCopyInto(out *RemoteMCPServerStatus)

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

type SharedDeploymentSpec

type SharedDeploymentSpec struct {
	// If not specified, the default value is 1.
	// +optional
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:default=1
	Replicas *int32 `json:"replicas,omitempty"`
	// +optional
	ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`
	// +optional
	Volumes []corev1.Volume `json:"volumes,omitempty"`
	// +optional
	VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"`
	// +optional
	Labels map[string]string `json:"labels,omitempty"`
	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`
	// +optional
	Env []corev1.EnvVar `json:"env,omitempty"`
	// +optional
	ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty"`
	// +optional
	Resources *corev1.ResourceRequirements `json:"resources,omitempty"`
}

func (*SharedDeploymentSpec) DeepCopy

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

func (*SharedDeploymentSpec) DeepCopyInto

func (in *SharedDeploymentSpec) DeepCopyInto(out *SharedDeploymentSpec)

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

type Tool

type Tool struct {
	// +kubebuilder:validation:Enum=McpServer;Agent
	Type ToolProviderType `json:"type,omitempty"`
	// +optional
	McpServer *McpServerTool `json:"mcpServer,omitempty"`
	// +optional
	Agent *TypedLocalReference `json:"agent,omitempty"`

	// HeadersFrom specifies a list of configuration values to be added as
	// headers to requests sent to the Tool from this agent. The value of
	// each header is resolved from either a Secret or ConfigMap in the same
	// namespace as the Agent. Headers specified here will override any
	// headers of the same name/key specified on the tool.
	// +optional
	HeadersFrom []ValueRef `json:"headersFrom,omitempty"`
}

+kubebuilder:validation:XValidation:message="type.mcpServer must be nil if the type is not McpServer",rule="!(has(self.mcpServer) && self.type != 'McpServer')" +kubebuilder:validation:XValidation:message="type.mcpServer must be specified for McpServer filter.type",rule="!(!has(self.mcpServer) && self.type == 'McpServer')" +kubebuilder:validation:XValidation:message="type.agent must be nil if the type is not Agent",rule="!(has(self.agent) && self.type != 'Agent')" +kubebuilder:validation:XValidation:message="type.agent must be specified for Agent filter.type",rule="!(!has(self.agent) && self.type == 'Agent')"

func (*Tool) DeepCopy

func (in *Tool) DeepCopy() *Tool

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

func (*Tool) DeepCopyInto

func (in *Tool) DeepCopyInto(out *Tool)

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

func (*Tool) ResolveHeaders

func (s *Tool) ResolveHeaders(ctx context.Context, client client.Client, namespace string) (map[string]string, error)

type ToolProviderType

type ToolProviderType string

ToolProviderType represents the tool provider type +kubebuilder:validation:Enum=McpServer;Agent

const (
	ToolProviderType_McpServer ToolProviderType = "McpServer"
	ToolProviderType_Agent     ToolProviderType = "Agent"
)

type TypedLocalReference

type TypedLocalReference struct {
	// +optional
	Kind string `json:"kind"`
	// +optional
	ApiGroup string `json:"apiGroup"`
	Name     string `json:"name"`
}

func (*TypedLocalReference) DeepCopy

func (in *TypedLocalReference) DeepCopy() *TypedLocalReference

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

func (*TypedLocalReference) DeepCopyInto

func (in *TypedLocalReference) DeepCopyInto(out *TypedLocalReference)

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

func (*TypedLocalReference) GroupKind

func (t *TypedLocalReference) GroupKind() schema.GroupKind

type ValueRef

type ValueRef struct {
	Name string `json:"name"`
	// +optional
	Value string `json:"value,omitempty"`
	// +optional
	ValueFrom *ValueSource `json:"valueFrom,omitempty"`
}

ValueRef represents a configuration value +kubebuilder:validation:XValidation:rule="(has(self.value) && !has(self.valueFrom)) || (!has(self.value) && has(self.valueFrom))",message="Exactly one of value or valueFrom must be specified"

func (*ValueRef) DeepCopy

func (in *ValueRef) DeepCopy() *ValueRef

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

func (*ValueRef) DeepCopyInto

func (in *ValueRef) DeepCopyInto(out *ValueRef)

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

func (*ValueRef) Resolve

func (r *ValueRef) Resolve(ctx context.Context, client client.Client, namespace string) (string, string, error)

type ValueSource

type ValueSource struct {
	// +kubebuilder:validation:Enum=ConfigMap;Secret
	Type ValueSourceType `json:"type"`
	// The name of the ConfigMap or Secret.
	Name string `json:"name"`
	// The key of the ConfigMap or Secret.
	Key string `json:"key"`
}

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

func (*ValueSource) DeepCopy

func (in *ValueSource) DeepCopy() *ValueSource

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

func (*ValueSource) DeepCopyInto

func (in *ValueSource) DeepCopyInto(out *ValueSource)

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

func (*ValueSource) Resolve

func (s *ValueSource) Resolve(ctx context.Context, client client.Client, namespace string) (string, error)

type ValueSourceType

type ValueSourceType string
const (
	ConfigMapValueSource ValueSourceType = "ConfigMap"
	SecretValueSource    ValueSourceType = "Secret"
)

Jump to

Keyboard shortcuts

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