Documentation
¶
Overview ¶
internal/crd/mcpmemory.go
internal/crd/mcppostgres.go
internal/crd/mcpproxy.go
internal/crd/mcpserver.go
internal/crd/mcptaskscheduler.go
internal/crd/mcptoolbox.go
Index ¶
- Constants
- Variables
- func AddMCPProxyToScheme(scheme *runtime.Scheme) error
- func AddToScheme(scheme *runtime.Scheme) error
- func Resource(resource string) schema.GroupResource
- type Affinity
- type AuditConfig
- type AuthenticationConfig
- type AutoScalingBehavior
- type AutoScalingConfig
- type AutoScalingMetric
- type CollaborationConfig
- type ConditionalDependencyConfig
- type ConnectionConfig
- type ConnectionInfo
- type ConnectionStats
- type CustomMetric
- type DashboardConfig
- type DiscoveredServer
- type EventTrigger
- type ExecHealthCheck
- type FileWatchConfig
- type HTTPHeader
- type HTTPHealthCheck
- type IPBlock
- type IngressConfig
- type IngressEndpoint
- type IngressPath
- type KubernetesEventConfig
- type LabelSelector
- type LabelSelectorRequirement
- type MCPMemory
- type MCPMemoryCondition
- type MCPMemoryConditionType
- type MCPMemoryList
- type MCPMemoryPhase
- type MCPMemorySpec
- type MCPMemoryStatus
- type MCPPostgres
- type MCPPostgresList
- type MCPPostgresSpec
- type MCPPostgresStatus
- type MCPProxy
- type MCPProxyCondition
- type MCPProxyConditionType
- type MCPProxyList
- type MCPProxyPhase
- type MCPProxySpec
- type MCPProxyStatus
- type MCPServer
- type MCPServerCondition
- type MCPServerConditionType
- type MCPServerList
- type MCPServerPhase
- type MCPServerSpec
- type MCPServerStatus
- type MCPTaskScheduler
- type MCPTaskSchedulerCondition
- type MCPTaskSchedulerConditionType
- type MCPTaskSchedulerList
- type MCPTaskSchedulerPhase
- type MCPTaskSchedulerSpec
- type MCPTaskSchedulerStatus
- type MCPToolbox
- type MCPToolboxCondition
- type MCPToolboxConditionType
- type MCPToolboxList
- type MCPToolboxPhase
- type MCPToolboxSpec
- type MCPToolboxStatus
- type MonitoringConfig
- type NetworkPolicyConfig
- type NetworkPolicyPeer
- type NetworkPolicyPort
- type NetworkPolicyRule
- type NodeAffinity
- type NodeSelector
- type NodeSelectorRequirement
- type NodeSelectorTerm
- type OAuthConfig
- type OAuthEndpoints
- type OAuthSecurityConfig
- type PodAffinity
- type PodAffinityTerm
- type PostgresBackupConfig
- type PostgresCondition
- type PostgresConditionType
- type PostgresPhase
- type PostgresStats
- type PreferredSchedulingTerm
- type ProxyAuthConfig
- type ProxyEndpoint
- type RBACConfig
- type ResourceList
- type ResourceRequirements
- type RetentionConfig
- type Role
- type ScalingPolicy
- type ScalingPolicyRule
- type ScheduledTask
- type Scope
- type SecurityConfig
- type ServerHealthCheckConfig
- type ServerScalingConfig
- type ServerSelector
- type ServiceDiscoveryConfig
- type ServiceEndpoint
- type SharedVolumeSpec
- type StepPhase
- type StepResult
- type TCPHealthCheck
- type TLSConfig
- type TaskRetryPolicy
- type TaskSchedulerConfig
- type TaskStatistics
- type TemplateParameter
- type TokenConfig
- type Toleration
- type ToolboxAlert
- type ToolboxAutoScalingConfig
- type ToolboxConnectionInfo
- type ToolboxDependency
- type ToolboxMonitoringConfig
- type ToolboxNetworkingConfig
- type ToolboxOAuthConfig
- type ToolboxPersistenceConfig
- type ToolboxResourceConfig
- type ToolboxResourceUsage
- type ToolboxSecurityConfig
- type ToolboxServerSpec
- type ToolboxServerStatus
- type TriggerCondition
- type VolumeMountSpec
- type VolumeSpec
- type WebhookConfig
- type WeightedPodAffinityTerm
- type WorkflowBackoffStrategy
- type WorkflowConcurrencyPolicy
- type WorkflowDefinition
- type WorkflowExecution
- type WorkflowPhase
- type WorkflowRetryPolicy
- type WorkflowRunPolicy
- type WorkflowStatistics
- type WorkflowStep
- type WorkflowTemplate
- type WorkflowVolumeReclaimPolicy
- type WorkflowWorkspace
Constants ¶
const ( GroupName = "mcp.matey.ai" Version = "v1" )
Variables ¶
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: Version}
SchemeGroupVersion is group version used to register these objects
Functions ¶
func AddMCPProxyToScheme ¶
Add MCPProxy types to scheme
func AddToScheme ¶
AddToScheme adds the types in this group-version to the given scheme.
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource returns the resource for MCPServer
Types ¶
type Affinity ¶
type Affinity struct {
NodeAffinity *NodeAffinity `json:"nodeAffinity,omitempty"`
PodAffinity *PodAffinity `json:"podAffinity,omitempty"`
PodAntiAffinity *PodAffinity `json:"podAntiAffinity,omitempty"`
}
Affinity represents Kubernetes affinity configuration
type AuditConfig ¶
type AuditConfig struct {
Enabled bool `json:"enabled,omitempty"`
LogLevel string `json:"logLevel,omitempty"`
Storage string `json:"storage,omitempty"`
Retention RetentionConfig `json:"retention,omitempty"`
Events []string `json:"events,omitempty"`
}
AuditConfig defines audit configuration
type AuthenticationConfig ¶
type AuthenticationConfig struct {
Enabled bool `json:"enabled,omitempty"`
RequiredScope string `json:"requiredScope,omitempty"`
OptionalAuth bool `json:"optionalAuth,omitempty"`
Scopes []string `json:"scopes,omitempty"`
AllowAPIKey *bool `json:"allowAPIKey,omitempty"`
}
AuthenticationConfig defines authentication settings for the server
type AutoScalingBehavior ¶
type AutoScalingBehavior struct {
// ScaleUp defines scale-up behavior
ScaleUp *ScalingPolicy `json:"scaleUp,omitempty"`
// ScaleDown defines scale-down behavior
ScaleDown *ScalingPolicy `json:"scaleDown,omitempty"`
}
AutoScalingBehavior defines auto-scaling behavior
func (*AutoScalingBehavior) DeepCopy ¶
func (in *AutoScalingBehavior) DeepCopy() *AutoScalingBehavior
func (*AutoScalingBehavior) DeepCopyInto ¶
func (in *AutoScalingBehavior) DeepCopyInto(out *AutoScalingBehavior)
type AutoScalingConfig ¶
type AutoScalingConfig struct {
// Enable auto-scaling
Enabled bool `json:"enabled,omitempty"`
// Minimum concurrent tasks
MinConcurrentTasks int32 `json:"minConcurrentTasks,omitempty"`
// Maximum concurrent tasks
MaxConcurrentTasks int32 `json:"maxConcurrentTasks,omitempty"`
// Target CPU utilization percentage
TargetCPUUtilization int32 `json:"targetCPUUtilization,omitempty"`
// Target memory utilization percentage
TargetMemoryUtilization int32 `json:"targetMemoryUtilization,omitempty"`
// Scale up cooldown period
ScaleUpCooldown string `json:"scaleUpCooldown,omitempty"`
// Scale down cooldown period
ScaleDownCooldown string `json:"scaleDownCooldown,omitempty"`
// Metrics collection interval
MetricsInterval string `json:"metricsInterval,omitempty"`
// Custom metrics for scaling decisions
CustomMetrics []CustomMetric `json:"customMetrics,omitempty"`
}
AutoScalingConfig defines auto-scaling configuration
func (*AutoScalingConfig) DeepCopy ¶
func (in *AutoScalingConfig) DeepCopy() *AutoScalingConfig
func (*AutoScalingConfig) DeepCopyInto ¶
func (in *AutoScalingConfig) DeepCopyInto(out *AutoScalingConfig)
type AutoScalingMetric ¶
type AutoScalingMetric struct {
// Type defines the metric type
Type string `json:"type"` // "cpu", "memory", "requests", "custom"
// TargetValue defines the target value for the metric
TargetValue string `json:"targetValue"`
// AverageUtilization defines the target average utilization
AverageUtilization *int32 `json:"averageUtilization,omitempty"`
}
AutoScalingMetric defines a metric for auto-scaling
func (*AutoScalingMetric) DeepCopy ¶
func (in *AutoScalingMetric) DeepCopy() *AutoScalingMetric
func (*AutoScalingMetric) DeepCopyInto ¶
func (in *AutoScalingMetric) DeepCopyInto(out *AutoScalingMetric)
type CollaborationConfig ¶
type CollaborationConfig struct {
SharedWith []string `json:"sharedWith,omitempty"`
// Permissions defines the default permissions for shared access
Permissions []string `json:"permissions,omitempty"`
// AllowGuests indicates whether guest users can access this toolbox
AllowGuests bool `json:"allowGuests,omitempty"`
// RequireApproval indicates whether access requests require approval
RequireApproval bool `json:"requireApproval,omitempty"`
// AccessExpiry defines when shared access expires
AccessExpiry *metav1.Duration `json:"accessExpiry,omitempty"`
}
CollaborationConfig defines team access and sharing settings
func (*CollaborationConfig) DeepCopy ¶
func (in *CollaborationConfig) DeepCopy() *CollaborationConfig
func (*CollaborationConfig) DeepCopyInto ¶
func (in *CollaborationConfig) DeepCopyInto(out *CollaborationConfig)
type ConditionalDependencyConfig ¶
type ConditionalDependencyConfig struct {
// Enable conditional dependencies
Enabled bool `json:"enabled,omitempty"`
// Default dependency resolution strategy
DefaultStrategy string `json:"defaultStrategy,omitempty"`
// Timeout for dependency resolution
ResolutionTimeout string `json:"resolutionTimeout,omitempty"`
// Enable cross-workflow dependencies
CrossWorkflowEnabled bool `json:"crossWorkflowEnabled,omitempty"`
}
ConditionalDependencyConfig defines conditional dependency configuration
func (*ConditionalDependencyConfig) DeepCopy ¶
func (in *ConditionalDependencyConfig) DeepCopy() *ConditionalDependencyConfig
func (*ConditionalDependencyConfig) DeepCopyInto ¶
func (in *ConditionalDependencyConfig) DeepCopyInto(out *ConditionalDependencyConfig)
type ConnectionConfig ¶
type ConnectionConfig struct {
MaxConnections int32 `json:"maxConnections,omitempty"`
MaxIdleTime string `json:"maxIdleTime,omitempty"`
HealthCheckInterval string `json:"healthCheckInterval,omitempty"`
Timeouts map[string]string `json:"timeouts,omitempty"`
PoolSize int32 `json:"poolSize,omitempty"`
EnableMetrics bool `json:"enableMetrics,omitempty"`
}
ConnectionConfig defines connection management configuration
type ConnectionInfo ¶
type ConnectionInfo struct {
Endpoint string `json:"endpoint,omitempty"`
Protocol string `json:"protocol,omitempty"`
Port int32 `json:"port,omitempty"`
Path string `json:"path,omitempty"`
SSEEndpoint string `json:"sseEndpoint,omitempty"`
}
ConnectionInfo represents connection information for the server
type ConnectionStats ¶
type ConnectionStats struct {
TotalConnections int32 `json:"totalConnections,omitempty"`
ActiveConnections int32 `json:"activeConnections,omitempty"`
FailedConnections int32 `json:"failedConnections,omitempty"`
AverageResponseTime string `json:"averageResponseTime,omitempty"`
RequestsPerSecond float64 `json:"requestsPerSecond,omitempty"`
ErrorRate float64 `json:"errorRate,omitempty"`
}
ConnectionStats represents connection statistics
type CustomMetric ¶
type CustomMetric struct {
// Name of the metric
Name string `json:"name"`
// Metric type (resource, pods, object, external)
Type string `json:"type"`
// Target value for the metric
TargetValue string `json:"targetValue"`
// Metric selector
Selector map[string]string `json:"selector,omitempty"`
}
CustomMetric defines custom metrics for auto-scaling
func (*CustomMetric) DeepCopy ¶
func (in *CustomMetric) DeepCopy() *CustomMetric
func (*CustomMetric) DeepCopyInto ¶
func (in *CustomMetric) DeepCopyInto(out *CustomMetric)
type DashboardConfig ¶
type DashboardConfig struct {
Enabled bool `json:"enabled,omitempty"`
Port int32 `json:"port,omitempty"`
Path string `json:"path,omitempty"`
}
DashboardConfig defines dashboard configuration
type DiscoveredServer ¶
type DiscoveredServer struct {
Name string `json:"name,omitempty"`
Namespace string `json:"namespace,omitempty"`
Endpoint string `json:"endpoint,omitempty"`
Protocol string `json:"protocol,omitempty"`
Capabilities []string `json:"capabilities,omitempty"`
Status string `json:"status,omitempty"`
LastDiscovered metav1.Time `json:"lastDiscovered,omitempty"`
HealthStatus string `json:"healthStatus,omitempty"`
}
DiscoveredServer represents a discovered MCP server
type EventTrigger ¶
type EventTrigger struct {
// Type of event trigger (k8s-event, webhook, file-watch, etc.)
Type string `json:"type"`
// Name of the trigger for identification
Name string `json:"name"`
// Workflow to trigger when event occurs
Workflow string `json:"workflow"`
// Kubernetes event configuration
KubernetesEvent *KubernetesEventConfig `json:"kubernetesEvent,omitempty"`
// Webhook configuration
Webhook *WebhookConfig `json:"webhook,omitempty"`
// File watch configuration
FileWatch *FileWatchConfig `json:"fileWatch,omitempty"`
// Conditions for triggering
Conditions []TriggerCondition `json:"conditions,omitempty"`
// Cooldown period to prevent rapid triggering
CooldownDuration string `json:"cooldownDuration,omitempty"`
}
EventTrigger defines event-driven workflow triggers
func (*EventTrigger) DeepCopy ¶
func (in *EventTrigger) DeepCopy() *EventTrigger
func (*EventTrigger) DeepCopyInto ¶
func (in *EventTrigger) DeepCopyInto(out *EventTrigger)
DeepCopy methods for new structs
type ExecHealthCheck ¶
type ExecHealthCheck struct {
// Command defines the command to execute
Command []string `json:"command"`
}
ExecHealthCheck defines a command-based health check
func (*ExecHealthCheck) DeepCopy ¶
func (in *ExecHealthCheck) DeepCopy() *ExecHealthCheck
func (*ExecHealthCheck) DeepCopyInto ¶
func (in *ExecHealthCheck) DeepCopyInto(out *ExecHealthCheck)
type FileWatchConfig ¶
type FileWatchConfig struct {
// Path to watch
Path string `json:"path"`
// File pattern to match
Pattern string `json:"pattern,omitempty"`
// Watch mode (create, modify, delete, all)
Events []string `json:"events,omitempty"`
// Recursive watching
Recursive bool `json:"recursive,omitempty"`
}
FileWatchConfig defines file watching configuration
func (*FileWatchConfig) DeepCopy ¶
func (in *FileWatchConfig) DeepCopy() *FileWatchConfig
func (*FileWatchConfig) DeepCopyInto ¶
func (in *FileWatchConfig) DeepCopyInto(out *FileWatchConfig)
type HTTPHeader ¶
type HTTPHeader struct {
// Name defines the header name
Name string `json:"name"`
// Value defines the header value
Value string `json:"value"`
}
HTTPHeader defines an HTTP header
func (*HTTPHeader) DeepCopy ¶
func (in *HTTPHeader) DeepCopy() *HTTPHeader
func (*HTTPHeader) DeepCopyInto ¶
func (in *HTTPHeader) DeepCopyInto(out *HTTPHeader)
type HTTPHealthCheck ¶
type HTTPHealthCheck struct {
// Path defines the HTTP path to check
Path string `json:"path"`
// Port defines the port to check
Port int32 `json:"port"`
// Scheme defines the scheme (HTTP or HTTPS)
Scheme string `json:"scheme,omitempty"`
// HTTPHeaders defines custom HTTP headers
HTTPHeaders []HTTPHeader `json:"httpHeaders,omitempty"`
}
HTTPHealthCheck defines an HTTP-based health check
func (*HTTPHealthCheck) DeepCopy ¶
func (in *HTTPHealthCheck) DeepCopy() *HTTPHealthCheck
func (*HTTPHealthCheck) DeepCopyInto ¶
func (in *HTTPHealthCheck) DeepCopyInto(out *HTTPHealthCheck)
type IPBlock ¶
type IPBlock struct {
// CIDR defines the IP range
CIDR string `json:"cidr"`
// Except defines IP ranges to exclude
Except []string `json:"except,omitempty"`
}
IPBlock defines an IP block for network policies
func (*IPBlock) DeepCopyInto ¶
type IngressConfig ¶
type IngressConfig struct {
Enabled bool `json:"enabled,omitempty"`
Class string `json:"class,omitempty"`
Host string `json:"host,omitempty"`
TLS bool `json:"tls,omitempty"`
Annotations map[string]string `json:"annotations,omitempty"`
Paths []IngressPath `json:"paths,omitempty"`
}
IngressConfig defines ingress configuration
type IngressEndpoint ¶
type IngressEndpoint struct {
Host string `json:"host,omitempty"`
Path string `json:"path,omitempty"`
URL string `json:"url,omitempty"`
}
IngressEndpoint represents an ingress endpoint
type IngressPath ¶
type IngressPath struct {
Path string `json:"path,omitempty"`
PathType string `json:"pathType,omitempty"`
Backend string `json:"backend,omitempty"`
}
IngressPath defines an ingress path
type KubernetesEventConfig ¶
type KubernetesEventConfig struct {
// Resource kind to watch (Pod, Service, etc.)
Kind string `json:"kind"`
// Event reason filter
Reason string `json:"reason,omitempty"`
// Namespace filter
Namespace string `json:"namespace,omitempty"`
// Label selector
LabelSelector string `json:"labelSelector,omitempty"`
// Field selector
FieldSelector string `json:"fieldSelector,omitempty"`
}
KubernetesEventConfig defines configuration for Kubernetes event watching
func (*KubernetesEventConfig) DeepCopy ¶
func (in *KubernetesEventConfig) DeepCopy() *KubernetesEventConfig
func (*KubernetesEventConfig) DeepCopyInto ¶
func (in *KubernetesEventConfig) DeepCopyInto(out *KubernetesEventConfig)
type LabelSelector ¶
type LabelSelector struct {
MatchLabels map[string]string `json:"matchLabels,omitempty"`
MatchExpressions []LabelSelectorRequirement `json:"matchExpressions,omitempty"`
}
LabelSelector represents a Kubernetes label selector
type LabelSelectorRequirement ¶
type LabelSelectorRequirement struct {
Key string `json:"key"`
Operator string `json:"operator"`
Values []string `json:"values,omitempty"`
}
LabelSelectorRequirement represents a Kubernetes label selector requirement
type MCPMemory ¶
type MCPMemory struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec MCPMemorySpec `json:"spec,omitempty"`
Status MCPMemoryStatus `json:"status,omitempty"`
}
MCPMemory represents a memory server deployment with PostgreSQL backend +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:shortName=mcpmem +kubebuilder:printcolumn:name="Phase",type="string",JSONPath=".status.phase" +kubebuilder:printcolumn:name="PostgreSQL",type="string",JSONPath=".status.postgresStatus" +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.readyReplicas" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"
func (*MCPMemory) DeepCopyInto ¶
func (*MCPMemory) DeepCopyObject ¶
func (*MCPMemory) GroupVersionKind ¶
func (m *MCPMemory) GroupVersionKind() schema.GroupVersionKind
GroupVersionKind returns the GroupVersionKind for MCPMemory
type MCPMemoryCondition ¶
type MCPMemoryCondition struct {
// Type of MCPMemory condition
Type MCPMemoryConditionType `json:"type"`
// Status of the condition, one of True, False, Unknown
Status metav1.ConditionStatus `json:"status"`
// Last time the condition transitioned from one status to another
LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
// The reason for the condition's last transition
Reason string `json:"reason,omitempty"`
// A human readable message indicating details about the transition
Message string `json:"message,omitempty"`
}
MCPMemoryCondition describes the state of an MCPMemory at a certain point
func (*MCPMemoryCondition) DeepCopy ¶
func (in *MCPMemoryCondition) DeepCopy() *MCPMemoryCondition
func (*MCPMemoryCondition) DeepCopyInto ¶
func (in *MCPMemoryCondition) DeepCopyInto(out *MCPMemoryCondition)
type MCPMemoryConditionType ¶
type MCPMemoryConditionType string
MCPMemoryConditionType represents a MCPMemory condition value
const ( // MCPMemoryConditionReady indicates whether the memory server is ready MCPMemoryConditionReady MCPMemoryConditionType = "Ready" // MCPMemoryConditionHealthy indicates whether the memory server is healthy MCPMemoryConditionHealthy MCPMemoryConditionType = "Healthy" // MCPMemoryConditionPostgresReady indicates whether PostgreSQL is ready MCPMemoryConditionPostgresReady MCPMemoryConditionType = "PostgresReady" )
type MCPMemoryList ¶
type MCPMemoryList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []MCPMemory `json:"items"`
}
MCPMemoryList contains a list of MCPMemory +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*MCPMemoryList) DeepCopy ¶
func (in *MCPMemoryList) DeepCopy() *MCPMemoryList
func (*MCPMemoryList) DeepCopyInto ¶
func (in *MCPMemoryList) DeepCopyInto(out *MCPMemoryList)
func (*MCPMemoryList) DeepCopyObject ¶
func (in *MCPMemoryList) DeepCopyObject() runtime.Object
func (*MCPMemoryList) GroupVersionKind ¶
func (m *MCPMemoryList) GroupVersionKind() schema.GroupVersionKind
GroupVersionKind returns the GroupVersionKind for MCPMemoryList
type MCPMemoryPhase ¶
type MCPMemoryPhase string
MCPMemoryPhase represents the phase of an MCPMemory
const ( MCPMemoryPhasePending MCPMemoryPhase = "Pending" MCPMemoryPhaseCreating MCPMemoryPhase = "Creating" MCPMemoryPhaseStarting MCPMemoryPhase = "Starting" MCPMemoryPhaseRunning MCPMemoryPhase = "Running" MCPMemoryPhaseFailed MCPMemoryPhase = "Failed" MCPMemoryPhaseTerminating MCPMemoryPhase = "Terminating" )
type MCPMemorySpec ¶
type MCPMemorySpec struct {
// Memory server configuration
Port int32 `json:"port,omitempty"`
Host string `json:"host,omitempty"`
// PostgreSQL configuration
PostgresEnabled bool `json:"postgresEnabled,omitempty"`
PostgresPort int32 `json:"postgresPort,omitempty"`
PostgresDB string `json:"postgresDB,omitempty"`
PostgresUser string `json:"postgresUser,omitempty"`
PostgresPassword string `json:"postgresPassword,omitempty"`
DatabaseURL string `json:"databaseURL,omitempty"`
// Resource requirements
CPUs string `json:"cpus,omitempty"`
Memory string `json:"memory,omitempty"`
PostgresCPUs string `json:"postgresCpus,omitempty"`
PostgresMemory string `json:"postgresMemory,omitempty"`
// Storage configuration
Volumes []string `json:"volumes,omitempty"`
// Authentication configuration
Authentication *AuthenticationConfig `json:"authentication,omitempty"`
// Deployment configuration
Replicas *int32 `json:"replicas,omitempty"`
NodeSelector map[string]string `json:"nodeSelector,omitempty"`
Tolerations []Toleration `json:"tolerations,omitempty"`
Affinity *Affinity `json:"affinity,omitempty"`
// Service configuration
ServiceType string `json:"serviceType,omitempty"`
ServiceAnnotations map[string]string `json:"serviceAnnotations,omitempty"`
// Kubernetes-specific configuration
ServiceAccount string `json:"serviceAccount,omitempty"`
ImagePullSecrets []string `json:"imagePullSecrets,omitempty"`
PodAnnotations map[string]string `json:"podAnnotations,omitempty"`
Labels map[string]string `json:"labels,omitempty"`
}
MCPMemorySpec defines the desired state of MCPMemory
func (*MCPMemorySpec) DeepCopy ¶
func (in *MCPMemorySpec) DeepCopy() *MCPMemorySpec
func (*MCPMemorySpec) DeepCopyInto ¶
func (in *MCPMemorySpec) DeepCopyInto(out *MCPMemorySpec)
type MCPMemoryStatus ¶
type MCPMemoryStatus struct {
// Phase represents the current phase of the MCPMemory
Phase MCPMemoryPhase `json:"phase,omitempty"`
// Conditions represent the latest available observations of an object's state
Conditions []MCPMemoryCondition `json:"conditions,omitempty"`
// Health status
HealthStatus string `json:"healthStatus,omitempty"`
// PostgreSQL status
PostgresStatus string `json:"postgresStatus,omitempty"`
// Connection information
DatabaseConnectionInfo *ConnectionInfo `json:"databaseConnectionInfo,omitempty"`
// Deployment status
Replicas int32 `json:"replicas,omitempty"`
ReadyReplicas int32 `json:"readyReplicas,omitempty"`
// Service information
ServiceEndpoints []ServiceEndpoint `json:"serviceEndpoints,omitempty"`
// Observed generation
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}
MCPMemoryStatus defines the observed state of MCPMemory
func (*MCPMemoryStatus) DeepCopy ¶
func (in *MCPMemoryStatus) DeepCopy() *MCPMemoryStatus
func (*MCPMemoryStatus) DeepCopyInto ¶
func (in *MCPMemoryStatus) DeepCopyInto(out *MCPMemoryStatus)
type MCPPostgres ¶
type MCPPostgres struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec MCPPostgresSpec `json:"spec,omitempty"`
Status MCPPostgresStatus `json:"status,omitempty"`
}
MCPPostgres represents a PostgreSQL database deployment for MCP services +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:shortName=mcppg +kubebuilder:printcolumn:name="Phase",type="string",JSONPath=".status.phase" +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.readyReplicas" +kubebuilder:printcolumn:name="Database",type="string",JSONPath=".spec.database" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"
func (*MCPPostgres) DeepCopy ¶
func (in *MCPPostgres) DeepCopy() *MCPPostgres
DeepCopy is an auto-generated deepcopy function, copying the receiver, creating a new MCPPostgres
func (*MCPPostgres) DeepCopyInto ¶
func (in *MCPPostgres) DeepCopyInto(out *MCPPostgres)
DeepCopyInto is an auto-generated deepcopy function, copying the receiver, writing into out
func (*MCPPostgres) DeepCopyObject ¶
func (in *MCPPostgres) DeepCopyObject() runtime.Object
DeepCopyObject is an auto-generated deepcopy function, copying the receiver, creating a new runtime.Object
func (*MCPPostgres) GroupVersionKind ¶
func (m *MCPPostgres) GroupVersionKind() schema.GroupVersionKind
GroupVersionKind returns the GroupVersionKind for MCPPostgres
type MCPPostgresList ¶
type MCPPostgresList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []MCPPostgres `json:"items"`
}
MCPPostgresList contains a list of MCPPostgres resources +kubebuilder:object:root=true +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*MCPPostgresList) DeepCopy ¶
func (in *MCPPostgresList) DeepCopy() *MCPPostgresList
DeepCopy is an auto-generated deepcopy function, copying the receiver, creating a new MCPPostgresList
func (*MCPPostgresList) DeepCopyInto ¶
func (in *MCPPostgresList) DeepCopyInto(out *MCPPostgresList)
DeepCopyInto is an auto-generated deepcopy function, copying the receiver, writing into out
func (*MCPPostgresList) DeepCopyObject ¶
func (in *MCPPostgresList) DeepCopyObject() runtime.Object
DeepCopyObject is an auto-generated deepcopy function, copying the receiver, creating a new runtime.Object
type MCPPostgresSpec ¶
type MCPPostgresSpec struct {
// Database configuration
Database string `json:"database,omitempty"`
User string `json:"user,omitempty"`
Password string `json:"password,omitempty"`
Port int32 `json:"port,omitempty"`
// Storage configuration
StorageSize string `json:"storageSize,omitempty"`
StorageClassName string `json:"storageClassName,omitempty"`
// Resource configuration
Resources *ResourceRequirements `json:"resources,omitempty"`
// PostgreSQL version
Version string `json:"version,omitempty"`
// Additional PostgreSQL configuration
PostgresConfig map[string]string `json:"postgresConfig,omitempty"`
// Security configuration
SecurityContext *SecurityConfig `json:"securityContext,omitempty"`
// High availability settings
Replicas int32 `json:"replicas,omitempty"`
// Backup configuration
BackupConfig *PostgresBackupConfig `json:"backupConfig,omitempty"`
}
MCPPostgresSpec defines the desired state of MCPPostgres
func (*MCPPostgresSpec) DeepCopy ¶
func (in *MCPPostgresSpec) DeepCopy() *MCPPostgresSpec
DeepCopy is an auto-generated deepcopy function, copying the receiver, creating a new MCPPostgresSpec
func (*MCPPostgresSpec) DeepCopyInto ¶
func (in *MCPPostgresSpec) DeepCopyInto(out *MCPPostgresSpec)
DeepCopyInto is an auto-generated deepcopy function, copying the receiver, writing into out
type MCPPostgresStatus ¶
type MCPPostgresStatus struct {
// Phase indicates the current phase of the PostgreSQL deployment
Phase PostgresPhase `json:"phase,omitempty"`
// Ready replicas count
ReadyReplicas int32 `json:"readyReplicas,omitempty"`
// Total replicas count
Replicas int32 `json:"replicas,omitempty"`
// Database connection status
DatabaseReady bool `json:"databaseReady,omitempty"`
DatabaseError string `json:"databaseError,omitempty"`
// Service endpoint information
ServiceEndpoint string `json:"serviceEndpoint,omitempty"`
ServicePort int32 `json:"servicePort,omitempty"`
// Storage information
StorageStatus string `json:"storageStatus,omitempty"`
StorageSize string `json:"storageSize,omitempty"`
// Backup status
LastBackup *metav1.Time `json:"lastBackup,omitempty"`
BackupStatus string `json:"backupStatus,omitempty"`
NextBackup *metav1.Time `json:"nextBackup,omitempty"`
// Conditions represent the latest available observations
Conditions []PostgresCondition `json:"conditions,omitempty"`
// Database statistics
Stats *PostgresStats `json:"stats,omitempty"`
// Observed generation
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}
MCPPostgresStatus defines the observed state of MCPPostgres
func (*MCPPostgresStatus) DeepCopy ¶
func (in *MCPPostgresStatus) DeepCopy() *MCPPostgresStatus
DeepCopy is an auto-generated deepcopy function, copying the receiver, creating a new MCPPostgresStatus
func (*MCPPostgresStatus) DeepCopyInto ¶
func (in *MCPPostgresStatus) DeepCopyInto(out *MCPPostgresStatus)
DeepCopyInto is an auto-generated deepcopy function, copying the receiver, writing into out
type MCPProxy ¶
type MCPProxy struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec MCPProxySpec `json:"spec,omitempty"`
Status MCPProxyStatus `json:"status,omitempty"`
}
MCPProxy represents an MCP proxy deployment that manages routing and service discovery +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:shortName=mcpproxy +kubebuilder:printcolumn:name="Phase",type="string",JSONPath=".status.phase" +kubebuilder:printcolumn:name="Servers",type="integer",JSONPath=".status.discoveredServers" +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.readyReplicas" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"
func (*MCPProxy) DeepCopyInto ¶
func (*MCPProxy) DeepCopyObject ¶
func (*MCPProxy) GroupVersionKind ¶
func (m *MCPProxy) GroupVersionKind() schema.GroupVersionKind
GroupVersionKind returns the GroupVersionKind for MCPProxy
type MCPProxyCondition ¶
type MCPProxyCondition struct {
// Type of MCPProxy condition
Type MCPProxyConditionType `json:"type"`
// Status of the condition, one of True, False, Unknown
Status metav1.ConditionStatus `json:"status"`
// Last time the condition transitioned from one status to another
LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
// The reason for the condition's last transition
Reason string `json:"reason,omitempty"`
// A human readable message indicating details about the transition
Message string `json:"message,omitempty"`
}
MCPProxyCondition describes the state of an MCPProxy at a certain point
func (*MCPProxyCondition) DeepCopy ¶
func (in *MCPProxyCondition) DeepCopy() *MCPProxyCondition
func (*MCPProxyCondition) DeepCopyInto ¶
func (in *MCPProxyCondition) DeepCopyInto(out *MCPProxyCondition)
type MCPProxyConditionType ¶
type MCPProxyConditionType string
MCPProxyConditionType represents a MCPProxy condition value
const ( // MCPProxyConditionReady indicates whether the proxy is ready to serve requests MCPProxyConditionReady MCPProxyConditionType = "Ready" // MCPProxyConditionHealthy indicates whether the proxy is healthy MCPProxyConditionHealthy MCPProxyConditionType = "Healthy" // MCPProxyConditionServersDiscovered indicates whether servers have been discovered MCPProxyConditionServersDiscovered MCPProxyConditionType = "ServersDiscovered" )
type MCPProxyList ¶
type MCPProxyList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []MCPProxy `json:"items"`
}
MCPProxyList contains a list of MCPProxy +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*MCPProxyList) DeepCopy ¶
func (in *MCPProxyList) DeepCopy() *MCPProxyList
func (*MCPProxyList) DeepCopyInto ¶
func (in *MCPProxyList) DeepCopyInto(out *MCPProxyList)
func (*MCPProxyList) DeepCopyObject ¶
func (in *MCPProxyList) DeepCopyObject() runtime.Object
func (*MCPProxyList) GroupVersionKind ¶
func (m *MCPProxyList) GroupVersionKind() schema.GroupVersionKind
GroupVersionKind returns the GroupVersionKind for MCPProxyList
type MCPProxyPhase ¶
type MCPProxyPhase string
MCPProxyPhase represents the phase of an MCPProxy
const ( MCPProxyPhasePending MCPProxyPhase = "Pending" MCPProxyPhaseCreating MCPProxyPhase = "Creating" MCPProxyPhaseStarting MCPProxyPhase = "Starting" MCPProxyPhaseRunning MCPProxyPhase = "Running" MCPProxyPhaseFailed MCPProxyPhase = "Failed" MCPProxyPhaseTerminating MCPProxyPhase = "Terminating" )
type MCPProxySpec ¶
type MCPProxySpec struct {
// Server discovery configuration
ServerSelector *ServerSelector `json:"serverSelector,omitempty"`
// Proxy configuration
Port int32 `json:"port,omitempty"`
Host string `json:"host,omitempty"`
// Authentication configuration
Auth *ProxyAuthConfig `json:"auth,omitempty"`
OAuth *OAuthConfig `json:"oauth,omitempty"`
RBAC *RBACConfig `json:"rbac,omitempty"`
// Connection management
Connections *ConnectionConfig `json:"connections,omitempty"`
// Ingress configuration
Ingress *IngressConfig `json:"ingress,omitempty"`
// Monitoring and observability
Monitoring *MonitoringConfig `json:"monitoring,omitempty"`
// Audit configuration
Audit *AuditConfig `json:"audit,omitempty"`
// Dashboard configuration
Dashboard *DashboardConfig `json:"dashboard,omitempty"`
// TLS configuration
TLS *TLSConfig `json:"tls,omitempty"`
// Resource requirements for the proxy
Resources ResourceRequirements `json:"resources,omitempty"`
// Deployment configuration
Replicas *int32 `json:"replicas,omitempty"`
NodeSelector map[string]string `json:"nodeSelector,omitempty"`
Tolerations []Toleration `json:"tolerations,omitempty"`
Affinity *Affinity `json:"affinity,omitempty"`
// Service configuration
ServiceType string `json:"serviceType,omitempty"`
ServiceAnnotations map[string]string `json:"serviceAnnotations,omitempty"`
// Kubernetes-specific configuration
ServiceAccount string `json:"serviceAccount,omitempty"`
ImagePullSecrets []string `json:"imagePullSecrets,omitempty"`
PodAnnotations map[string]string `json:"podAnnotations,omitempty"`
Labels map[string]string `json:"labels,omitempty"`
}
MCPProxySpec defines the desired state of MCPProxy
func (*MCPProxySpec) DeepCopy ¶
func (in *MCPProxySpec) DeepCopy() *MCPProxySpec
func (*MCPProxySpec) DeepCopyInto ¶
func (in *MCPProxySpec) DeepCopyInto(out *MCPProxySpec)
type MCPProxyStatus ¶
type MCPProxyStatus struct {
// Phase represents the current phase of the MCPProxy
Phase MCPProxyPhase `json:"phase,omitempty"`
// Conditions represent the latest available observations of an object's state
Conditions []MCPProxyCondition `json:"conditions,omitempty"`
// Discovered servers
DiscoveredServers []DiscoveredServer `json:"discoveredServers,omitempty"`
// Endpoints exposed by the proxy
Endpoints []ProxyEndpoint `json:"endpoints,omitempty"`
// Connection statistics
ConnectionStats *ConnectionStats `json:"connectionStats,omitempty"`
// Health status
HealthStatus string `json:"healthStatus,omitempty"`
// Deployment status
Replicas int32 `json:"replicas,omitempty"`
ReadyReplicas int32 `json:"readyReplicas,omitempty"`
// Service information
ServiceEndpoints []ServiceEndpoint `json:"serviceEndpoints,omitempty"`
// Ingress information
IngressEndpoints []IngressEndpoint `json:"ingressEndpoints,omitempty"`
// Observed generation
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}
MCPProxyStatus defines the observed state of MCPProxy
func (*MCPProxyStatus) DeepCopy ¶
func (in *MCPProxyStatus) DeepCopy() *MCPProxyStatus
func (*MCPProxyStatus) DeepCopyInto ¶
func (in *MCPProxyStatus) DeepCopyInto(out *MCPProxyStatus)
type MCPServer ¶
type MCPServer struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec MCPServerSpec `json:"spec,omitempty"`
Status MCPServerStatus `json:"status,omitempty"`
}
MCPServer represents an MCP server deployment +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:shortName=mcpsrv +kubebuilder:printcolumn:name="Phase",type="string",JSONPath=".status.phase" +kubebuilder:printcolumn:name="Protocol",type="string",JSONPath=".spec.protocol" +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.readyReplicas" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"
func (*MCPServer) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPServer.
func (*MCPServer) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MCPServer) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*MCPServer) GroupVersionKind ¶
func (m *MCPServer) GroupVersionKind() schema.GroupVersionKind
GroupVersionKind returns the GroupVersionKind for MCPServer
type MCPServerCondition ¶
type MCPServerCondition struct {
// Type of MCPServer condition
Type MCPServerConditionType `json:"type"`
// Status of the condition, one of True, False, Unknown
Status metav1.ConditionStatus `json:"status"`
// Last time the condition transitioned from one status to another
LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
// The reason for the condition's last transition
Reason string `json:"reason,omitempty"`
// A human readable message indicating details about the transition
Message string `json:"message,omitempty"`
}
MCPServerCondition describes the state of an MCPServer at a certain point
func (*MCPServerCondition) DeepCopy ¶
func (in *MCPServerCondition) DeepCopy() *MCPServerCondition
func (*MCPServerCondition) DeepCopyInto ¶
func (in *MCPServerCondition) DeepCopyInto(out *MCPServerCondition)
type MCPServerConditionType ¶
type MCPServerConditionType string
MCPServerConditionType represents a MCPServer condition value
const ( // MCPServerConditionReady indicates whether the server is ready to serve requests MCPServerConditionReady MCPServerConditionType = "Ready" // MCPServerConditionHealthy indicates whether the server is healthy MCPServerConditionHealthy MCPServerConditionType = "Healthy" // MCPServerConditionDependenciesReady indicates whether all dependencies are ready MCPServerConditionDependenciesReady MCPServerConditionType = "DependenciesReady" )
type MCPServerList ¶
type MCPServerList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []MCPServer `json:"items"`
}
MCPServerList contains a list of MCPServer +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*MCPServerList) DeepCopy ¶
func (in *MCPServerList) DeepCopy() *MCPServerList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPServerList.
func (*MCPServerList) DeepCopyInto ¶
func (in *MCPServerList) DeepCopyInto(out *MCPServerList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MCPServerList) DeepCopyObject ¶
func (in *MCPServerList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*MCPServerList) GroupVersionKind ¶
func (m *MCPServerList) GroupVersionKind() schema.GroupVersionKind
GroupVersionKind returns the GroupVersionKind for MCPServerList
type MCPServerPhase ¶
type MCPServerPhase string
MCPServerPhase represents the phase of an MCPServer
const ( MCPServerPhasePending MCPServerPhase = "Pending" MCPServerPhaseCreating MCPServerPhase = "Creating" MCPServerPhaseStarting MCPServerPhase = "Starting" MCPServerPhaseRunning MCPServerPhase = "Running" MCPServerPhaseFailed MCPServerPhase = "Failed" MCPServerPhaseTerminating MCPServerPhase = "Terminating" )
type MCPServerSpec ¶
type MCPServerSpec struct {
// Container configuration
Image string `json:"image,omitempty"`
Command []string `json:"command,omitempty"`
Args []string `json:"args,omitempty"`
Env map[string]string `json:"env,omitempty"`
WorkingDir string `json:"workingDir,omitempty"`
// MCP-specific configuration
Protocol string `json:"protocol,omitempty"` // "http", "sse", "stdio"
HttpPort int32 `json:"httpPort,omitempty"`
HttpPath string `json:"httpPath,omitempty"`
SSEPath string `json:"ssePath,omitempty"`
SSEPort int32 `json:"ssePort,omitempty"`
SSEHeartbeat int32 `json:"sseHeartbeat,omitempty"`
Capabilities []string `json:"capabilities,omitempty"`
// Dependencies and relationships
DependsOn []string `json:"dependsOn,omitempty"`
// Resource requirements
Resources ResourceRequirements `json:"resources,omitempty"`
// Security configuration
Authentication *AuthenticationConfig `json:"authentication,omitempty"`
Security *SecurityConfig `json:"security,omitempty"`
// Deployment configuration
Replicas *int32 `json:"replicas,omitempty"`
NodeSelector map[string]string `json:"nodeSelector,omitempty"`
Tolerations []Toleration `json:"tolerations,omitempty"`
Affinity *Affinity `json:"affinity,omitempty"`
// Service configuration
ServiceType string `json:"serviceType,omitempty"` // ClusterIP, NodePort, LoadBalancer
ServiceAnnotations map[string]string `json:"serviceAnnotations,omitempty"`
// Storage configuration
Volumes []VolumeSpec `json:"volumes,omitempty"`
StorageClass string `json:"storageClass,omitempty"`
// Kubernetes-specific configuration
ServiceAccount string `json:"serviceAccount,omitempty"`
ImagePullSecrets []string `json:"imagePullSecrets,omitempty"`
PodAnnotations map[string]string `json:"podAnnotations,omitempty"`
Labels map[string]string `json:"labels,omitempty"`
// Service discovery configuration
ServiceDiscovery ServiceDiscoveryConfig `json:"serviceDiscovery,omitempty"`
}
MCPServerSpec defines the desired state of MCPServer
func (*MCPServerSpec) DeepCopy ¶
func (in *MCPServerSpec) DeepCopy() *MCPServerSpec
func (*MCPServerSpec) DeepCopyInto ¶
func (in *MCPServerSpec) DeepCopyInto(out *MCPServerSpec)
type MCPServerStatus ¶
type MCPServerStatus struct {
// Phase represents the current phase of the MCPServer
Phase MCPServerPhase `json:"phase,omitempty"`
// Conditions represent the latest available observations of an object's state
Conditions []MCPServerCondition `json:"conditions,omitempty"`
// Connection information
ConnectionInfo *ConnectionInfo `json:"connectionInfo,omitempty"`
// Health status
HealthStatus string `json:"healthStatus,omitempty"`
// Discovered capabilities
DiscoveredCapabilities []string `json:"discoveredCapabilities,omitempty"`
// Deployment status
Replicas int32 `json:"replicas,omitempty"`
ReadyReplicas int32 `json:"readyReplicas,omitempty"`
// Service information
ServiceEndpoints []ServiceEndpoint `json:"serviceEndpoints,omitempty"`
// Observed generation
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}
MCPServerStatus defines the observed state of MCPServer
func (*MCPServerStatus) DeepCopy ¶
func (in *MCPServerStatus) DeepCopy() *MCPServerStatus
func (*MCPServerStatus) DeepCopyInto ¶
func (in *MCPServerStatus) DeepCopyInto(out *MCPServerStatus)
type MCPTaskScheduler ¶
type MCPTaskScheduler struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec MCPTaskSchedulerSpec `json:"spec,omitempty"`
Status MCPTaskSchedulerStatus `json:"status,omitempty"`
}
MCPTaskScheduler represents a task scheduler deployment +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:shortName=mcpts +kubebuilder:printcolumn:name="Phase",type="string",JSONPath=".status.phase" +kubebuilder:printcolumn:name="Tasks",type="integer",JSONPath=".status.taskStats.runningTasks" +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.readyReplicas" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"
func (*MCPTaskScheduler) DeepCopy ¶
func (in *MCPTaskScheduler) DeepCopy() *MCPTaskScheduler
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPTaskScheduler.
func (*MCPTaskScheduler) DeepCopyInto ¶
func (in *MCPTaskScheduler) DeepCopyInto(out *MCPTaskScheduler)
func (*MCPTaskScheduler) DeepCopyObject ¶
func (in *MCPTaskScheduler) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*MCPTaskScheduler) GroupVersionKind ¶
func (m *MCPTaskScheduler) GroupVersionKind() schema.GroupVersionKind
GroupVersionKind returns the GroupVersionKind for MCPTaskScheduler
type MCPTaskSchedulerCondition ¶
type MCPTaskSchedulerCondition struct {
// Type of MCPTaskScheduler condition
Type MCPTaskSchedulerConditionType `json:"type"`
// Status of the condition, one of True, False, Unknown
Status metav1.ConditionStatus `json:"status"`
// Last time the condition transitioned from one status to another
LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
// The reason for the condition's last transition
Reason string `json:"reason,omitempty"`
// A human readable message indicating details about the transition
Message string `json:"message,omitempty"`
}
MCPTaskSchedulerCondition describes the state of an MCPTaskScheduler at a certain point
func (*MCPTaskSchedulerCondition) DeepCopy ¶
func (in *MCPTaskSchedulerCondition) DeepCopy() *MCPTaskSchedulerCondition
func (*MCPTaskSchedulerCondition) DeepCopyInto ¶
func (in *MCPTaskSchedulerCondition) DeepCopyInto(out *MCPTaskSchedulerCondition)
type MCPTaskSchedulerConditionType ¶
type MCPTaskSchedulerConditionType string
MCPTaskSchedulerConditionType represents a MCPTaskScheduler condition value
const ( // MCPTaskSchedulerConditionReady indicates whether the scheduler is ready to schedule tasks MCPTaskSchedulerConditionReady MCPTaskSchedulerConditionType = "Ready" // MCPTaskSchedulerConditionHealthy indicates whether the scheduler is healthy MCPTaskSchedulerConditionHealthy MCPTaskSchedulerConditionType = "Healthy" // MCPTaskSchedulerConditionDatabaseReady indicates whether the database is ready MCPTaskSchedulerConditionDatabaseReady MCPTaskSchedulerConditionType = "DatabaseReady" // MCPTaskSchedulerConditionLLMConnected indicates whether LLM services are connected MCPTaskSchedulerConditionLLMConnected MCPTaskSchedulerConditionType = "LLMConnected" // MCPTaskSchedulerConditionMCPConnected indicates whether MCP proxy is connected MCPTaskSchedulerConditionMCPConnected MCPTaskSchedulerConditionType = "MCPConnected" )
type MCPTaskSchedulerList ¶
type MCPTaskSchedulerList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []MCPTaskScheduler `json:"items"`
}
MCPTaskSchedulerList contains a list of MCPTaskScheduler +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*MCPTaskSchedulerList) DeepCopy ¶
func (in *MCPTaskSchedulerList) DeepCopy() *MCPTaskSchedulerList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPTaskSchedulerList.
func (*MCPTaskSchedulerList) DeepCopyInto ¶
func (in *MCPTaskSchedulerList) DeepCopyInto(out *MCPTaskSchedulerList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MCPTaskSchedulerList) DeepCopyObject ¶
func (in *MCPTaskSchedulerList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*MCPTaskSchedulerList) GroupVersionKind ¶
func (m *MCPTaskSchedulerList) GroupVersionKind() schema.GroupVersionKind
GroupVersionKind returns the GroupVersionKind for MCPTaskSchedulerList
type MCPTaskSchedulerPhase ¶
type MCPTaskSchedulerPhase string
MCPTaskSchedulerPhase represents the phase of an MCPTaskScheduler
const ( MCPTaskSchedulerPhasePending MCPTaskSchedulerPhase = "Pending" MCPTaskSchedulerPhaseCreating MCPTaskSchedulerPhase = "Creating" MCPTaskSchedulerPhaseStarting MCPTaskSchedulerPhase = "Starting" MCPTaskSchedulerPhaseRunning MCPTaskSchedulerPhase = "Running" MCPTaskSchedulerPhaseFailed MCPTaskSchedulerPhase = "Failed" MCPTaskSchedulerPhaseTerminating MCPTaskSchedulerPhase = "Terminating" MCPTaskSchedulerPhaseUpgrading MCPTaskSchedulerPhase = "Upgrading" )
type MCPTaskSchedulerSpec ¶
type MCPTaskSchedulerSpec struct {
// Container configuration
Image string `json:"image,omitempty"`
Command []string `json:"command,omitempty"`
Args []string `json:"args,omitempty"`
Env map[string]string `json:"env,omitempty"`
WorkingDir string `json:"workingDir,omitempty"`
// Task scheduler specific configuration
Port int32 `json:"port,omitempty"`
Host string `json:"host,omitempty"`
DatabasePath string `json:"databasePath,omitempty"`
DatabaseURL string `json:"databaseURL,omitempty"`
PostgresEnabled bool `json:"postgresEnabled,omitempty"`
LogLevel string `json:"logLevel,omitempty"`
// AI/LLM integration
OpenRouterAPIKey string `json:"openRouterAPIKey,omitempty"`
OpenRouterModel string `json:"openRouterModel,omitempty"`
OllamaURL string `json:"ollamaURL,omitempty"`
OllamaModel string `json:"ollamaModel,omitempty"`
// MCP integration
MCPProxyURL string `json:"mcpProxyURL,omitempty"`
MCPProxyAPIKey string `json:"mcpProxyAPIKey,omitempty"`
// OpenWebUI integration
OpenWebUIEnabled bool `json:"openWebUIEnabled,omitempty"`
// Workspace configuration
Workspace string `json:"workspace,omitempty"`
// Custom volumes
Volumes []string `json:"volumes,omitempty"`
// Resource requirements
Resources ResourceRequirements `json:"resources,omitempty"`
// Security configuration
Security *SecurityConfig `json:"security,omitempty"`
// Deployment configuration
Replicas *int32 `json:"replicas,omitempty"`
NodeSelector map[string]string `json:"nodeSelector,omitempty"`
Tolerations []Toleration `json:"tolerations,omitempty"`
Affinity *Affinity `json:"affinity,omitempty"`
// Service configuration
ServiceType string `json:"serviceType,omitempty"`
ServiceAnnotations map[string]string `json:"serviceAnnotations,omitempty"`
// Storage configuration
StorageClass string `json:"storageClass,omitempty"`
// Kubernetes-specific configuration
ServiceAccount string `json:"serviceAccount,omitempty"`
ImagePullSecrets []string `json:"imagePullSecrets,omitempty"`
PodAnnotations map[string]string `json:"podAnnotations,omitempty"`
Labels map[string]string `json:"labels,omitempty"`
// Scheduling configuration
SchedulerConfig TaskSchedulerConfig `json:"schedulerConfig,omitempty"`
// Workflow management - NEW: Unified workflow capabilities
Tasks []ScheduledTask `json:"tasks,omitempty"`
Workflows []WorkflowDefinition `json:"workflows,omitempty"`
Templates []WorkflowTemplate `json:"templates,omitempty"`
// Global workflow configuration
GlobalRetryPolicy *WorkflowRetryPolicy `json:"globalRetryPolicy,omitempty"`
DependencyTimeout string `json:"dependencyTimeout,omitempty"`
WorkflowHistoryLimit int32 `json:"workflowHistoryLimit,omitempty"`
}
MCPTaskSchedulerSpec defines the desired state of MCPTaskScheduler
func (*MCPTaskSchedulerSpec) DeepCopy ¶
func (in *MCPTaskSchedulerSpec) DeepCopy() *MCPTaskSchedulerSpec
func (*MCPTaskSchedulerSpec) DeepCopyInto ¶
func (in *MCPTaskSchedulerSpec) DeepCopyInto(out *MCPTaskSchedulerSpec)
DeepCopy methods for nested structs
type MCPTaskSchedulerStatus ¶
type MCPTaskSchedulerStatus struct {
// Phase represents the current phase of the MCPTaskScheduler
Phase MCPTaskSchedulerPhase `json:"phase,omitempty"`
// Conditions represent the latest available observations of an object's state
Conditions []MCPTaskSchedulerCondition `json:"conditions,omitempty"`
// Connection information
ConnectionInfo *ConnectionInfo `json:"connectionInfo,omitempty"`
// Health status
HealthStatus string `json:"healthStatus,omitempty"`
// Task statistics
TaskStats TaskStatistics `json:"taskStats,omitempty"`
// Workflow statistics
WorkflowStats WorkflowStatistics `json:"workflowStats,omitempty"`
// Workflow execution history (most recent 10 executions per workflow)
WorkflowExecutions []WorkflowExecution `json:"workflowExecutions,omitempty"`
// Deployment status
Replicas int32 `json:"replicas,omitempty"`
ReadyReplicas int32 `json:"readyReplicas,omitempty"`
// Service information
ServiceEndpoints []ServiceEndpoint `json:"serviceEndpoints,omitempty"`
// Observed generation
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
// Last successful configuration
LastSuccessfulConfig string `json:"lastSuccessfulConfig,omitempty"`
}
MCPTaskSchedulerStatus defines the observed state of MCPTaskScheduler
func (*MCPTaskSchedulerStatus) DeepCopy ¶
func (in *MCPTaskSchedulerStatus) DeepCopy() *MCPTaskSchedulerStatus
func (*MCPTaskSchedulerStatus) DeepCopyInto ¶
func (in *MCPTaskSchedulerStatus) DeepCopyInto(out *MCPTaskSchedulerStatus)
type MCPToolbox ¶
type MCPToolbox struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec MCPToolboxSpec `json:"spec,omitempty"`
Status MCPToolboxStatus `json:"status,omitempty"`
}
MCPToolbox represents a collection of MCP servers working together as a cohesive AI workflow +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:shortName=toolbox +kubebuilder:printcolumn:name="Template",type="string",JSONPath=".spec.template" +kubebuilder:printcolumn:name="Phase",type="string",JSONPath=".status.phase" +kubebuilder:printcolumn:name="Servers",type="integer",JSONPath=".status.serverCount" +kubebuilder:printcolumn:name="Ready",type="integer",JSONPath=".status.readyServers" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"
func (*MCPToolbox) DeepCopy ¶
func (in *MCPToolbox) DeepCopy() *MCPToolbox
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPToolbox.
func (*MCPToolbox) DeepCopyInto ¶
func (in *MCPToolbox) DeepCopyInto(out *MCPToolbox)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MCPToolbox) DeepCopyObject ¶
func (in *MCPToolbox) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*MCPToolbox) GroupVersionKind ¶
func (m *MCPToolbox) GroupVersionKind() schema.GroupVersionKind
GroupVersionKind returns the GroupVersionKind for MCPToolbox
type MCPToolboxCondition ¶
type MCPToolboxCondition struct {
// Type of MCPToolbox condition
Type MCPToolboxConditionType `json:"type"`
// Status of the condition, one of True, False, Unknown
Status metav1.ConditionStatus `json:"status"`
// Last time the condition transitioned from one status to another
LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
// The reason for the condition's last transition
Reason string `json:"reason,omitempty"`
// A human readable message indicating details about the transition
Message string `json:"message,omitempty"`
}
MCPToolboxCondition describes the state of a MCPToolbox at a certain point
func (*MCPToolboxCondition) DeepCopy ¶
func (in *MCPToolboxCondition) DeepCopy() *MCPToolboxCondition
func (*MCPToolboxCondition) DeepCopyInto ¶
func (in *MCPToolboxCondition) DeepCopyInto(out *MCPToolboxCondition)
type MCPToolboxConditionType ¶
type MCPToolboxConditionType string
MCPToolboxConditionType represents a MCPToolbox condition value
const ( // MCPToolboxConditionReady indicates whether the toolbox is ready to serve requests MCPToolboxConditionReady MCPToolboxConditionType = "Ready" // MCPToolboxConditionServersReady indicates whether all servers are ready MCPToolboxConditionServersReady MCPToolboxConditionType = "ServersReady" // MCPToolboxConditionDependenciesReady indicates whether all dependencies are satisfied MCPToolboxConditionDependenciesReady MCPToolboxConditionType = "DependenciesReady" // MCPToolboxConditionHealthy indicates whether the toolbox is healthy MCPToolboxConditionHealthy MCPToolboxConditionType = "Healthy" )
type MCPToolboxList ¶
type MCPToolboxList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []MCPToolbox `json:"items"`
}
MCPToolboxList contains a list of MCPToolbox +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*MCPToolboxList) DeepCopy ¶
func (in *MCPToolboxList) DeepCopy() *MCPToolboxList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPToolboxList.
func (*MCPToolboxList) DeepCopyInto ¶
func (in *MCPToolboxList) DeepCopyInto(out *MCPToolboxList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MCPToolboxList) DeepCopyObject ¶
func (in *MCPToolboxList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*MCPToolboxList) GroupVersionKind ¶
func (m *MCPToolboxList) GroupVersionKind() schema.GroupVersionKind
GroupVersionKind returns the GroupVersionKind for MCPToolboxList
type MCPToolboxPhase ¶
type MCPToolboxPhase string
MCPToolboxPhase represents the phase of a MCPToolbox
const ( MCPToolboxPhasePending MCPToolboxPhase = "Pending" MCPToolboxPhaseCreating MCPToolboxPhase = "Creating" MCPToolboxPhaseStarting MCPToolboxPhase = "Starting" MCPToolboxPhaseRunning MCPToolboxPhase = "Running" MCPToolboxPhaseDegraded MCPToolboxPhase = "Degraded" MCPToolboxPhaseFailed MCPToolboxPhase = "Failed" MCPToolboxPhaseTerminating MCPToolboxPhase = "Terminating" )
type MCPToolboxSpec ¶
type MCPToolboxSpec struct {
// Template defines the pre-built toolbox configuration to use
// Examples: "coding-assistant", "rag-stack", "research-agent", "content-creator"
Template string `json:"template,omitempty"`
// Description provides a human-readable description of this toolbox
Description string `json:"description,omitempty"`
// Servers defines the MCP servers to include in this toolbox
Servers map[string]ToolboxServerSpec `json:"servers,omitempty"`
// Dependencies defines the startup order and health dependencies between servers
Dependencies []ToolboxDependency `json:"dependencies,omitempty"`
// Collaboration defines team access and sharing settings
Collaboration *CollaborationConfig `json:"collaboration,omitempty"`
// OAuth defines OAuth client integration for this toolbox
OAuth *ToolboxOAuthConfig `json:"oauth,omitempty"`
// Resources defines toolbox-level resource limits and requests
Resources *ToolboxResourceConfig `json:"resources,omitempty"`
// Security defines toolbox-wide security settings
Security *ToolboxSecurityConfig `json:"security,omitempty"`
// Monitoring defines observability and alerting configuration
Monitoring *ToolboxMonitoringConfig `json:"monitoring,omitempty"`
// Networking defines how servers communicate within the toolbox
Networking *ToolboxNetworkingConfig `json:"networking,omitempty"`
// Persistence defines shared storage and data persistence
Persistence *ToolboxPersistenceConfig `json:"persistence,omitempty"`
// AutoScaling defines automatic scaling behavior for the toolbox
AutoScaling *ToolboxAutoScalingConfig `json:"autoScaling,omitempty"`
}
MCPToolboxSpec defines the desired state of MCPToolbox
func (*MCPToolboxSpec) DeepCopy ¶
func (in *MCPToolboxSpec) DeepCopy() *MCPToolboxSpec
func (*MCPToolboxSpec) DeepCopyInto ¶
func (in *MCPToolboxSpec) DeepCopyInto(out *MCPToolboxSpec)
Implement DeepCopy methods for all nested structs
type MCPToolboxStatus ¶
type MCPToolboxStatus struct {
// Phase represents the current phase of the MCPToolbox
Phase MCPToolboxPhase `json:"phase,omitempty"`
// Conditions represent the latest available observations of the toolbox's state
Conditions []MCPToolboxCondition `json:"conditions,omitempty"`
// ServerCount represents the total number of servers in the toolbox
ServerCount int32 `json:"serverCount,omitempty"`
// ReadyServers represents the number of servers that are ready
ReadyServers int32 `json:"readyServers,omitempty"`
// ServerStatuses provides status for each server in the toolbox
ServerStatuses map[string]ToolboxServerStatus `json:"serverStatuses,omitempty"`
// ConnectionInfo provides connection details for accessing the toolbox
ConnectionInfo *ToolboxConnectionInfo `json:"connectionInfo,omitempty"`
// ResourceUsage provides current resource usage across all servers
ResourceUsage *ToolboxResourceUsage `json:"resourceUsage,omitempty"`
// LastReconcileTime represents when the toolbox was last reconciled
LastReconcileTime metav1.Time `json:"lastReconcileTime,omitempty"`
// ObservedGeneration represents the generation observed by the controller
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}
MCPToolboxStatus defines the observed state of MCPToolbox
func (*MCPToolboxStatus) DeepCopy ¶
func (in *MCPToolboxStatus) DeepCopy() *MCPToolboxStatus
func (*MCPToolboxStatus) DeepCopyInto ¶
func (in *MCPToolboxStatus) DeepCopyInto(out *MCPToolboxStatus)
type MonitoringConfig ¶
type MonitoringConfig struct {
Enabled bool `json:"enabled,omitempty"`
Port int32 `json:"port,omitempty"`
Path string `json:"path,omitempty"`
}
MonitoringConfig defines monitoring configuration
type NetworkPolicyConfig ¶
type NetworkPolicyConfig struct {
// Enabled controls whether network policies are applied
Enabled bool `json:"enabled,omitempty"`
// AllowInbound defines allowed inbound traffic rules
AllowInbound []NetworkPolicyRule `json:"allowInbound,omitempty"`
// AllowOutbound defines allowed outbound traffic rules
AllowOutbound []NetworkPolicyRule `json:"allowOutbound,omitempty"`
// IsolationMode defines the level of network isolation
IsolationMode string `json:"isolationMode,omitempty"` // "strict", "moderate", "permissive"
}
NetworkPolicyConfig defines network isolation settings
func (*NetworkPolicyConfig) DeepCopy ¶
func (in *NetworkPolicyConfig) DeepCopy() *NetworkPolicyConfig
func (*NetworkPolicyConfig) DeepCopyInto ¶
func (in *NetworkPolicyConfig) DeepCopyInto(out *NetworkPolicyConfig)
type NetworkPolicyPeer ¶
type NetworkPolicyPeer struct {
// PodSelector selects pods by label
PodSelector *metav1.LabelSelector `json:"podSelector,omitempty"`
// NamespaceSelector selects namespaces by label
NamespaceSelector *metav1.LabelSelector `json:"namespaceSelector,omitempty"`
// IPBlock defines an IP block
IPBlock *IPBlock `json:"ipBlock,omitempty"`
}
NetworkPolicyPeer defines a network policy peer
func (*NetworkPolicyPeer) DeepCopy ¶
func (in *NetworkPolicyPeer) DeepCopy() *NetworkPolicyPeer
func (*NetworkPolicyPeer) DeepCopyInto ¶
func (in *NetworkPolicyPeer) DeepCopyInto(out *NetworkPolicyPeer)
type NetworkPolicyPort ¶
type NetworkPolicyPort struct {
// Protocol defines the protocol (TCP, UDP, SCTP)
Protocol string `json:"protocol,omitempty"`
// Port defines the port number or name
Port string `json:"port,omitempty"`
}
NetworkPolicyPort defines a network policy port
type NetworkPolicyRule ¶
type NetworkPolicyRule struct {
// From defines the source of allowed traffic
From []NetworkPolicyPeer `json:"from,omitempty"`
// To defines the destination of allowed traffic
To []NetworkPolicyPeer `json:"to,omitempty"`
// Ports defines the allowed ports
Ports []NetworkPolicyPort `json:"ports,omitempty"`
}
NetworkPolicyRule defines a network policy rule
func (*NetworkPolicyRule) DeepCopy ¶
func (in *NetworkPolicyRule) DeepCopy() *NetworkPolicyRule
func (*NetworkPolicyRule) DeepCopyInto ¶
func (in *NetworkPolicyRule) DeepCopyInto(out *NetworkPolicyRule)
type NodeAffinity ¶
type NodeAffinity struct {
RequiredDuringSchedulingIgnoredDuringExecution *NodeSelector `json:"requiredDuringSchedulingIgnoredDuringExecution,omitempty"`
PreferredDuringSchedulingIgnoredDuringExecution []PreferredSchedulingTerm `json:"preferredDuringSchedulingIgnoredDuringExecution,omitempty"`
}
NodeAffinity represents Kubernetes node affinity
type NodeSelector ¶
type NodeSelector struct {
NodeSelectorTerms []NodeSelectorTerm `json:"nodeSelectorTerms,omitempty"`
}
NodeSelector represents a Kubernetes node selector
type NodeSelectorRequirement ¶
type NodeSelectorRequirement struct {
Key string `json:"key"`
Operator string `json:"operator"`
Values []string `json:"values,omitempty"`
}
NodeSelectorRequirement represents a Kubernetes node selector requirement
type NodeSelectorTerm ¶
type NodeSelectorTerm struct {
MatchExpressions []NodeSelectorRequirement `json:"matchExpressions,omitempty"`
MatchFields []NodeSelectorRequirement `json:"matchFields,omitempty"`
}
NodeSelectorTerm represents a Kubernetes node selector term
type OAuthConfig ¶
type OAuthConfig struct {
Enabled bool `json:"enabled,omitempty"`
Issuer string `json:"issuer,omitempty"`
Endpoints OAuthEndpoints `json:"endpoints,omitempty"`
Tokens TokenConfig `json:"tokens,omitempty"`
Security OAuthSecurityConfig `json:"security,omitempty"`
GrantTypes []string `json:"grantTypes,omitempty"`
ResponseTypes []string `json:"responseTypes,omitempty"`
ScopesSupported []string `json:"scopesSupported,omitempty"`
}
OAuthConfig defines OAuth 2.1 configuration
type OAuthEndpoints ¶
type OAuthEndpoints struct {
Authorization string `json:"authorization,omitempty"`
Token string `json:"token,omitempty"`
UserInfo string `json:"userinfo,omitempty"`
Revoke string `json:"revoke,omitempty"`
Discovery string `json:"discovery,omitempty"`
}
OAuthEndpoints defines OAuth endpoint configuration
type OAuthSecurityConfig ¶
type OAuthSecurityConfig struct {
RequirePKCE bool `json:"requirePKCE,omitempty"`
}
OAuthSecurityConfig defines OAuth security configuration
type PodAffinity ¶
type PodAffinity struct {
RequiredDuringSchedulingIgnoredDuringExecution []PodAffinityTerm `json:"requiredDuringSchedulingIgnoredDuringExecution,omitempty"`
PreferredDuringSchedulingIgnoredDuringExecution []WeightedPodAffinityTerm `json:"preferredDuringSchedulingIgnoredDuringExecution,omitempty"`
}
PodAffinity represents Kubernetes pod affinity/anti-affinity
type PodAffinityTerm ¶
type PodAffinityTerm struct {
LabelSelector *LabelSelector `json:"labelSelector,omitempty"`
Namespaces []string `json:"namespaces,omitempty"`
TopologyKey string `json:"topologyKey"`
}
PodAffinityTerm represents a Kubernetes pod affinity term
type PostgresBackupConfig ¶
type PostgresBackupConfig struct {
Enabled bool `json:"enabled,omitempty"`
Schedule string `json:"schedule,omitempty"`
Retention string `json:"retention,omitempty"`
Location string `json:"location,omitempty"`
}
PostgresBackupConfig defines backup settings
func (*PostgresBackupConfig) DeepCopy ¶
func (in *PostgresBackupConfig) DeepCopy() *PostgresBackupConfig
DeepCopy is an auto-generated deepcopy function, copying the receiver, creating a new PostgresBackupConfig
func (*PostgresBackupConfig) DeepCopyInto ¶
func (in *PostgresBackupConfig) DeepCopyInto(out *PostgresBackupConfig)
DeepCopyInto is an auto-generated deepcopy function, copying the receiver, writing into out
type PostgresCondition ¶
type PostgresCondition struct {
Type PostgresConditionType `json:"type"`
Status metav1.ConditionStatus `json:"status"`
LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
Reason string `json:"reason,omitempty"`
Message string `json:"message,omitempty"`
}
PostgresCondition describes the state of a PostgreSQL deployment at a certain point
func (*PostgresCondition) DeepCopy ¶
func (in *PostgresCondition) DeepCopy() *PostgresCondition
DeepCopy is an auto-generated deepcopy function, copying the receiver, creating a new PostgresCondition
func (*PostgresCondition) DeepCopyInto ¶
func (in *PostgresCondition) DeepCopyInto(out *PostgresCondition)
DeepCopyInto is an auto-generated deepcopy function, copying the receiver, writing into out
type PostgresConditionType ¶
type PostgresConditionType string
PostgresConditionType represents the type of condition
const ( PostgresConditionReady PostgresConditionType = "Ready" PostgresConditionDatabaseReady PostgresConditionType = "DatabaseReady" PostgresConditionStorageReady PostgresConditionType = "StorageReady" PostgresConditionBackupReady PostgresConditionType = "BackupReady" PostgresConditionProgressing PostgresConditionType = "Progressing" )
type PostgresPhase ¶
type PostgresPhase string
PostgresPhase represents the phase of PostgreSQL deployment
const ( PostgresPhasePending PostgresPhase = "Pending" PostgresPhaseCreating PostgresPhase = "Creating" PostgresPhaseRunning PostgresPhase = "Running" PostgresPhaseUpdating PostgresPhase = "Updating" PostgresPhaseDegraded PostgresPhase = "Degraded" PostgresPhaseTerminating PostgresPhase = "Terminating" PostgresPhaseFailed PostgresPhase = "Failed" )
type PostgresStats ¶
type PostgresStats struct {
DatabaseSize string `json:"databaseSize,omitempty"`
TableCount int32 `json:"tableCount,omitempty"`
ConnectionCount int32 `json:"connectionCount,omitempty"`
Databases map[string]string `json:"databases,omitempty"`
Extensions []string `json:"extensions,omitempty"`
LastStatsUpdate *metav1.Time `json:"lastStatsUpdate,omitempty"`
}
PostgresStats contains database statistics
func (*PostgresStats) DeepCopy ¶
func (in *PostgresStats) DeepCopy() *PostgresStats
DeepCopy is an auto-generated deepcopy function, copying the receiver, creating a new PostgresStats
func (*PostgresStats) DeepCopyInto ¶
func (in *PostgresStats) DeepCopyInto(out *PostgresStats)
DeepCopyInto is an auto-generated deepcopy function, copying the receiver, writing into out
type PreferredSchedulingTerm ¶
type PreferredSchedulingTerm struct {
Weight int32 `json:"weight"`
Preference NodeSelector `json:"preference"`
}
PreferredSchedulingTerm represents a Kubernetes preferred scheduling term
type ProxyAuthConfig ¶
type ProxyAuthConfig struct {
Enabled bool `json:"enabled,omitempty"`
APIKey string `json:"apiKey,omitempty"`
OAuthFallback bool `json:"oauthFallback,omitempty"`
}
ProxyAuthConfig defines authentication settings for the proxy
type ProxyEndpoint ¶
type ProxyEndpoint struct {
Name string `json:"name,omitempty"`
URL string `json:"url,omitempty"`
Protocol string `json:"protocol,omitempty"`
Port int32 `json:"port,omitempty"`
}
ProxyEndpoint represents an endpoint exposed by the proxy
type RBACConfig ¶
type RBACConfig struct {
Enabled bool `json:"enabled,omitempty"`
Scopes []Scope `json:"scopes,omitempty"`
Roles map[string]Role `json:"roles,omitempty"`
}
RBACConfig defines RBAC configuration
type ResourceList ¶
ResourceList is a set of (resource name, quantity) pairs
type ResourceRequirements ¶
type ResourceRequirements struct {
Limits ResourceList `json:"limits,omitempty"`
Requests ResourceList `json:"requests,omitempty"`
}
ResourceRequirements describes the compute resource requirements
func (*ResourceRequirements) DeepCopy ¶
func (in *ResourceRequirements) DeepCopy() *ResourceRequirements
func (*ResourceRequirements) DeepCopyInto ¶
func (in *ResourceRequirements) DeepCopyInto(out *ResourceRequirements)
type RetentionConfig ¶
type RetentionConfig struct {
MaxEntries int `json:"maxEntries,omitempty"`
MaxAge string `json:"maxAge,omitempty"`
}
RetentionConfig defines retention configuration
type Role ¶
type Role struct {
Scopes []string `json:"scopes,omitempty"`
Servers []string `json:"servers,omitempty"`
}
Role defines a role with permissions
type ScalingPolicy ¶
type ScalingPolicy struct {
// StabilizationWindowSeconds defines the stabilization window
StabilizationWindowSeconds *int32 `json:"stabilizationWindowSeconds,omitempty"`
// Policies defines the scaling policies
Policies []ScalingPolicyRule `json:"policies,omitempty"`
}
ScalingPolicy defines a scaling policy
func (*ScalingPolicy) DeepCopy ¶
func (in *ScalingPolicy) DeepCopy() *ScalingPolicy
func (*ScalingPolicy) DeepCopyInto ¶
func (in *ScalingPolicy) DeepCopyInto(out *ScalingPolicy)
type ScalingPolicyRule ¶
type ScalingPolicyRule struct {
// Type defines the policy type
Type string `json:"type"` // "percent", "pods"
// Value defines the scaling value
Value int32 `json:"value"`
// PeriodSeconds defines the period for this policy
PeriodSeconds int32 `json:"periodSeconds"`
}
ScalingPolicyRule defines a scaling policy rule
func (*ScalingPolicyRule) DeepCopy ¶
func (in *ScalingPolicyRule) DeepCopy() *ScalingPolicyRule
func (*ScalingPolicyRule) DeepCopyInto ¶
func (in *ScalingPolicyRule) DeepCopyInto(out *ScalingPolicyRule)
type ScheduledTask ¶
type ScheduledTask struct {
// Task name
Name string `json:"name"`
// Cron schedule expression
Schedule string `json:"schedule"`
// MCP tool to execute
Tool string `json:"tool"`
// Parameters for the tool
Parameters map[string]interface{} `json:"parameters,omitempty"`
// Enable/disable task
Enabled bool `json:"enabled,omitempty"`
// Task-specific retry policy
RetryPolicy *WorkflowRetryPolicy `json:"retryPolicy,omitempty"`
// Timeout for task execution
Timeout string `json:"timeout,omitempty"`
// Tags for categorization
Tags []string `json:"tags,omitempty"`
// Description
Description string `json:"description,omitempty"`
}
ScheduledTask defines a simple cron-scheduled task
func (*ScheduledTask) DeepCopy ¶
func (in *ScheduledTask) DeepCopy() *ScheduledTask
func (*ScheduledTask) DeepCopyInto ¶
func (in *ScheduledTask) DeepCopyInto(out *ScheduledTask)
DeepCopy methods for new workflow structs
type Scope ¶
type Scope struct {
Name string `json:"name,omitempty"`
Description string `json:"description,omitempty"`
}
Scope defines a permission scope
type SecurityConfig ¶
type SecurityConfig struct {
AllowDockerSocket bool `json:"allowDockerSocket,omitempty"`
AllowHostMounts []string `json:"allowHostMounts,omitempty"`
AllowPrivilegedOps bool `json:"allowPrivilegedOps,omitempty"`
TrustedImage bool `json:"trustedImage,omitempty"`
NoNewPrivileges bool `json:"noNewPrivileges,omitempty"`
RunAsUser *int64 `json:"runAsUser,omitempty"`
RunAsGroup *int64 `json:"runAsGroup,omitempty"`
ReadOnlyRootFS bool `json:"readOnlyRootFS,omitempty"`
CapAdd []string `json:"capAdd,omitempty"`
CapDrop []string `json:"capDrop,omitempty"`
}
SecurityConfig defines security settings for the server
func (*SecurityConfig) DeepCopy ¶
func (in *SecurityConfig) DeepCopy() *SecurityConfig
func (*SecurityConfig) DeepCopyInto ¶
func (in *SecurityConfig) DeepCopyInto(out *SecurityConfig)
type ServerHealthCheckConfig ¶
type ServerHealthCheckConfig struct {
// HTTPGet defines an HTTP health check
HTTPGet *HTTPHealthCheck `json:"httpGet,omitempty"`
// TCPSocket defines a TCP health check
TCPSocket *TCPHealthCheck `json:"tcpSocket,omitempty"`
// Exec defines a command-based health check
Exec *ExecHealthCheck `json:"exec,omitempty"`
// InitialDelaySeconds defines the initial delay before starting health checks
InitialDelaySeconds int32 `json:"initialDelaySeconds,omitempty"`
// PeriodSeconds defines how often to perform the health check
PeriodSeconds int32 `json:"periodSeconds,omitempty"`
// TimeoutSeconds defines the timeout for each health check
TimeoutSeconds int32 `json:"timeoutSeconds,omitempty"`
// SuccessThreshold defines how many consecutive successes are needed
SuccessThreshold int32 `json:"successThreshold,omitempty"`
// FailureThreshold defines how many consecutive failures are needed
FailureThreshold int32 `json:"failureThreshold,omitempty"`
}
ServerHealthCheckConfig defines health checking configuration for a server
func (*ServerHealthCheckConfig) DeepCopy ¶
func (in *ServerHealthCheckConfig) DeepCopy() *ServerHealthCheckConfig
func (*ServerHealthCheckConfig) DeepCopyInto ¶
func (in *ServerHealthCheckConfig) DeepCopyInto(out *ServerHealthCheckConfig)
type ServerScalingConfig ¶
type ServerScalingConfig struct {
// MinReplicas defines the minimum number of replicas
MinReplicas *int32 `json:"minReplicas,omitempty"`
// MaxReplicas defines the maximum number of replicas
MaxReplicas *int32 `json:"maxReplicas,omitempty"`
// TargetCPUUtilization defines the target CPU utilization percentage
TargetCPUUtilization *int32 `json:"targetCPUUtilization,omitempty"`
// TargetMemoryUtilization defines the target memory utilization percentage
TargetMemoryUtilization *int32 `json:"targetMemoryUtilization,omitempty"`
}
ServerScalingConfig defines scaling configuration for a specific server
func (*ServerScalingConfig) DeepCopy ¶
func (in *ServerScalingConfig) DeepCopy() *ServerScalingConfig
func (*ServerScalingConfig) DeepCopyInto ¶
func (in *ServerScalingConfig) DeepCopyInto(out *ServerScalingConfig)
type ServerSelector ¶
type ServerSelector struct {
// Label selector for MCPServer resources
LabelSelector *LabelSelector `json:"labelSelector,omitempty"`
// Namespace selector for cross-namespace discovery
NamespaceSelector *LabelSelector `json:"namespaceSelector,omitempty"`
// Include servers by name
IncludeServers []string `json:"includeServers,omitempty"`
// Exclude servers by name
ExcludeServers []string `json:"excludeServers,omitempty"`
}
ServerSelector defines how to select MCP servers
type ServiceDiscoveryConfig ¶
type ServiceDiscoveryConfig struct {
// Enabled controls whether this server should be discoverable
Enabled bool `json:"enabled,omitempty"`
// ServiceName overrides the default service name (defaults to metadata.name)
ServiceName string `json:"serviceName,omitempty"`
// DiscoveryLabels are additional labels for service discovery
DiscoveryLabels map[string]string `json:"discoveryLabels,omitempty"`
// CrossNamespace allows discovery from other namespaces
CrossNamespace bool `json:"crossNamespace,omitempty"`
}
ServiceDiscoveryConfig defines service discovery settings
type ServiceEndpoint ¶
type ServiceEndpoint struct {
Name string `json:"name"`
Port int32 `json:"port"`
URL string `json:"url"`
}
ServiceEndpoint represents a service endpoint
type SharedVolumeSpec ¶
type SharedVolumeSpec struct {
Name string `json:"name"`
Size string `json:"size"`
AccessModes []string `json:"accessModes,omitempty"`
StorageClass string `json:"storageClass,omitempty"`
MountedBy []VolumeMountSpec `json:"mountedBy,omitempty"`
}
SharedVolumeSpec defines a shared volume
func (*SharedVolumeSpec) DeepCopy ¶
func (in *SharedVolumeSpec) DeepCopy() *SharedVolumeSpec
func (*SharedVolumeSpec) DeepCopyInto ¶
func (in *SharedVolumeSpec) DeepCopyInto(out *SharedVolumeSpec)
type StepResult ¶
type StepResult struct {
// Current phase of the step
Phase StepPhase `json:"phase"`
// Step output (if successful)
Output interface{} `json:"output,omitempty"`
// Error message (if failed)
Error string `json:"error,omitempty"`
// Step execution duration
Duration time.Duration `json:"duration"`
// Number of attempts made
Attempts int32 `json:"attempts"`
}
StepResult represents the result of a single workflow step execution
func (*StepResult) DeepCopy ¶
func (in *StepResult) DeepCopy() *StepResult
func (*StepResult) DeepCopyInto ¶
func (in *StepResult) DeepCopyInto(out *StepResult)
type TCPHealthCheck ¶
type TCPHealthCheck struct {
// Port defines the port to check
Port int32 `json:"port"`
}
TCPHealthCheck defines a TCP-based health check
func (*TCPHealthCheck) DeepCopy ¶
func (in *TCPHealthCheck) DeepCopy() *TCPHealthCheck
func (*TCPHealthCheck) DeepCopyInto ¶
func (in *TCPHealthCheck) DeepCopyInto(out *TCPHealthCheck)
type TLSConfig ¶
type TLSConfig struct {
Enabled bool `json:"enabled,omitempty"`
SecretName string `json:"secretName,omitempty"`
CertFile string `json:"certFile,omitempty"`
KeyFile string `json:"keyFile,omitempty"`
}
TLSConfig defines TLS configuration
type TaskRetryPolicy ¶
type TaskRetryPolicy struct {
MaxRetries int32 `json:"maxRetries,omitempty"`
RetryDelay string `json:"retryDelay,omitempty"`
BackoffStrategy string `json:"backoffStrategy,omitempty"`
}
TaskRetryPolicy defines retry behavior for failed tasks
func (*TaskRetryPolicy) DeepCopy ¶
func (in *TaskRetryPolicy) DeepCopy() *TaskRetryPolicy
func (*TaskRetryPolicy) DeepCopyInto ¶
func (in *TaskRetryPolicy) DeepCopyInto(out *TaskRetryPolicy)
type TaskSchedulerConfig ¶
type TaskSchedulerConfig struct {
// Default timeout for tasks
DefaultTimeout string `json:"defaultTimeout,omitempty"`
// Maximum concurrent tasks
MaxConcurrentTasks int32 `json:"maxConcurrentTasks,omitempty"`
// Task retry configuration
RetryPolicy TaskRetryPolicy `json:"retryPolicy,omitempty"`
// Activity webhook configuration
ActivityWebhook string `json:"activityWebhook,omitempty"`
// Task storage configuration
TaskStorageEnabled bool `json:"taskStorageEnabled,omitempty"`
TaskHistoryLimit int32 `json:"taskHistoryLimit,omitempty"`
TaskCleanupPolicy string `json:"taskCleanupPolicy,omitempty"`
// Event-driven workflow triggers
EventTriggers []EventTrigger `json:"eventTriggers,omitempty"`
// Conditional dependency configuration
ConditionalDependencies ConditionalDependencyConfig `json:"conditionalDependencies,omitempty"`
// Auto-scaling configuration
AutoScaling AutoScalingConfig `json:"autoScaling,omitempty"`
}
TaskSchedulerConfig defines task scheduler specific settings
func (*TaskSchedulerConfig) DeepCopy ¶
func (in *TaskSchedulerConfig) DeepCopy() *TaskSchedulerConfig
func (*TaskSchedulerConfig) DeepCopyInto ¶
func (in *TaskSchedulerConfig) DeepCopyInto(out *TaskSchedulerConfig)
type TaskStatistics ¶
type TaskStatistics struct {
TotalTasks int64 `json:"totalTasks,omitempty"`
CompletedTasks int64 `json:"completedTasks,omitempty"`
FailedTasks int64 `json:"failedTasks,omitempty"`
RunningTasks int64 `json:"runningTasks,omitempty"`
ScheduledTasks int64 `json:"scheduledTasks,omitempty"`
LastTaskTime string `json:"lastTaskTime,omitempty"`
AverageTaskTime string `json:"averageTaskTime,omitempty"`
}
TaskStatistics represents task execution statistics
func (*TaskStatistics) DeepCopy ¶
func (in *TaskStatistics) DeepCopy() *TaskStatistics
func (*TaskStatistics) DeepCopyInto ¶
func (in *TaskStatistics) DeepCopyInto(out *TaskStatistics)
type TemplateParameter ¶
type TemplateParameter struct {
// Parameter name
Name string `json:"name"`
// Parameter type (string, int, bool, array, object)
Type string `json:"type,omitempty"`
// Parameter description
Description string `json:"description,omitempty"`
// Whether parameter is required
Required bool `json:"required,omitempty"`
// Default value
Default interface{} `json:"default,omitempty"`
// Validation pattern (for strings)
Pattern string `json:"pattern,omitempty"`
// Min/max values (for numbers)
Minimum *float64 `json:"minimum,omitempty"`
Maximum *float64 `json:"maximum,omitempty"`
// Allowed values
Enum []interface{} `json:"enum,omitempty"`
}
TemplateParameter defines a parameter for a workflow template
func (*TemplateParameter) DeepCopy ¶
func (in *TemplateParameter) DeepCopy() *TemplateParameter
func (*TemplateParameter) DeepCopyInto ¶
func (in *TemplateParameter) DeepCopyInto(out *TemplateParameter)
type TokenConfig ¶
type TokenConfig struct {
AccessTokenTTL string `json:"accessTokenTTL,omitempty"`
RefreshTokenTTL string `json:"refreshTokenTTL,omitempty"`
CodeTTL string `json:"authorizationCodeTTL,omitempty"`
Algorithm string `json:"algorithm,omitempty"`
}
TokenConfig defines token configuration
type Toleration ¶
type Toleration struct {
Key string `json:"key,omitempty"`
Operator string `json:"operator,omitempty"`
Value string `json:"value,omitempty"`
Effect string `json:"effect,omitempty"`
TolerationSeconds *int64 `json:"tolerationSeconds,omitempty"`
}
Toleration represents a Kubernetes toleration
type ToolboxAlert ¶
type ToolboxAlert struct {
// Name defines the alert name
Name string `json:"name"`
// Condition defines the alert condition
Condition string `json:"condition"`
// Severity defines the alert severity
Severity string `json:"severity"`
// Recipients defines who should receive the alert
Recipients []string `json:"recipients,omitempty"`
}
ToolboxAlert defines an alerting rule
func (*ToolboxAlert) DeepCopy ¶
func (in *ToolboxAlert) DeepCopy() *ToolboxAlert
func (*ToolboxAlert) DeepCopyInto ¶
func (in *ToolboxAlert) DeepCopyInto(out *ToolboxAlert)
type ToolboxAutoScalingConfig ¶
type ToolboxAutoScalingConfig struct {
// Enabled controls whether auto-scaling is enabled
Enabled bool `json:"enabled,omitempty"`
// MinServers defines the minimum number of server instances
MinServers int32 `json:"minServers,omitempty"`
// MaxServers defines the maximum number of server instances
MaxServers int32 `json:"maxServers,omitempty"`
// Metrics defines the metrics to use for scaling decisions
Metrics []AutoScalingMetric `json:"metrics,omitempty"`
// Behavior defines scaling behavior
Behavior *AutoScalingBehavior `json:"behavior,omitempty"`
}
ToolboxAutoScalingConfig defines auto-scaling configuration
func (*ToolboxAutoScalingConfig) DeepCopy ¶
func (in *ToolboxAutoScalingConfig) DeepCopy() *ToolboxAutoScalingConfig
func (*ToolboxAutoScalingConfig) DeepCopyInto ¶
func (in *ToolboxAutoScalingConfig) DeepCopyInto(out *ToolboxAutoScalingConfig)
type ToolboxConnectionInfo ¶
type ToolboxConnectionInfo struct {
// Endpoint provides the main endpoint for accessing the toolbox
Endpoint string `json:"endpoint,omitempty"`
// IngressURL provides the ingress URL if enabled
IngressURL string `json:"ingressURL,omitempty"`
// ServerEndpoints provides individual server endpoints
ServerEndpoints map[string]string `json:"serverEndpoints,omitempty"`
// OAuthEndpoint provides the OAuth endpoint for authentication
OAuthEndpoint string `json:"oauthEndpoint,omitempty"`
}
ToolboxConnectionInfo provides connection details for the toolbox
func (*ToolboxConnectionInfo) DeepCopy ¶
func (in *ToolboxConnectionInfo) DeepCopy() *ToolboxConnectionInfo
func (*ToolboxConnectionInfo) DeepCopyInto ¶
func (in *ToolboxConnectionInfo) DeepCopyInto(out *ToolboxConnectionInfo)
type ToolboxDependency ¶
type ToolboxDependency struct {
// Server is the name of the server that has the dependency
Server string `json:"server"`
// DependsOn lists the servers that must be ready before this server starts
DependsOn []string `json:"dependsOn"`
// WaitTimeout defines how long to wait for dependencies
WaitTimeout *metav1.Duration `json:"waitTimeout,omitempty"`
// Optional indicates whether this dependency is optional
Optional bool `json:"optional,omitempty"`
}
ToolboxDependency defines a dependency relationship between servers
func (*ToolboxDependency) DeepCopy ¶
func (in *ToolboxDependency) DeepCopy() *ToolboxDependency
func (*ToolboxDependency) DeepCopyInto ¶
func (in *ToolboxDependency) DeepCopyInto(out *ToolboxDependency)
type ToolboxMonitoringConfig ¶
type ToolboxMonitoringConfig struct {
// Enabled controls whether monitoring is enabled
Enabled bool `json:"enabled,omitempty"`
// MetricsEndpoint defines where to send metrics
MetricsEndpoint string `json:"metricsEndpoint,omitempty"`
// LogLevel defines the logging level for all servers
LogLevel string `json:"logLevel,omitempty"`
// Alerts defines alerting rules for the toolbox
Alerts []ToolboxAlert `json:"alerts,omitempty"`
// Dashboards defines monitoring dashboards to create
Dashboards []string `json:"dashboards,omitempty"`
}
ToolboxMonitoringConfig defines observability configuration
func (*ToolboxMonitoringConfig) DeepCopy ¶
func (in *ToolboxMonitoringConfig) DeepCopy() *ToolboxMonitoringConfig
func (*ToolboxMonitoringConfig) DeepCopyInto ¶
func (in *ToolboxMonitoringConfig) DeepCopyInto(out *ToolboxMonitoringConfig)
type ToolboxNetworkingConfig ¶
type ToolboxNetworkingConfig struct {
// ServiceMesh indicates whether to enable service mesh for inter-server communication
ServiceMesh bool `json:"serviceMesh,omitempty"`
// LoadBalancing defines load balancing strategy for servers with multiple replicas
LoadBalancing string `json:"loadBalancing,omitempty"` // "round-robin", "least-connections", "ip-hash"
// IngressEnabled controls whether to create an ingress for external access
IngressEnabled bool `json:"ingressEnabled,omitempty"`
// IngressClass defines the ingress class to use
IngressClass string `json:"ingressClass,omitempty"`
// CustomDomain defines a custom domain for the toolbox
CustomDomain string `json:"customDomain,omitempty"`
// TLSEnabled controls whether TLS is enabled for external access
TLSEnabled bool `json:"tlsEnabled,omitempty"`
}
ToolboxNetworkingConfig defines networking within the toolbox
func (*ToolboxNetworkingConfig) DeepCopy ¶
func (in *ToolboxNetworkingConfig) DeepCopy() *ToolboxNetworkingConfig
func (*ToolboxNetworkingConfig) DeepCopyInto ¶
func (in *ToolboxNetworkingConfig) DeepCopyInto(out *ToolboxNetworkingConfig)
type ToolboxOAuthConfig ¶
type ToolboxOAuthConfig struct {
// Enabled controls whether OAuth is enabled for this toolbox
Enabled bool `json:"enabled,omitempty"`
// ClientID references an OAuth client for this toolbox
ClientID string `json:"clientID,omitempty"`
// RequiredScopes defines the minimum scopes required to access this toolbox
RequiredScopes []string `json:"requiredScopes,omitempty"`
// OptionalScopes defines additional scopes that may be requested
OptionalScopes []string `json:"optionalScopes,omitempty"`
// AllowAPIKey indicates whether API key authentication is allowed as fallback
AllowAPIKey bool `json:"allowAPIKey,omitempty"`
// TokenExpiry defines custom token expiration for this toolbox
TokenExpiry *metav1.Duration `json:"tokenExpiry,omitempty"`
}
ToolboxOAuthConfig defines OAuth integration for the toolbox
func (*ToolboxOAuthConfig) DeepCopy ¶
func (in *ToolboxOAuthConfig) DeepCopy() *ToolboxOAuthConfig
func (*ToolboxOAuthConfig) DeepCopyInto ¶
func (in *ToolboxOAuthConfig) DeepCopyInto(out *ToolboxOAuthConfig)
type ToolboxPersistenceConfig ¶
type ToolboxPersistenceConfig struct {
SharedVolumes []SharedVolumeSpec `json:"sharedVolumes,omitempty"`
// BackupEnabled controls whether backups are enabled
BackupEnabled bool `json:"backupEnabled,omitempty"`
// BackupSchedule defines the backup schedule (cron format)
BackupSchedule string `json:"backupSchedule,omitempty"`
// RetentionPolicy defines how long to keep backups
RetentionPolicy string `json:"retentionPolicy,omitempty"`
}
ToolboxPersistenceConfig defines shared storage configuration
func (*ToolboxPersistenceConfig) DeepCopy ¶
func (in *ToolboxPersistenceConfig) DeepCopy() *ToolboxPersistenceConfig
func (*ToolboxPersistenceConfig) DeepCopyInto ¶
func (in *ToolboxPersistenceConfig) DeepCopyInto(out *ToolboxPersistenceConfig)
type ToolboxResourceConfig ¶
type ToolboxResourceConfig struct {
// TotalLimits defines the total resource limits for all servers in the toolbox
TotalLimits ResourceList `json:"totalLimits,omitempty"`
// TotalRequests defines the total resource requests for all servers in the toolbox
TotalRequests ResourceList `json:"totalRequests,omitempty"`
// DefaultServerLimits defines default limits for servers without explicit limits
DefaultServerLimits ResourceList `json:"defaultServerLimits,omitempty"`
// PriorityClass defines the priority class for all servers in the toolbox
PriorityClass string `json:"priorityClass,omitempty"`
}
ToolboxResourceConfig defines toolbox-level resource configuration
func (*ToolboxResourceConfig) DeepCopy ¶
func (in *ToolboxResourceConfig) DeepCopy() *ToolboxResourceConfig
func (*ToolboxResourceConfig) DeepCopyInto ¶
func (in *ToolboxResourceConfig) DeepCopyInto(out *ToolboxResourceConfig)
type ToolboxResourceUsage ¶
type ToolboxResourceUsage struct {
// CPU usage across all servers
CPU string `json:"cpu,omitempty"`
// Memory usage across all servers
Memory string `json:"memory,omitempty"`
// Storage usage across all servers
Storage string `json:"storage,omitempty"`
// NetworkIn shows inbound network traffic
NetworkIn string `json:"networkIn,omitempty"`
// NetworkOut shows outbound network traffic
NetworkOut string `json:"networkOut,omitempty"`
}
ToolboxResourceUsage provides resource usage information
func (*ToolboxResourceUsage) DeepCopy ¶
func (in *ToolboxResourceUsage) DeepCopy() *ToolboxResourceUsage
func (*ToolboxResourceUsage) DeepCopyInto ¶
func (in *ToolboxResourceUsage) DeepCopyInto(out *ToolboxResourceUsage)
type ToolboxSecurityConfig ¶
type ToolboxSecurityConfig struct {
// NetworkPolicy defines network isolation policies
NetworkPolicy *NetworkPolicyConfig `json:"networkPolicy,omitempty"`
// PodSecurityStandards defines pod security standard compliance
PodSecurityStandards string `json:"podSecurityStandards,omitempty"` // "restricted", "baseline", "privileged"
// ImagePullPolicy defines the image pull policy for all servers
ImagePullPolicy string `json:"imagePullPolicy,omitempty"`
// AllowPrivilegedServers indicates whether any server in the toolbox can run privileged
AllowPrivilegedServers bool `json:"allowPrivilegedServers,omitempty"`
// RequiredImageSignatures indicates whether all images must be signed
RequiredImageSignatures bool `json:"requiredImageSignatures,omitempty"`
}
ToolboxSecurityConfig defines toolbox-wide security settings
func (*ToolboxSecurityConfig) DeepCopy ¶
func (in *ToolboxSecurityConfig) DeepCopy() *ToolboxSecurityConfig
func (*ToolboxSecurityConfig) DeepCopyInto ¶
func (in *ToolboxSecurityConfig) DeepCopyInto(out *ToolboxSecurityConfig)
type ToolboxServerSpec ¶
type ToolboxServerSpec struct {
// ServerTemplate allows using a pre-defined server configuration
ServerTemplate string `json:"serverTemplate,omitempty"`
// Enabled controls whether this server should be deployed
Enabled *bool `json:"enabled,omitempty"`
// MCPServerSpec embeds the full server specification
MCPServerSpec `json:",inline"`
// ToolboxRole defines the role of this server within the toolbox workflow
ToolboxRole string `json:"toolboxRole,omitempty"`
// Priority defines startup order (lower numbers start first)
Priority int32 `json:"priority,omitempty"`
// HealthChecks defines custom health checking for this server
HealthChecks *ServerHealthCheckConfig `json:"healthChecks,omitempty"`
// Scaling defines server-specific scaling settings
Scaling *ServerScalingConfig `json:"scaling,omitempty"`
}
ToolboxServerSpec defines an MCP server within a toolbox
func (*ToolboxServerSpec) DeepCopy ¶
func (in *ToolboxServerSpec) DeepCopy() *ToolboxServerSpec
func (*ToolboxServerSpec) DeepCopyInto ¶
func (in *ToolboxServerSpec) DeepCopyInto(out *ToolboxServerSpec)
type ToolboxServerStatus ¶
type ToolboxServerStatus struct {
// Phase represents the current phase of the server
Phase MCPServerPhase `json:"phase,omitempty"`
// Ready indicates whether the server is ready
Ready bool `json:"ready,omitempty"`
// Health indicates the health status of the server
Health string `json:"health,omitempty"`
// LastHealthCheck represents when the server was last health checked
LastHealthCheck metav1.Time `json:"lastHealthCheck,omitempty"`
// Replicas represents the number of replicas for this server
Replicas int32 `json:"replicas,omitempty"`
// ReadyReplicas represents the number of ready replicas
ReadyReplicas int32 `json:"readyReplicas,omitempty"`
}
ToolboxServerStatus represents the status of a server within the toolbox
func (*ToolboxServerStatus) DeepCopy ¶
func (in *ToolboxServerStatus) DeepCopy() *ToolboxServerStatus
func (*ToolboxServerStatus) DeepCopyInto ¶
func (in *ToolboxServerStatus) DeepCopyInto(out *ToolboxServerStatus)
type TriggerCondition ¶
type TriggerCondition struct {
// Field to check
Field string `json:"field"`
// Operator (equals, contains, regex, etc.)
Operator string `json:"operator"`
// Value to compare against
Value string `json:"value"`
}
TriggerCondition defines conditions for event triggering
func (*TriggerCondition) DeepCopy ¶
func (in *TriggerCondition) DeepCopy() *TriggerCondition
func (*TriggerCondition) DeepCopyInto ¶
func (in *TriggerCondition) DeepCopyInto(out *TriggerCondition)
type VolumeMountSpec ¶
type VolumeMountSpec struct {
// Server defines the server name
Server string `json:"server"`
// MountPath defines where to mount the volume
MountPath string `json:"mountPath"`
// ReadOnly indicates whether the mount is read-only
ReadOnly bool `json:"readOnly,omitempty"`
// SubPath defines a sub-path within the volume
SubPath string `json:"subPath,omitempty"`
}
VolumeMountSpec defines how a server mounts a shared volume
func (*VolumeMountSpec) DeepCopy ¶
func (in *VolumeMountSpec) DeepCopy() *VolumeMountSpec
func (*VolumeMountSpec) DeepCopyInto ¶
func (in *VolumeMountSpec) DeepCopyInto(out *VolumeMountSpec)
type VolumeSpec ¶
type VolumeSpec struct {
Name string `json:"name"`
MountPath string `json:"mountPath"`
HostPath string `json:"hostPath,omitempty"`
Size string `json:"size,omitempty"`
AccessMode string `json:"accessMode,omitempty"`
SubPath string `json:"subPath,omitempty"`
}
VolumeSpec represents a volume specification
type WebhookConfig ¶
type WebhookConfig struct {
// Endpoint path for webhook
Endpoint string `json:"endpoint"`
// Authentication method (bearer-token, basic, etc.)
Authentication string `json:"authentication,omitempty"`
// HTTP method (POST, GET, etc.)
Method string `json:"method,omitempty"`
// Expected headers
Headers map[string]string `json:"headers,omitempty"`
}
WebhookConfig defines webhook trigger configuration
func (*WebhookConfig) DeepCopy ¶
func (in *WebhookConfig) DeepCopy() *WebhookConfig
func (*WebhookConfig) DeepCopyInto ¶
func (in *WebhookConfig) DeepCopyInto(out *WebhookConfig)
type WeightedPodAffinityTerm ¶
type WeightedPodAffinityTerm struct {
Weight int32 `json:"weight"`
PodAffinityTerm PodAffinityTerm `json:"podAffinityTerm"`
}
WeightedPodAffinityTerm represents a Kubernetes weighted pod affinity term
type WorkflowBackoffStrategy ¶
type WorkflowBackoffStrategy string
WorkflowBackoffStrategy defines retry backoff strategies
const ( // Linear backoff (constant delay) WorkflowBackoffLinear WorkflowBackoffStrategy = "Linear" // Exponential backoff WorkflowBackoffExponential WorkflowBackoffStrategy = "Exponential" // Fixed delay WorkflowBackoffFixed WorkflowBackoffStrategy = "Fixed" )
type WorkflowConcurrencyPolicy ¶
type WorkflowConcurrencyPolicy string
WorkflowConcurrencyPolicy defines how concurrent executions are handled
const ( // Allow concurrent executions WorkflowConcurrencyAllow WorkflowConcurrencyPolicy = "Allow" // Forbid concurrent executions, skip new execution WorkflowConcurrencyForbid WorkflowConcurrencyPolicy = "Forbid" // Replace running execution with new one WorkflowConcurrencyReplace WorkflowConcurrencyPolicy = "Replace" )
type WorkflowDefinition ¶
type WorkflowDefinition struct {
// Workflow name
Name string `json:"name"`
// Cron schedule expression
Schedule string `json:"schedule,omitempty"`
// Timezone for schedule
Timezone string `json:"timezone,omitempty"`
// Workflow steps
Steps []WorkflowStep `json:"steps"`
// Enable/disable workflow
Enabled bool `json:"enabled,omitempty"`
// Concurrent execution policy
ConcurrencyPolicy WorkflowConcurrencyPolicy `json:"concurrencyPolicy,omitempty"`
// Global parameters for all steps
Parameters map[string]interface{} `json:"parameters,omitempty"`
// Workflow-level retry policy
RetryPolicy *WorkflowRetryPolicy `json:"retryPolicy,omitempty"`
// Maximum workflow execution timeout
Timeout string `json:"timeout,omitempty"`
// Tags for categorization
Tags []string `json:"tags,omitempty"`
// Description
Description string `json:"description,omitempty"`
// Event triggers for this workflow
EventTriggers []EventTrigger `json:"eventTriggers,omitempty"`
// Manual execution allowed
ManualExecution bool `json:"manualExecution,omitempty"`
// Success/failure job history limits
SuccessfulJobsHistoryLimit *int32 `json:"successfulJobsHistoryLimit,omitempty"`
FailedJobsHistoryLimit *int32 `json:"failedJobsHistoryLimit,omitempty"`
// Workspace volume configuration for step data sharing
Workspace *WorkflowWorkspace `json:"workspace,omitempty"`
}
WorkflowDefinition defines a multi-step workflow
func (*WorkflowDefinition) DeepCopy ¶
func (in *WorkflowDefinition) DeepCopy() *WorkflowDefinition
func (*WorkflowDefinition) DeepCopyInto ¶
func (in *WorkflowDefinition) DeepCopyInto(out *WorkflowDefinition)
type WorkflowExecution ¶
type WorkflowExecution struct {
// Execution ID (unique)
ID string `json:"id"`
// Workflow name
WorkflowName string `json:"workflowName"`
// Execution start time
StartTime time.Time `json:"startTime"`
// Execution end time (if completed)
EndTime *time.Time `json:"endTime,omitempty"`
// Execution duration (if completed)
Duration *time.Duration `json:"duration,omitempty"`
// Current phase of the execution
Phase WorkflowPhase `json:"phase"`
// Human-readable message describing current state
Message string `json:"message,omitempty"`
// Results from each step
StepResults map[string]StepResult `json:"stepResults,omitempty"`
}
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. WorkflowExecution represents a single execution instance of a workflow
func (*WorkflowExecution) DeepCopy ¶
func (in *WorkflowExecution) DeepCopy() *WorkflowExecution
func (*WorkflowExecution) DeepCopyInto ¶
func (in *WorkflowExecution) DeepCopyInto(out *WorkflowExecution)
DeepCopy methods for new workflow execution types
type WorkflowPhase ¶
type WorkflowPhase string
WorkflowPhase represents the phase of a workflow execution
const ( WorkflowPhasePending WorkflowPhase = "Pending" WorkflowPhaseRunning WorkflowPhase = "Running" WorkflowPhaseSucceeded WorkflowPhase = "Succeeded" WorkflowPhaseFailed WorkflowPhase = "Failed" WorkflowPhaseCancelled WorkflowPhase = "Cancelled" )
type WorkflowRetryPolicy ¶
type WorkflowRetryPolicy struct {
// Maximum number of retries
MaxRetries int32 `json:"maxRetries,omitempty"`
// Initial retry delay
RetryDelay string `json:"retryDelay,omitempty"`
// Backoff strategy (linear, exponential, fixed)
BackoffStrategy WorkflowBackoffStrategy `json:"backoffStrategy,omitempty"`
// Maximum retry delay (for exponential backoff)
MaxRetryDelay string `json:"maxRetryDelay,omitempty"`
// Multiplier for exponential backoff
BackoffMultiplier float64 `json:"backoffMultiplier,omitempty"`
}
WorkflowRetryPolicy defines retry behavior for workflows and steps
func (*WorkflowRetryPolicy) DeepCopy ¶
func (in *WorkflowRetryPolicy) DeepCopy() *WorkflowRetryPolicy
func (*WorkflowRetryPolicy) DeepCopyInto ¶
func (in *WorkflowRetryPolicy) DeepCopyInto(out *WorkflowRetryPolicy)
type WorkflowRunPolicy ¶
type WorkflowRunPolicy string
WorkflowRunPolicy defines when a step should run
const ( // Always run the step WorkflowRunAlways WorkflowRunPolicy = "Always" // Run only if previous steps succeeded WorkflowRunOnSuccess WorkflowRunPolicy = "OnSuccess" // Run only if previous steps failed WorkflowRunOnFailure WorkflowRunPolicy = "OnFailure" // Run based on condition evaluation WorkflowRunOnCondition WorkflowRunPolicy = "OnCondition" )
type WorkflowStatistics ¶
type WorkflowStatistics struct {
TotalWorkflows int64 `json:"totalWorkflows,omitempty"`
CompletedWorkflows int64 `json:"completedWorkflows,omitempty"`
FailedWorkflows int64 `json:"failedWorkflows,omitempty"`
RunningWorkflows int64 `json:"runningWorkflows,omitempty"`
ScheduledWorkflows int64 `json:"scheduledWorkflows,omitempty"`
LastWorkflowTime string `json:"lastWorkflowTime,omitempty"`
AverageWorkflowTime string `json:"averageWorkflowTime,omitempty"`
TotalSteps int64 `json:"totalSteps,omitempty"`
CompletedSteps int64 `json:"completedSteps,omitempty"`
FailedSteps int64 `json:"failedSteps,omitempty"`
SkippedSteps int64 `json:"skippedSteps,omitempty"`
AverageStepsPerWorkflow float64 `json:"averageStepsPerWorkflow,omitempty"`
}
WorkflowStatistics represents workflow execution statistics
func (*WorkflowStatistics) DeepCopy ¶
func (in *WorkflowStatistics) DeepCopy() *WorkflowStatistics
func (*WorkflowStatistics) DeepCopyInto ¶
func (in *WorkflowStatistics) DeepCopyInto(out *WorkflowStatistics)
type WorkflowStep ¶
type WorkflowStep struct {
// Step name
Name string `json:"name"`
// MCP tool to execute
Tool string `json:"tool"`
// Parameters for the tool (supports templating)
Parameters map[string]interface{} `json:"parameters,omitempty"`
// Step dependencies (must complete first)
DependsOn []string `json:"dependsOn,omitempty"`
// Condition for execution (template expression)
Condition string `json:"condition,omitempty"`
// When to run this step
RunPolicy WorkflowRunPolicy `json:"runPolicy,omitempty"`
// Continue workflow if this step fails
ContinueOnError bool `json:"continueOnError,omitempty"`
// Step timeout (duration string like "5m", "1h")
Timeout string `json:"timeout,omitempty"`
// Step-specific retry policy
RetryPolicy *WorkflowRetryPolicy `json:"retryPolicy,omitempty"`
// Step description
Description string `json:"description,omitempty"`
}
WorkflowStep defines a single step in a unified workflow (consolidated into Task Scheduler)
func (*WorkflowStep) DeepCopy ¶
func (in *WorkflowStep) DeepCopy() *WorkflowStep
func (*WorkflowStep) DeepCopyInto ¶
func (in *WorkflowStep) DeepCopyInto(out *WorkflowStep)
type WorkflowTemplate ¶
type WorkflowTemplate struct {
// Template name
Name string `json:"name"`
// Template category
Category string `json:"category,omitempty"`
// Template description
Description string `json:"description,omitempty"`
// Template parameters
Parameters []TemplateParameter `json:"parameters,omitempty"`
// Workflow definition
Workflow WorkflowDefinition `json:"workflow"`
// Template tags
Tags []string `json:"tags,omitempty"`
// Template version
Version string `json:"version,omitempty"`
}
WorkflowTemplate defines a reusable workflow template
func (*WorkflowTemplate) DeepCopy ¶
func (in *WorkflowTemplate) DeepCopy() *WorkflowTemplate
func (*WorkflowTemplate) DeepCopyInto ¶
func (in *WorkflowTemplate) DeepCopyInto(out *WorkflowTemplate)
type WorkflowVolumeReclaimPolicy ¶
type WorkflowVolumeReclaimPolicy string
WorkflowVolumeReclaimPolicy defines volume cleanup policies
const ( // Delete volume after workflow completion (default) WorkflowVolumeReclaimDelete WorkflowVolumeReclaimPolicy = "Delete" // Retain volume after workflow completion (manual cleanup required) WorkflowVolumeReclaimRetain WorkflowVolumeReclaimPolicy = "Retain" )
type WorkflowWorkspace ¶
type WorkflowWorkspace struct {
// Enable workspace volume (default: true for multi-step workflows)
Enabled bool `json:"enabled,omitempty"`
// Size of the workspace volume (default: "1Gi")
Size string `json:"size,omitempty"`
// Storage class for the workspace volume (default: use cluster default)
StorageClass string `json:"storageClass,omitempty"`
// Mount path within containers (default: "/workspace")
MountPath string `json:"mountPath,omitempty"`
// Access modes for the volume (default: ["ReadWriteOnce"])
AccessModes []string `json:"accessModes,omitempty"`
// Volume reclaim policy (default: "Delete" - cleanup after workflow completes)
ReclaimPolicy WorkflowVolumeReclaimPolicy `json:"reclaimPolicy,omitempty"`
// Retain workspace after workflow completion for chat agent access (default: false)
RetainWorkspace bool `json:"retainWorkspace,omitempty"`
// Number of days to retain workspace before cleanup (default: 7)
WorkspaceRetentionDays int32 `json:"workspaceRetentionDays,omitempty"`
// Paths within workspace to preserve as artifacts (default: all files)
ArtifactPaths []string `json:"artifactPaths,omitempty"`
}
WorkflowWorkspace defines workspace volume configuration for step data sharing
func (*WorkflowWorkspace) DeepCopy ¶
func (in *WorkflowWorkspace) DeepCopy() *WorkflowWorkspace
func (*WorkflowWorkspace) DeepCopyInto ¶
func (in *WorkflowWorkspace) DeepCopyInto(out *WorkflowWorkspace)
DeepCopy methods for WorkflowWorkspace