Help us shape the future of Go! Take the 2026 Go Developer Survey

crd

package
v0.0.4 Latest Latest
Warning

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

Go to latest
Published: Jul 28, 2025 License: AGPL-3.0 Imports: 4 Imported by: 0

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

View Source
const (
	GroupName = "mcp.matey.ai"
	Version   = "v1"
)

Variables

View Source
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: Version}

SchemeGroupVersion is group version used to register these objects

Functions

func AddMCPProxyToScheme

func AddMCPProxyToScheme(scheme *runtime.Scheme) error

Add MCPProxy types to scheme

func AddToScheme

func AddToScheme(scheme *runtime.Scheme) error

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 defines teams or users who have access to this toolbox
	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 (*ConditionalDependencyConfig) DeepCopyInto

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) DeepCopy

func (in *IPBlock) DeepCopy() *IPBlock

func (*IPBlock) DeepCopyInto

func (in *IPBlock) DeepCopyInto(out *IPBlock)

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 (*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) DeepCopy

func (in *MCPMemory) DeepCopy() *MCPMemory

func (*MCPMemory) DeepCopyInto

func (in *MCPMemory) DeepCopyInto(out *MCPMemory)

func (*MCPMemory) DeepCopyObject

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

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) DeepCopy

func (in *MCPProxy) DeepCopy() *MCPProxy

func (*MCPProxy) DeepCopyInto

func (in *MCPProxy) DeepCopyInto(out *MCPProxy)

func (*MCPProxy) DeepCopyObject

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

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

func (in *MCPServer) DeepCopy() *MCPServer

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

func (*MCPServer) DeepCopyInto

func (in *MCPServer) DeepCopyInto(out *MCPServer)

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

func (*MCPServer) DeepCopyObject

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

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 (*MCPTaskSchedulerCondition) DeepCopyInto

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

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 (*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 (*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

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

type ResourceList map[string]string

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 (*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 (*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 defines the volume name
	Name string `json:"name"`

	// Size defines the volume size
	Size string `json:"size"`

	// AccessModes defines the access modes
	AccessModes []string `json:"accessModes,omitempty"`

	// StorageClass defines the storage class to use
	StorageClass string `json:"storageClass,omitempty"`

	// MountedBy defines which servers mount this volume
	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 StepPhase

type StepPhase string

StepPhase represents the phase of a workflow step execution

const (
	StepPhasePending   StepPhase = "Pending"
	StepPhaseRunning   StepPhase = "Running"
	StepPhaseSucceeded StepPhase = "Succeeded"
	StepPhaseFailed    StepPhase = "Failed"
	StepPhaseSkipped   StepPhase = "Skipped"
	StepPhaseRetrying  StepPhase = "Retrying"
)

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 (*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 (*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 (*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 (*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 defines volumes shared between servers
	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 (*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 (*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 (*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 (*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

Jump to

Keyboard shortcuts

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