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