Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the agent v1alpha1 API group. +kubebuilder:object:generate=true +groupName=kagent.dev
Index ¶
- Constants
- Variables
- type A2AConfig
- type Agent
- type AgentList
- type AgentSkill
- type AgentSpec
- type AgentStatus
- type AgentTool
- type AgentType
- type AnthropicConfig
- type AnthropicVertexAIConfig
- type AnyType
- type AzureOpenAIConfig
- type BaseVertexAIConfig
- type Component
- type DeploymentSpec
- type GeminiConfig
- type GeminiVertexAIConfig
- type HttpToolServerConfig
- type MCPTool
- type McpServerTool
- type Memory
- type MemoryList
- type MemoryProvider
- type MemorySpec
- type MemoryStatus
- type ModelConfig
- type ModelConfigList
- type ModelConfigSpec
- type ModelConfigStatus
- type ModelInfo
- type ModelProvider
- type OllamaConfig
- type OpenAIConfig
- type PineconeConfig
- type SseMcpServerConfig
- type StdioMcpServerConfig
- type StreamableHttpServerConfig
- type Tool
- type ToolProviderType
- type ToolServer
- type ToolServerConfig
- type ToolServerList
- type ToolServerSpec
- type ToolServerStatus
- type ToolServerType
- type ValueRef
- type ValueSource
- type ValueSourceType
Constants ¶
const ( AgentConditionTypeAccepted = "Accepted" AgentConditionTypeReady = "Ready" )
const (
MemoryConditionTypeAccepted = "Accepted"
)
const (
ModelConfigConditionTypeAccepted = "Accepted"
)
Variables ¶
var ( // GroupVersion is group version used to register these objects. GroupVersion = schema.GroupVersion{Group: "kagent.dev", 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 A2AConfig ¶
type A2AConfig struct {
// +kubebuilder:validation:MinItems=1
Skills []AgentSkill `json:"skills,omitempty"`
}
func (*A2AConfig) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new A2AConfig.
func (*A2AConfig) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Agent.
func (*Agent) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Agent) DeepCopyObject ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentList.
func (*AgentList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AgentList) DeepCopyObject ¶
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 {
// +optional
Description string `json:"description,omitempty"`
// +kubebuilder:validation:MinLength=1
SystemMessage string `json:"systemMessage,omitempty"`
// Can either be a reference to the name of a ModelConfig in the same namespace as the referencing Agent, or a reference to the name of a ModelConfig in a different namespace in the form <namespace>/<name>
// +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"`
// Can either be a reference to the name of a Memory in the same namespace as the referencing Agent, or a reference to the name of a Memory in a different namespace in the form <namespace>/<name>
// +optional
Memory []string `json:"memory,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 *DeploymentSpec `json:"deployment,omitempty"`
}
AgentSpec defines the desired state of Agent.
func (*AgentSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentSpec.
func (*AgentSpec) DeepCopyInto ¶
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"`
// This is used to determine if the agent config has changed.
// If it has changed, the agent will be restarted.
ConfigHash []byte `json:"configHash"`
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 AgentTool ¶
type AgentTool struct {
// Reference to the Agent resource to use as a tool.
// Can either be a reference to the name of an Agent in the same namespace as the referencing Agent, or a reference to the name of an Agent in a different namespace in the form <namespace>/<name>
// +kubebuilder:validation:MinLength=1
Ref string `json:"ref,omitempty"`
}
func (*AgentTool) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentTool.
func (*AgentTool) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 ¶
func (in *AnthropicVertexAIConfig) DeepCopy() *AnthropicVertexAIConfig
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 AnyType ¶
type AnyType struct {
json.RawMessage `json:",inline"`
}
func (*AnyType) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AnyType.
func (*AnyType) DeepCopyInto ¶
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 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 Component ¶
type Component struct {
Provider string `json:"provider"`
ComponentType string `json:"component_type"`
Version int `json:"version"`
ComponentVersion int `json:"component_version"`
Description string `json:"description"`
Label string `json:"label"`
// note: this implementation is due to the kubebuilder limitation https://github.com/kubernetes-sigs/controller-tools/issues/636
// +kubebuilder:pruning:PreserveUnknownFields
// +kubebuilder:validation:Schemaless
Config map[string]AnyType `json:"config,omitempty"`
}
func (*Component) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Component.
func (*Component) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeploymentSpec ¶
type DeploymentSpec struct {
// If not specified, the default value is 1.
// +optional
// +kubebuilder:validation:Minimum=1
Replicas *int32 `json:"replicas,omitempty"`
// +optional
ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`
// +optional
Volumes []corev1.Volume `json:"volumes,omitempty"`
// +optional
Labels map[string]string `json:"labels,omitempty"`
// +optional
Annotations map[string]string `json:"annotations,omitempty"`
// +optional
Env []corev1.EnvVar `json:"env,omitempty"`
}
func (*DeploymentSpec) DeepCopy ¶
func (in *DeploymentSpec) DeepCopy() *DeploymentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentSpec.
func (*DeploymentSpec) DeepCopyInto ¶
func (in *DeploymentSpec) DeepCopyInto(out *DeploymentSpec)
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 ¶
func (in *GeminiVertexAIConfig) DeepCopy() *GeminiVertexAIConfig
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 HttpToolServerConfig ¶
type HttpToolServerConfig struct {
URL string `json:"url"`
// +kubebuilder:pruning:PreserveUnknownFields
// +kubebuilder:validation:Schemaless
Headers map[string]AnyType `json:"headers,omitempty"`
HeadersFrom []ValueRef `json:"headersFrom,omitempty"`
// +optional
Timeout *metav1.Duration `json:"timeout,omitempty"`
// +optional
SseReadTimeout *metav1.Duration `json:"sseReadTimeout,omitempty"`
}
func (*HttpToolServerConfig) DeepCopy ¶
func (in *HttpToolServerConfig) DeepCopy() *HttpToolServerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HttpToolServerConfig.
func (*HttpToolServerConfig) DeepCopyInto ¶
func (in *HttpToolServerConfig) DeepCopyInto(out *HttpToolServerConfig)
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"`
Component *Component `json:"component,omitempty"`
}
func (*MCPTool) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPTool.
func (*MCPTool) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type McpServerTool ¶
type McpServerTool struct {
// the name of 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>
ToolServer string `json:"toolServer,omitempty"`
// 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 Memory ¶
type Memory struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec MemorySpec `json:"spec,omitempty"`
Status MemoryStatus `json:"status,omitempty"`
}
Memory is the Schema for the memories API.
func (*Memory) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Memory.
func (*Memory) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Memory) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MemoryList ¶
type MemoryList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Memory `json:"items"`
}
MemoryList contains a list of Memory resources.
func (*MemoryList) DeepCopy ¶
func (in *MemoryList) DeepCopy() *MemoryList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemoryList.
func (*MemoryList) DeepCopyInto ¶
func (in *MemoryList) DeepCopyInto(out *MemoryList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MemoryList) DeepCopyObject ¶
func (in *MemoryList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MemoryProvider ¶
type MemoryProvider string
MemoryProvider represents the memory provider type +kubebuilder:validation:Enum=Pinecone
const (
Pinecone MemoryProvider = "Pinecone"
)
type MemorySpec ¶
type MemorySpec struct {
// The provider of the memory
// +kubebuilder:default=Pinecone
Provider MemoryProvider `json:"provider"`
// The reference to the secret that contains the API key. Can either be a reference to the name of a secret in the same namespace as the referencing Memory,
// or a reference to the name of a secret in a different namespace in the form <namespace>/<name>
// +optional
APIKeySecretRef string `json:"apiKeySecretRef"`
// The key in the secret that contains the API key
// +optional
APIKeySecretKey string `json:"apiKeySecretKey"`
// The configuration for the Pinecone memory provider
// +optional
Pinecone *PineconeConfig `json:"pinecone,omitempty"`
}
MemorySpec defines the desired state of Memory.
func (*MemorySpec) DeepCopy ¶
func (in *MemorySpec) DeepCopy() *MemorySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemorySpec.
func (*MemorySpec) DeepCopyInto ¶
func (in *MemorySpec) DeepCopyInto(out *MemorySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MemoryStatus ¶
type MemoryStatus struct {
Conditions []metav1.Condition `json:"conditions"`
ObservedGeneration int64 `json:"observedGeneration"`
}
MemoryStatus defines the observed state of Memory.
func (*MemoryStatus) DeepCopy ¶
func (in *MemoryStatus) DeepCopy() *MemoryStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemoryStatus.
func (*MemoryStatus) DeepCopyInto ¶
func (in *MemoryStatus) DeepCopyInto(out *MemoryStatus)
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 provider of the model
// +kubebuilder:default=OpenAI
Provider ModelProvider `json:"provider"`
// The reference to 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
APIKeySecretRef string `json:"apiKeySecretRef"`
// The key in the secret that contains the API key
// +optional
APIKeySecretKey string `json:"apiKeySecretKey"`
// +optional
DefaultHeaders map[string]string `json:"defaultHeaders,omitempty"`
// ModelInfo contains information about the model.
// This field is required if the model is not one of the
// pre-defined autogen models. That list can be found here:
// +optional
ModelInfo *ModelInfo `json:"modelInfo,omitempty"`
// 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')"
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 ModelInfo ¶
type ModelInfo struct {
// +optional
Vision bool `json:"vision"`
// +optional
FunctionCalling bool `json:"functionCalling"`
// +optional
JSONOutput bool `json:"jsonOutput"`
// +optional
Family string `json:"family"`
// +optional
StructuredOutput bool `json:"structuredOutput"`
// +optional
MultipleSystemMessages bool `json:"multipleSystemMessages"`
}
Model Configurations This had to be created because the autogen_api.ModelInfo JSON tags are not compatible with the kubernetes api.
func (*ModelInfo) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ModelInfo.
func (*ModelInfo) DeepCopyInto ¶
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"`
}
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 PineconeConfig ¶
type PineconeConfig struct {
// The index host to connect to
// +required
IndexHost string `json:"indexHost,omitempty"`
// The number of results to return from the Pinecone index
// +optional
TopK int `json:"topK,omitempty"`
// The namespace to use for the Pinecone index. If not provided, the default namespace will be used.
// +optional
Namespace string `json:"namespace,omitempty"`
// The fields to retrieve from the Pinecone index. If not provided, all fields will be retrieved.
// +optional
RecordFields []string `json:"recordFields,omitempty"`
// The score threshold of results to include in the context. Results with a score below this threshold will be ignored.
// +optional
ScoreThreshold string `json:"scoreThreshold,omitempty"`
}
PineconeConfig contains Pinecone-specific configuration options
func (*PineconeConfig) DeepCopy ¶
func (in *PineconeConfig) DeepCopy() *PineconeConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PineconeConfig.
func (*PineconeConfig) DeepCopyInto ¶
func (in *PineconeConfig) DeepCopyInto(out *PineconeConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SseMcpServerConfig ¶
type SseMcpServerConfig struct {
HttpToolServerConfig `json:",inline"`
}
func (*SseMcpServerConfig) DeepCopy ¶
func (in *SseMcpServerConfig) DeepCopy() *SseMcpServerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SseMcpServerConfig.
func (*SseMcpServerConfig) DeepCopyInto ¶
func (in *SseMcpServerConfig) DeepCopyInto(out *SseMcpServerConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StdioMcpServerConfig ¶
type StdioMcpServerConfig struct {
Command string `json:"command"`
Args []string `json:"args,omitempty"`
Env map[string]string `json:"env,omitempty"`
EnvFrom []ValueRef `json:"envFrom,omitempty"`
// Default value is 10 seconds
// +kubebuilder:default:=10
ReadTimeoutSeconds uint8 `json:"readTimeoutSeconds,omitempty"`
}
func (*StdioMcpServerConfig) DeepCopy ¶
func (in *StdioMcpServerConfig) DeepCopy() *StdioMcpServerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StdioMcpServerConfig.
func (*StdioMcpServerConfig) DeepCopyInto ¶
func (in *StdioMcpServerConfig) DeepCopyInto(out *StdioMcpServerConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StreamableHttpServerConfig ¶
type StreamableHttpServerConfig struct {
HttpToolServerConfig `json:",inline"`
TerminateOnClose *bool `json:"terminateOnClose,omitempty"`
}
func (*StreamableHttpServerConfig) DeepCopy ¶
func (in *StreamableHttpServerConfig) DeepCopy() *StreamableHttpServerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StreamableHttpServerConfig.
func (*StreamableHttpServerConfig) DeepCopyInto ¶
func (in *StreamableHttpServerConfig) DeepCopyInto(out *StreamableHttpServerConfig)
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 *AgentTool `json:"agent,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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tool.
func (*Tool) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 ToolServer ¶
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.
func (*ToolServer) DeepCopy ¶
func (in *ToolServer) DeepCopy() *ToolServer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ToolServer.
func (*ToolServer) DeepCopyInto ¶
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 ¶
func (in *ToolServer) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ToolServerConfig ¶
type ToolServerConfig struct {
// +optional
Type ToolServerType `json:"type"`
Stdio *StdioMcpServerConfig `json:"stdio,omitempty"`
Sse *SseMcpServerConfig `json:"sse,omitempty"`
StreamableHttp *StreamableHttpServerConfig `json:"streamableHttp,omitempty"`
}
Only one of stdio, sse, or streamableHttp can be specified. +kubebuilder:validation:XValidation:rule="(has(self.stdio) && !has(self.sse) && !has(self.streamableHttp)) || (!has(self.stdio) && has(self.sse) && !has(self.streamableHttp)) || (!has(self.stdio) && !has(self.sse) && has(self.streamableHttp))",message="Exactly one of stdio, sse, or streamableHttp must be specified"
func (*ToolServerConfig) DeepCopy ¶
func (in *ToolServerConfig) DeepCopy() *ToolServerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ToolServerConfig.
func (*ToolServerConfig) DeepCopyInto ¶
func (in *ToolServerConfig) DeepCopyInto(out *ToolServerConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ToolServerConfig) Scan ¶
func (t *ToolServerConfig) Scan(src any) error
type ToolServerList ¶
type ToolServerList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ToolServer `json:"items"`
}
ToolServerList contains a list of ToolServer.
func (*ToolServerList) DeepCopy ¶
func (in *ToolServerList) DeepCopy() *ToolServerList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ToolServerList.
func (*ToolServerList) DeepCopyInto ¶
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 ¶
func (in *ToolServerList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ToolServerSpec ¶
type ToolServerSpec struct {
Description string `json:"description"`
Config ToolServerConfig `json:"config"`
}
ToolServerSpec defines the desired state of ToolServer.
func (*ToolServerSpec) DeepCopy ¶
func (in *ToolServerSpec) DeepCopy() *ToolServerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ToolServerSpec.
func (*ToolServerSpec) DeepCopyInto ¶
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 ¶
type ToolServerStatus 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"`
}
ToolServerStatus defines the observed state of ToolServer.
func (*ToolServerStatus) DeepCopy ¶
func (in *ToolServerStatus) DeepCopy() *ToolServerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ToolServerStatus.
func (*ToolServerStatus) DeepCopyInto ¶
func (in *ToolServerStatus) DeepCopyInto(out *ToolServerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ToolServerType ¶
type ToolServerType string
const ( ToolServerTypeStdio ToolServerType = "stdio" ToolServerTypeSse ToolServerType = "sse" ToolServerTypeStreamableHttp ToolServerType = "streamableHttp" )
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValueRef.
func (*ValueRef) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ValueSource ¶
type ValueSource struct {
// +kubebuilder:validation:Enum=ConfigMap;Secret
Type ValueSourceType `json:"type"`
// The reference to the ConfigMap or Secret. Can either be a reference to a resource in the same namespace,
// or a reference to a resource in a different namespace in the form "namespace/name".
// If namespace is not provided, the default namespace is used.
// +optional
ValueRef string `json:"valueRef"`
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.
type ValueSourceType ¶
type ValueSourceType string
const ( ConfigMapValueSource ValueSourceType = "ConfigMap" SecretValueSource ValueSourceType = "Secret" )