Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the superset v1alpha1 API group. +kubebuilder:object:generate=true +groupName=superset.apache.org
Index ¶
- Constants
- Variables
- type AdminUserSpec
- type AutoscalingSpec
- type BaseTaskSpec
- type CeleryBeatComponentSpec
- type CeleryFlowerComponentSpec
- type CeleryWorkerComponentSpec
- type CeleryWorkerProcessSpec
- type ChildComponentStatus
- type CloneSourceSpec
- type CloneTaskSpec
- type ComponentRefStatus
- type ComponentServiceSpec
- type ComponentSpec
- type ComponentStatusMap
- type ContainerTemplate
- type DeploymentTemplate
- type FlatComponentSpec
- type GatewaySpec
- type GunicornSpec
- type ImageOverrideSpec
- type ImageSpec
- type IngressHost
- type IngressPath
- type IngressSpec
- type InitTaskSpec
- type LifecycleSpec
- type LifecycleStatus
- type McpServerComponentSpec
- type MetastoreSpec
- type MigrateTaskSpec
- type MonitoringSpec
- type NetworkPolicySpec
- type NetworkingSpec
- type PDBSpec
- type PodRetentionSpec
- type PodTemplate
- type SQLAlchemyEngineOptionsSpec
- type ScalableComponentSpec
- type ServiceAccountSpec
- type ServiceMonitorSpec
- type Superset
- type SupersetCeleryBeat
- func (in *SupersetCeleryBeat) DeepCopy() *SupersetCeleryBeat
- func (in *SupersetCeleryBeat) DeepCopyInto(out *SupersetCeleryBeat)
- func (in *SupersetCeleryBeat) DeepCopyObject() runtime.Object
- func (s *SupersetCeleryBeat) GetAutoscaling() *AutoscalingSpec
- func (s *SupersetCeleryBeat) GetComponentStatus() *ChildComponentStatus
- func (s *SupersetCeleryBeat) GetConfigChecksum() string
- func (s *SupersetCeleryBeat) GetFlatSpec() *FlatComponentSpec
- func (s *SupersetCeleryBeat) GetPDB() *PDBSpec
- func (s *SupersetCeleryBeat) GetService() *ComponentServiceSpec
- type SupersetCeleryBeatList
- type SupersetCeleryBeatSpec
- type SupersetCeleryBeatStatus
- type SupersetCeleryFlower
- func (in *SupersetCeleryFlower) DeepCopy() *SupersetCeleryFlower
- func (in *SupersetCeleryFlower) DeepCopyInto(out *SupersetCeleryFlower)
- func (in *SupersetCeleryFlower) DeepCopyObject() runtime.Object
- func (s *SupersetCeleryFlower) GetAutoscaling() *AutoscalingSpec
- func (s *SupersetCeleryFlower) GetComponentStatus() *ChildComponentStatus
- func (s *SupersetCeleryFlower) GetConfigChecksum() string
- func (s *SupersetCeleryFlower) GetFlatSpec() *FlatComponentSpec
- func (s *SupersetCeleryFlower) GetPDB() *PDBSpec
- func (s *SupersetCeleryFlower) GetService() *ComponentServiceSpec
- type SupersetCeleryFlowerList
- type SupersetCeleryFlowerSpec
- type SupersetCeleryFlowerStatus
- type SupersetCeleryWorker
- func (in *SupersetCeleryWorker) DeepCopy() *SupersetCeleryWorker
- func (in *SupersetCeleryWorker) DeepCopyInto(out *SupersetCeleryWorker)
- func (in *SupersetCeleryWorker) DeepCopyObject() runtime.Object
- func (s *SupersetCeleryWorker) GetAutoscaling() *AutoscalingSpec
- func (s *SupersetCeleryWorker) GetComponentStatus() *ChildComponentStatus
- func (s *SupersetCeleryWorker) GetConfigChecksum() string
- func (s *SupersetCeleryWorker) GetFlatSpec() *FlatComponentSpec
- func (s *SupersetCeleryWorker) GetPDB() *PDBSpec
- func (s *SupersetCeleryWorker) GetService() *ComponentServiceSpec
- type SupersetCeleryWorkerList
- type SupersetCeleryWorkerSpec
- type SupersetCeleryWorkerStatus
- type SupersetLifecycleTask
- type SupersetLifecycleTaskList
- type SupersetLifecycleTaskSpec
- type SupersetLifecycleTaskStatus
- type SupersetList
- type SupersetMcpServer
- func (in *SupersetMcpServer) DeepCopy() *SupersetMcpServer
- func (in *SupersetMcpServer) DeepCopyInto(out *SupersetMcpServer)
- func (in *SupersetMcpServer) DeepCopyObject() runtime.Object
- func (s *SupersetMcpServer) GetAutoscaling() *AutoscalingSpec
- func (s *SupersetMcpServer) GetComponentStatus() *ChildComponentStatus
- func (s *SupersetMcpServer) GetConfigChecksum() string
- func (s *SupersetMcpServer) GetFlatSpec() *FlatComponentSpec
- func (s *SupersetMcpServer) GetPDB() *PDBSpec
- func (s *SupersetMcpServer) GetService() *ComponentServiceSpec
- type SupersetMcpServerList
- type SupersetMcpServerSpec
- type SupersetMcpServerStatus
- type SupersetSpec
- type SupersetStatus
- type SupersetWebServer
- func (in *SupersetWebServer) DeepCopy() *SupersetWebServer
- func (in *SupersetWebServer) DeepCopyInto(out *SupersetWebServer)
- func (in *SupersetWebServer) DeepCopyObject() runtime.Object
- func (s *SupersetWebServer) GetAutoscaling() *AutoscalingSpec
- func (s *SupersetWebServer) GetComponentStatus() *ChildComponentStatus
- func (s *SupersetWebServer) GetConfigChecksum() string
- func (s *SupersetWebServer) GetFlatSpec() *FlatComponentSpec
- func (s *SupersetWebServer) GetPDB() *PDBSpec
- func (s *SupersetWebServer) GetService() *ComponentServiceSpec
- type SupersetWebServerList
- type SupersetWebServerSpec
- type SupersetWebServerStatus
- type SupersetWebsocketServer
- func (in *SupersetWebsocketServer) DeepCopy() *SupersetWebsocketServer
- func (in *SupersetWebsocketServer) DeepCopyInto(out *SupersetWebsocketServer)
- func (in *SupersetWebsocketServer) DeepCopyObject() runtime.Object
- func (s *SupersetWebsocketServer) GetAutoscaling() *AutoscalingSpec
- func (s *SupersetWebsocketServer) GetComponentStatus() *ChildComponentStatus
- func (s *SupersetWebsocketServer) GetConfigChecksum() string
- func (s *SupersetWebsocketServer) GetFlatSpec() *FlatComponentSpec
- func (s *SupersetWebsocketServer) GetPDB() *PDBSpec
- func (s *SupersetWebsocketServer) GetService() *ComponentServiceSpec
- type SupersetWebsocketServerList
- type SupersetWebsocketServerSpec
- type SupersetWebsocketServerStatus
- type TaskRefStatus
- type UpgradeContext
- type ValkeyCacheSpec
- type ValkeyCelerySpec
- type ValkeyResultsBackendSpec
- type ValkeySSLSpec
- type ValkeySpec
- type WebServerComponentSpec
- type WebsocketServerComponentSpec
Constants ¶
const ( ConditionTypeReady = "Ready" ConditionTypeProgressing = "Progressing" ConditionTypeDegraded = "Degraded" ConditionTypeSuspended = "Suspended" ConditionTypeInitComplete = "InitComplete" ConditionTypeAvailable = "Available" )
Condition type constants for Superset resources.
Variables ¶
var ( // GroupVersion is group version used to register these objects. GroupVersion = schema.GroupVersion{Group: "superset.apache.org", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type AdminUserSpec ¶
type AdminUserSpec struct {
// Admin username.
// +optional
// +kubebuilder:default="admin"
Username *string `json:"username,omitempty"`
// Admin password. Stored as plain-text env var in dev mode.
// +optional
// +kubebuilder:default="admin"
Password *string `json:"password,omitempty"`
// Admin first name.
// +optional
// +kubebuilder:default="Superset"
FirstName *string `json:"firstName,omitempty"`
// Admin last name.
// +optional
// +kubebuilder:default="Admin"
LastName *string `json:"lastName,omitempty"`
// Admin email.
// +optional
// +kubebuilder:default="admin@example.com"
Email *string `json:"email,omitempty"`
}
AdminUserSpec defines admin user credentials for dev-mode initialization.
func (*AdminUserSpec) DeepCopy ¶
func (in *AdminUserSpec) DeepCopy() *AdminUserSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdminUserSpec.
func (*AdminUserSpec) DeepCopyInto ¶
func (in *AdminUserSpec) DeepCopyInto(out *AdminUserSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AutoscalingSpec ¶
type AutoscalingSpec struct {
// Minimum replica count (defaults to 1).
// +optional
// +kubebuilder:validation:Minimum=1
MinReplicas *int32 `json:"minReplicas,omitempty"`
// Maximum replica count; HPA will not scale above this.
// +kubebuilder:validation:Minimum=1
// +kubebuilder:validation:Maximum=100
MaxReplicas int32 `json:"maxReplicas"`
// Metrics for the HPA. Supports CPU, memory, custom, and external metrics.
// When empty, Kubernetes defaults to 80% average CPU utilization.
// +optional
Metrics []autoscalingv2.MetricSpec `json:"metrics,omitempty"`
}
AutoscalingSpec configures a HorizontalPodAutoscaler. +kubebuilder:validation:XValidation:rule="!has(self.minReplicas) || self.maxReplicas >= self.minReplicas",message="maxReplicas must be >= minReplicas"
func (*AutoscalingSpec) DeepCopy ¶
func (in *AutoscalingSpec) DeepCopy() *AutoscalingSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingSpec.
func (*AutoscalingSpec) DeepCopyInto ¶
func (in *AutoscalingSpec) DeepCopyInto(out *AutoscalingSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BaseTaskSpec ¶
type BaseTaskSpec struct {
// Command override for the task pod.
// +optional
// +listType=atomic
Command []string `json:"command,omitempty"`
// Maximum timeout per attempt.
// +optional
Timeout *metav1.Duration `json:"timeout,omitempty"`
// Maximum number of retries before permanent failure.
// +optional
// +kubebuilder:default=3
// +kubebuilder:validation:Minimum=1
MaxRetries *int32 `json:"maxRetries,omitempty"`
}
BaseTaskSpec contains fields shared by all lifecycle task types.
func (*BaseTaskSpec) DeepCopy ¶
func (in *BaseTaskSpec) DeepCopy() *BaseTaskSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BaseTaskSpec.
func (*BaseTaskSpec) DeepCopyInto ¶
func (in *BaseTaskSpec) DeepCopyInto(out *BaseTaskSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CeleryBeatComponentSpec ¶
type CeleryBeatComponentSpec struct {
// Deployment-level overrides (strategy, revision history). Always enforces replicas=1.
// +optional
DeploymentTemplate *DeploymentTemplate `json:"deploymentTemplate,omitempty"`
// Pod and container template for Celery beat pods.
// +optional
PodTemplate *PodTemplate `json:"podTemplate,omitempty"`
ComponentSpec `json:",inline"`
// Per-component raw Python appended after top-level config.
// +optional
Config *string `json:"config,omitempty"`
// Per-component SQLAlchemy engine options (overrides spec.sqlaEngineOptions entirely).
// +optional
SQLAlchemyEngineOptions *SQLAlchemyEngineOptionsSpec `json:"sqlaEngineOptions,omitempty"`
}
CeleryBeatComponentSpec defines the celery beat component on the parent CRD. The controller forces replicas=1 regardless of spec.
func (*CeleryBeatComponentSpec) DeepCopy ¶
func (in *CeleryBeatComponentSpec) DeepCopy() *CeleryBeatComponentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CeleryBeatComponentSpec.
func (*CeleryBeatComponentSpec) DeepCopyInto ¶
func (in *CeleryBeatComponentSpec) DeepCopyInto(out *CeleryBeatComponentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CeleryFlowerComponentSpec ¶
type CeleryFlowerComponentSpec struct {
ScalableComponentSpec `json:",inline"`
ComponentSpec `json:",inline"`
// Per-component raw Python appended after top-level config.
// +optional
Config *string `json:"config,omitempty"`
// Service configuration (type, port, annotations).
// +optional
Service *ComponentServiceSpec `json:"service,omitempty"`
}
CeleryFlowerComponentSpec defines the celery flower component on the parent CRD.
func (*CeleryFlowerComponentSpec) DeepCopy ¶
func (in *CeleryFlowerComponentSpec) DeepCopy() *CeleryFlowerComponentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CeleryFlowerComponentSpec.
func (*CeleryFlowerComponentSpec) DeepCopyInto ¶
func (in *CeleryFlowerComponentSpec) DeepCopyInto(out *CeleryFlowerComponentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CeleryWorkerComponentSpec ¶
type CeleryWorkerComponentSpec struct {
ScalableComponentSpec `json:",inline"`
ComponentSpec `json:",inline"`
// Per-component raw Python appended after top-level config.
// +optional
Config *string `json:"config,omitempty"`
// Celery worker execution configuration. Controls concurrency, pool type, and related parameters.
// +optional
Celery *CeleryWorkerProcessSpec `json:"celery,omitempty"`
// Per-component SQLAlchemy engine options (overrides spec.sqlaEngineOptions entirely).
// +optional
SQLAlchemyEngineOptions *SQLAlchemyEngineOptionsSpec `json:"sqlaEngineOptions,omitempty"`
}
CeleryWorkerComponentSpec defines the celery worker component on the parent CRD.
func (*CeleryWorkerComponentSpec) DeepCopy ¶
func (in *CeleryWorkerComponentSpec) DeepCopy() *CeleryWorkerComponentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CeleryWorkerComponentSpec.
func (*CeleryWorkerComponentSpec) DeepCopyInto ¶
func (in *CeleryWorkerComponentSpec) DeepCopyInto(out *CeleryWorkerComponentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CeleryWorkerProcessSpec ¶
type CeleryWorkerProcessSpec struct {
// Preset controlling concurrency and pool defaults.
// Individual fields override preset-computed values.
// +optional
// +kubebuilder:validation:Enum=disabled;conservative;balanced;performance;aggressive
Preset *string `json:"preset,omitempty"`
// Number of concurrent task workers (maps to celery -c flag).
// +optional
// +kubebuilder:validation:Minimum=1
Concurrency *int32 `json:"concurrency,omitempty"`
// Celery pool implementation.
// +optional
// +kubebuilder:validation:Enum=prefork;threads;gevent;eventlet;solo
Pool *string `json:"pool,omitempty"`
// Task distribution optimization strategy.
// +optional
// +kubebuilder:validation:Enum=default;fair
Optimization *string `json:"optimization,omitempty"`
// Maximum tasks a worker process handles before being replaced (prefork only; 0 = unlimited).
// +optional
// +kubebuilder:validation:Minimum=0
MaxTasksPerChild *int32 `json:"maxTasksPerChild,omitempty"`
// Maximum resident memory in bytes per worker before being replaced (prefork only; 0 = disabled).
// +optional
// +kubebuilder:validation:Minimum=0
MaxMemoryPerChild *int32 `json:"maxMemoryPerChild,omitempty"`
// Task prefetch multiplier — number of tasks prefetched per worker.
// +optional
// +kubebuilder:validation:Minimum=0
PrefetchMultiplier *int32 `json:"prefetchMultiplier,omitempty"`
// Soft time limit in seconds — raises SoftTimeLimitExceeded (0 = disabled).
// +optional
// +kubebuilder:validation:Minimum=0
SoftTimeLimit *int32 `json:"softTimeLimit,omitempty"`
// Hard time limit in seconds — kills the task (0 = disabled).
// +optional
// +kubebuilder:validation:Minimum=0
TimeLimit *int32 `json:"timeLimit,omitempty"`
}
CeleryWorkerProcessSpec configures Celery worker execution parameters. Fields controlled by presets: concurrency, pool. All other fields have static defaults independent of preset. +kubebuilder:validation:XValidation:rule="(!has(self.maxTasksPerChild) || self.maxTasksPerChild == 0) || !has(self.pool) || self.pool == 'prefork'",message="maxTasksPerChild only applies to pool=prefork" +kubebuilder:validation:XValidation:rule="(!has(self.maxMemoryPerChild) || self.maxMemoryPerChild == 0) || !has(self.pool) || self.pool == 'prefork'",message="maxMemoryPerChild only applies to pool=prefork"
func (*CeleryWorkerProcessSpec) DeepCopy ¶
func (in *CeleryWorkerProcessSpec) DeepCopy() *CeleryWorkerProcessSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CeleryWorkerProcessSpec.
func (*CeleryWorkerProcessSpec) DeepCopyInto ¶
func (in *CeleryWorkerProcessSpec) DeepCopyInto(out *CeleryWorkerProcessSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ChildComponentStatus ¶
type ChildComponentStatus struct {
// "2/2" format showing ready vs desired replicas.
// +optional
Ready string `json:"ready,omitempty"`
// Standard conditions.
// +optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
// ObservedGeneration for leader election consistency.
// +optional
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}
ChildComponentStatus reports the operational state of a child component.
func (*ChildComponentStatus) DeepCopy ¶
func (in *ChildComponentStatus) DeepCopy() *ChildComponentStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChildComponentStatus.
func (*ChildComponentStatus) DeepCopyInto ¶
func (in *ChildComponentStatus) DeepCopyInto(out *ChildComponentStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CloneSourceSpec ¶
type CloneSourceSpec struct {
// Database type: PostgreSQL (default) or MySQL.
// +optional
// +kubebuilder:validation:Enum=PostgreSQL;MySQL
// +kubebuilder:default=PostgreSQL
Type *string `json:"type,omitempty"`
// Source database hostname.
Host string `json:"host"`
// Source database port. Defaults to 5432 (postgresql) or 3306 (mysql).
// +optional
Port *int32 `json:"port,omitempty"`
// Database name on the source server.
Database string `json:"database"`
// Username for the source database (should have read-only access).
Username string `json:"username"`
// Password for the source database (dev mode only).
// +optional
Password *string `json:"password,omitempty"`
// PasswordFrom references a Secret containing the source database password.
// +optional
PasswordFrom *corev1.SecretKeySelector `json:"passwordFrom,omitempty"`
}
CloneSourceSpec defines the source database connection for cloning. +kubebuilder:validation:XValidation:rule="has(self.password) || has(self.passwordFrom)",message="one of password or passwordFrom must be set" +kubebuilder:validation:XValidation:rule="!has(self.password) || !has(self.passwordFrom)",message="password and passwordFrom are mutually exclusive"
func (*CloneSourceSpec) DeepCopy ¶
func (in *CloneSourceSpec) DeepCopy() *CloneSourceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloneSourceSpec.
func (*CloneSourceSpec) DeepCopyInto ¶
func (in *CloneSourceSpec) DeepCopyInto(out *CloneSourceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CloneTaskSpec ¶
type CloneTaskSpec struct {
BaseTaskSpec `json:",inline"`
// Strategy determines when the clone runs.
// OnTrigger: runs only when Trigger value changes (default).
// Always: runs on every reconcile where the task is not Complete.
// Never: disabled.
// +optional
// +kubebuilder:validation:Enum=OnTrigger;Always;Never
// +kubebuilder:default=OnTrigger
Strategy *string `json:"strategy,omitempty"`
// Trigger is an opaque string. Changing its value causes a re-clone.
// Typical values: a date ("2026-05-09"), a UUID, or a CI build ID.
// +optional
Trigger *string `json:"trigger,omitempty"`
// Source database to clone from (typically production, read-only user).
Source CloneSourceSpec `json:"source"`
// Tables to exclude entirely from the dump (schema and data).
// +optional
ExcludeTables []string `json:"excludeTables,omitempty"`
// Tables where schema is dumped but data is not. Useful for large tables
// needed by migrations but not for testing (e.g., "logs", "query").
// +optional
ExcludeTableData []string `json:"excludeTableData,omitempty"`
// Image for the clone pod. Defaults to postgres:17-alpine (PostgreSQL)
// or mysql:8-alpine (MySQL) based on source.type.
// +optional
Image *ImageSpec `json:"image,omitempty"`
// Pod and container template for the clone task pod.
// +optional
PodTemplate *PodTemplate `json:"podTemplate,omitempty"`
// Pod retention policy for completed clone pods.
// +optional
PodRetention *PodRetentionSpec `json:"podRetention,omitempty"`
}
CloneTaskSpec configures database cloning from an external source into this CR's metastore. Runs before migrate and init tasks. The clone target is always spec.metastore — the metastore user must have CREATEDB rights. Only allowed in Development or Staging mode.
func (*CloneTaskSpec) DeepCopy ¶
func (in *CloneTaskSpec) DeepCopy() *CloneTaskSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloneTaskSpec.
func (*CloneTaskSpec) DeepCopyInto ¶
func (in *CloneTaskSpec) DeepCopyInto(out *CloneTaskSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComponentRefStatus ¶
type ComponentRefStatus struct {
// "2/2" format showing ready vs desired replicas.
Ready string `json:"ready"`
// Reference to the child CR.
Ref string `json:"ref"`
// Config checksum on the child.
// +optional
ConfigChecksum string `json:"configChecksum,omitempty"`
}
ComponentRefStatus holds the status summary of a child component.
func (*ComponentRefStatus) DeepCopy ¶
func (in *ComponentRefStatus) DeepCopy() *ComponentRefStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentRefStatus.
func (*ComponentRefStatus) DeepCopyInto ¶
func (in *ComponentRefStatus) DeepCopyInto(out *ComponentRefStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComponentServiceSpec ¶
type ComponentServiceSpec struct {
// Service type (ClusterIP, NodePort, LoadBalancer).
// +optional
// +kubebuilder:default=ClusterIP
// +kubebuilder:validation:Enum=ClusterIP;NodePort;LoadBalancer
Type corev1.ServiceType `json:"type,omitempty"`
// Service port exposed to clients. Defaults to the component's standard port (8088 for web server, 5555 for Flower).
// +optional
Port *int32 `json:"port,omitempty"`
// Fixed NodePort number when type=NodePort (30000-32767). If omitted, Kubernetes auto-assigns.
// +optional
NodePort *int32 `json:"nodePort,omitempty"`
// Service annotations (e.g., for cloud load balancer configuration).
// +optional
Annotations map[string]string `json:"annotations,omitempty"`
// Service labels; merged with operator-managed labels.
// +optional
Labels map[string]string `json:"labels,omitempty"`
// URL path prefix for this component's HTTPRoute rule.
// Only used when spec.networking.gateway is set.
// Defaults: /ws (websocket), /mcp (MCP server), /flower (Celery Flower).
// +optional
// +kubebuilder:validation:Pattern=`^/[a-zA-Z0-9/_.-]+$`
GatewayPath *string `json:"gatewayPath,omitempty"`
}
ComponentServiceSpec defines the Service configuration for a component.
func (*ComponentServiceSpec) DeepCopy ¶
func (in *ComponentServiceSpec) DeepCopy() *ComponentServiceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentServiceSpec.
func (*ComponentServiceSpec) DeepCopyInto ¶
func (in *ComponentServiceSpec) DeepCopyInto(out *ComponentServiceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComponentSpec ¶
type ComponentSpec struct {
// Image tag and/or repository overrides; inherits from spec.image if unset.
// +optional
Image *ImageOverrideSpec `json:"image,omitempty"`
}
ComponentSpec defines per-component identity fields. Embedded by all component specs except InitSpec.
func (*ComponentSpec) DeepCopy ¶
func (in *ComponentSpec) DeepCopy() *ComponentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentSpec.
func (*ComponentSpec) DeepCopyInto ¶
func (in *ComponentSpec) DeepCopyInto(out *ComponentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComponentStatusMap ¶
type ComponentStatusMap struct {
// +optional
WebServer *ComponentRefStatus `json:"webServer,omitempty"`
// +optional
CeleryWorker *ComponentRefStatus `json:"celeryWorker,omitempty"`
// +optional
CeleryBeat *ComponentRefStatus `json:"celeryBeat,omitempty"`
// +optional
CeleryFlower *ComponentRefStatus `json:"celeryFlower,omitempty"`
// +optional
WebsocketServer *ComponentRefStatus `json:"websocketServer,omitempty"`
// +optional
McpServer *ComponentRefStatus `json:"mcpServer,omitempty"`
}
ComponentStatusMap holds status for each component.
func (*ComponentStatusMap) DeepCopy ¶
func (in *ComponentStatusMap) DeepCopy() *ComponentStatusMap
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentStatusMap.
func (*ComponentStatusMap) DeepCopyInto ¶
func (in *ComponentStatusMap) DeepCopyInto(out *ComponentStatusMap)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ContainerTemplate ¶
type ContainerTemplate struct {
// Resource requirements (CPU, memory).
// +optional
Resources *corev1.ResourceRequirements `json:"resources,omitempty"`
// Environment variables.
// +optional
Env []corev1.EnvVar `json:"env,omitempty"`
// Environment variable sources (ConfigMaps, Secrets).
// +optional
EnvFrom []corev1.EnvFromSource `json:"envFrom,omitempty"`
// Volume mounts for the main container.
// +optional
VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"`
// Container ports. Replaces operator defaults when set.
// +optional
Ports []corev1.ContainerPort `json:"ports,omitempty"`
// Container-level security context.
// +optional
SecurityContext *corev1.SecurityContext `json:"securityContext,omitempty"`
// Container entrypoint override.
// +optional
Command []string `json:"command,omitempty"`
// Container arguments override.
// +optional
Args []string `json:"args,omitempty"`
// Liveness probe; container is restarted when the probe fails.
// +optional
LivenessProbe *corev1.Probe `json:"livenessProbe,omitempty"`
// Readiness probe; pod is removed from Service endpoints when the probe fails.
// +optional
ReadinessProbe *corev1.Probe `json:"readinessProbe,omitempty"`
// Startup probe; liveness and readiness probes are deferred until this probe succeeds.
// +optional
StartupProbe *corev1.Probe `json:"startupProbe,omitempty"`
// Lifecycle hooks for the main container.
// +optional
Lifecycle *corev1.Lifecycle `json:"lifecycle,omitempty"`
}
ContainerTemplate configures fields on the main Superset container.
func (*ContainerTemplate) DeepCopy ¶
func (in *ContainerTemplate) DeepCopy() *ContainerTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerTemplate.
func (*ContainerTemplate) DeepCopyInto ¶
func (in *ContainerTemplate) DeepCopyInto(out *ContainerTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeploymentTemplate ¶
type DeploymentTemplate struct {
// Number of old ReplicaSets to retain for rollback.
// +optional
RevisionHistoryLimit *int32 `json:"revisionHistoryLimit,omitempty"`
// Minimum seconds a pod must be ready before considered available.
// +optional
MinReadySeconds *int32 `json:"minReadySeconds,omitempty"`
// Maximum seconds for a deployment to make progress before considered failed.
// +optional
ProgressDeadlineSeconds *int32 `json:"progressDeadlineSeconds,omitempty"`
// Deployment update strategy.
// +optional
Strategy *appsv1.DeploymentStrategy `json:"strategy,omitempty"`
}
DeploymentTemplate configures Kubernetes Deployment-level fields for operator-managed Deployments. Pod and container configuration is in the sibling PodTemplate field.
func (*DeploymentTemplate) DeepCopy ¶
func (in *DeploymentTemplate) DeepCopy() *DeploymentTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentTemplate.
func (*DeploymentTemplate) DeepCopyInto ¶
func (in *DeploymentTemplate) DeepCopyInto(out *DeploymentTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FlatComponentSpec ¶
type FlatComponentSpec struct {
// Container image configuration.
Image ImageSpec `json:"image"`
// Desired replica count.
// +optional
// +kubebuilder:default=1
Replicas *int32 `json:"replicas,omitempty"`
// Fully-resolved deployment template.
// +optional
DeploymentTemplate *DeploymentTemplate `json:"deploymentTemplate,omitempty"`
// Fully-resolved pod template.
// +optional
PodTemplate *PodTemplate `json:"podTemplate,omitempty"`
// ServiceAccountName to set on the pod.
// +optional
ServiceAccountName string `json:"serviceAccountName,omitempty"`
// Autoscaling configuration.
// +optional
Autoscaling *AutoscalingSpec `json:"autoscaling,omitempty"`
// PodDisruptionBudget configuration.
// +optional
PodDisruptionBudget *PDBSpec `json:"podDisruptionBudget,omitempty"`
}
FlatComponentSpec defines the common fields for all fully-resolved child specs. This is embedded (inlined) in each child CRD spec type.
func (*FlatComponentSpec) DeepCopy ¶
func (in *FlatComponentSpec) DeepCopy() *FlatComponentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlatComponentSpec.
func (*FlatComponentSpec) DeepCopyInto ¶
func (in *FlatComponentSpec) DeepCopyInto(out *FlatComponentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GatewaySpec ¶
type GatewaySpec struct {
// Reference to the Gateway resource to attach the HTTPRoute to.
GatewayRef gatewayv1.ParentReference `json:"gatewayRef"`
// Hostnames for the HTTPRoute (e.g., "superset.example.com").
// +optional
Hostnames []gatewayv1.Hostname `json:"hostnames,omitempty"`
// HTTPRoute annotations.
// +optional
Annotations map[string]string `json:"annotations,omitempty"`
// HTTPRoute labels.
// +optional
Labels map[string]string `json:"labels,omitempty"`
}
GatewaySpec defines HTTPRoute configuration.
func (*GatewaySpec) DeepCopy ¶
func (in *GatewaySpec) DeepCopy() *GatewaySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewaySpec.
func (*GatewaySpec) DeepCopyInto ¶
func (in *GatewaySpec) DeepCopyInto(out *GatewaySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GunicornSpec ¶
type GunicornSpec struct {
// Preset controlling workers, threads, and workerClass defaults.
// Individual fields override preset-computed values.
// +optional
// +kubebuilder:validation:Enum=disabled;conservative;balanced;performance;aggressive
Preset *string `json:"preset,omitempty"`
// Number of Gunicorn worker processes.
// +optional
// +kubebuilder:validation:Minimum=1
Workers *int32 `json:"workers,omitempty"`
// Number of threads per worker (only effective with gthread worker class).
// +optional
// +kubebuilder:validation:Minimum=1
Threads *int32 `json:"threads,omitempty"`
// Gunicorn worker class.
// +optional
// +kubebuilder:validation:Enum=sync;gthread;gevent;eventlet
WorkerClass *string `json:"workerClass,omitempty"`
// Request timeout in seconds.
// +optional
// +kubebuilder:validation:Minimum=1
Timeout *int32 `json:"timeout,omitempty"`
// Keep-alive timeout in seconds for waiting for requests on a connection.
// +optional
// +kubebuilder:validation:Minimum=0
KeepAlive *int32 `json:"keepAlive,omitempty"`
// Maximum requests per worker before recycling (0 = disabled).
// +optional
// +kubebuilder:validation:Minimum=0
MaxRequests *int32 `json:"maxRequests,omitempty"`
// Random jitter added to maxRequests to prevent thundering herd on worker recycling.
// +optional
// +kubebuilder:validation:Minimum=0
MaxRequestsJitter *int32 `json:"maxRequestsJitter,omitempty"`
// Maximum size of HTTP request line in bytes (0 = unlimited).
// +optional
// +kubebuilder:validation:Minimum=0
LimitRequestLine *int32 `json:"limitRequestLine,omitempty"`
// Maximum size of HTTP request header field in bytes (0 = unlimited).
// +optional
// +kubebuilder:validation:Minimum=0
LimitRequestFieldSize *int32 `json:"limitRequestFieldSize,omitempty"`
// Gunicorn log level.
// +optional
// +kubebuilder:validation:Enum=debug;info;warning;error;critical
LogLevel *string `json:"logLevel,omitempty"`
}
GunicornSpec configures Gunicorn worker parameters for the web server. Fields controlled by presets: workers, threads, workerClass. All other fields have static defaults independent of preset. +kubebuilder:validation:XValidation:rule="!has(self.threads) || self.threads <= 1 || !has(self.workerClass) || self.workerClass == 'gthread'",message="threads > 1 requires workerClass=gthread"
func (*GunicornSpec) DeepCopy ¶
func (in *GunicornSpec) DeepCopy() *GunicornSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GunicornSpec.
func (*GunicornSpec) DeepCopyInto ¶
func (in *GunicornSpec) DeepCopyInto(out *GunicornSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImageOverrideSpec ¶
type ImageOverrideSpec struct {
// Override the image tag for this component; inherits from spec.image.tag if omitted.
// +optional
Tag *string `json:"tag,omitempty"`
// Override the image repository for this component; inherits from spec.image.repository if omitted.
// +optional
Repository *string `json:"repository,omitempty"`
}
ImageOverrideSpec allows a component to override specific image fields. Unset fields inherit from spec.image.
func (*ImageOverrideSpec) DeepCopy ¶
func (in *ImageOverrideSpec) DeepCopy() *ImageOverrideSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageOverrideSpec.
func (*ImageOverrideSpec) DeepCopyInto ¶
func (in *ImageOverrideSpec) DeepCopyInto(out *ImageOverrideSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImageSpec ¶
type ImageSpec struct {
// Container image repository.
// +optional
// +kubebuilder:default="apachesuperset.docker.scarf.sh/apache/superset"
Repository string `json:"repository,omitempty"`
// Image tag.
// +kubebuilder:validation:MinLength=1
Tag string `json:"tag"`
// Image pull policy (IfNotPresent, Always, Never).
// +optional
// +kubebuilder:default=IfNotPresent
PullPolicy corev1.PullPolicy `json:"pullPolicy,omitempty"`
// References to Secrets for pulling images from private registries.
// +optional
PullSecrets []corev1.LocalObjectReference `json:"pullSecrets,omitempty"`
}
ImageSpec defines the container image configuration.
func (*ImageSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageSpec.
func (*ImageSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IngressHost ¶
type IngressHost struct {
// +optional
Host string `json:"host,omitempty"`
// +optional
Paths []IngressPath `json:"paths,omitempty"`
}
IngressHost defines a host rule for the Ingress.
func (*IngressHost) DeepCopy ¶
func (in *IngressHost) DeepCopy() *IngressHost
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressHost.
func (*IngressHost) DeepCopyInto ¶
func (in *IngressHost) DeepCopyInto(out *IngressHost)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IngressPath ¶
type IngressPath struct {
// +kubebuilder:default="/"
Path string `json:"path,omitempty"`
// +optional
// +kubebuilder:default="Prefix"
PathType *networkingv1.PathType `json:"pathType,omitempty"`
}
IngressPath defines a path rule for an Ingress host.
func (*IngressPath) DeepCopy ¶
func (in *IngressPath) DeepCopy() *IngressPath
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressPath.
func (*IngressPath) DeepCopyInto ¶
func (in *IngressPath) DeepCopyInto(out *IngressPath)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IngressSpec ¶
type IngressSpec struct {
// IngressClass name (e.g., "nginx") that determines which controller processes this Ingress.
// +optional
ClassName *string `json:"className,omitempty"`
// Primary hostname for the Ingress rule (e.g., "superset.example.com").
// +optional
Host string `json:"host,omitempty"`
// Ingress annotations (e.g., for TLS, auth, or controller-specific configuration).
// +optional
Annotations map[string]string `json:"annotations,omitempty"`
// Ingress labels.
// +optional
Labels map[string]string `json:"labels,omitempty"`
// Additional host/path rules beyond the primary host.
// +optional
Hosts []IngressHost `json:"hosts,omitempty"`
// TLS configuration (certificate secrets and hostnames).
// +optional
TLS []networkingv1.IngressTLS `json:"tls,omitempty"`
}
IngressSpec defines Ingress configuration.
func (*IngressSpec) DeepCopy ¶
func (in *IngressSpec) DeepCopy() *IngressSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressSpec.
func (*IngressSpec) DeepCopyInto ¶
func (in *IngressSpec) DeepCopyInto(out *IngressSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InitTaskSpec ¶
type InitTaskSpec struct {
BaseTaskSpec `json:",inline"`
// Strategy controls when the init task runs.
// VersionChange: only on image changes (default).
// Always: on any spec change (image, config, command).
// Never: skip entirely.
// +optional
// +kubebuilder:validation:Enum=VersionChange;Always;Never
// +kubebuilder:default=VersionChange
Strategy *string `json:"strategy,omitempty"`
// Admin user to create during initialization. Only allowed in dev mode.
// When set, the operator appends a superset fab create-admin step to the init command.
// +optional
AdminUser *AdminUserSpec `json:"adminUser,omitempty"`
// Load example dashboards and data during initialization. Only allowed in dev mode.
// When true, the operator appends a superset load-examples step to the init command.
// +optional
LoadExamples *bool `json:"loadExamples,omitempty"`
}
InitTaskSpec defines when and how the application initialization task runs.
func (*InitTaskSpec) DeepCopy ¶
func (in *InitTaskSpec) DeepCopy() *InitTaskSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InitTaskSpec.
func (*InitTaskSpec) DeepCopyInto ¶
func (in *InitTaskSpec) DeepCopyInto(out *InitTaskSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LifecycleSpec ¶
type LifecycleSpec struct {
// UpgradeMode controls whether upgrades require manual approval.
// Automatic runs immediately on image change; Supervised waits for an
// approval annotation before proceeding.
// +optional
// +kubebuilder:validation:Enum=Automatic;Supervised
// +kubebuilder:default=Automatic
UpgradeMode *string `json:"upgradeMode,omitempty"`
// UpgradeStrategy controls component behavior during lifecycle tasks.
// Drain (default): all components scale to 0 before tasks run, preventing
// metastore deadlocks and inconsistencies between component versions and
// the migrated database schema.
// Rolling: tasks run while existing components stay up. Not supported when
// clone is enabled (clone always drains). Use only when you are certain
// migrations are safe to run under live traffic.
// +optional
// +kubebuilder:validation:Enum=Rolling;Drain
// +kubebuilder:default=Drain
UpgradeStrategy *string `json:"upgradeStrategy,omitempty"`
// Set to true to skip all lifecycle tasks entirely.
// +optional
Disabled *bool `json:"disabled,omitempty"`
// Image override for lifecycle task pods.
// +optional
Image *ImageOverrideSpec `json:"image,omitempty"`
// Pod and container template for lifecycle task pods.
// +optional
PodTemplate *PodTemplate `json:"podTemplate,omitempty"`
// Pod retention policy for completed task pods.
// +optional
PodRetention *PodRetentionSpec `json:"podRetention,omitempty"`
// Per-lifecycle raw Python appended after top-level config.
// +optional
Config *string `json:"config,omitempty"`
// Per-lifecycle SQLAlchemy engine options (overrides spec.sqlaEngineOptions entirely).
// +optional
SQLAlchemyEngineOptions *SQLAlchemyEngineOptionsSpec `json:"sqlaEngineOptions,omitempty"`
// Clone configures database cloning from an external source before running
// migrations. The clone target is always spec.metastore. Only allowed in dev mode.
// +optional
Clone *CloneTaskSpec `json:"clone,omitempty"`
// Database migration task configuration.
// +optional
Migrate *MigrateTaskSpec `json:"migrate,omitempty"`
// Application initialization task configuration.
// +optional
Init *InitTaskSpec `json:"init,omitempty"`
}
LifecycleSpec defines lifecycle management configuration for database migrations and application initialization tasks. +kubebuilder:validation:XValidation:rule="!has(self.init) || !has(self.init.command) || size(self.init.command) == 0 || (!has(self.init.adminUser) && !has(self.init.loadExamples))",message="init.command is mutually exclusive with init.adminUser and init.loadExamples" +kubebuilder:validation:XValidation:rule="!has(self.clone) || !has(self.clone.source.password) || !has(self.clone.source.passwordFrom)",message="clone.source.password and clone.source.passwordFrom are mutually exclusive"
func (*LifecycleSpec) DeepCopy ¶
func (in *LifecycleSpec) DeepCopy() *LifecycleSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LifecycleSpec.
func (*LifecycleSpec) DeepCopyInto ¶
func (in *LifecycleSpec) DeepCopyInto(out *LifecycleSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LifecycleStatus ¶
type LifecycleStatus struct {
// Phase of the lifecycle: Idle, Cloning, Migrating, Initializing, Complete, Blocked, AwaitingApproval.
// +optional
Phase string `json:"phase,omitempty"`
// Clone task status summary.
// +optional
Clone *TaskRefStatus `json:"clone,omitempty"`
// Migrate task status summary.
// +optional
Migrate *TaskRefStatus `json:"migrate,omitempty"`
// Init task status summary.
// +optional
Init *TaskRefStatus `json:"init,omitempty"`
// Upgrade context (populated during active upgrade).
// +optional
Upgrade *UpgradeContext `json:"upgrade,omitempty"`
}
LifecycleStatus tracks the current lifecycle task execution state.
func (*LifecycleStatus) DeepCopy ¶
func (in *LifecycleStatus) DeepCopy() *LifecycleStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LifecycleStatus.
func (*LifecycleStatus) DeepCopyInto ¶
func (in *LifecycleStatus) DeepCopyInto(out *LifecycleStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type McpServerComponentSpec ¶
type McpServerComponentSpec struct {
ScalableComponentSpec `json:",inline"`
ComponentSpec `json:",inline"`
// Per-component raw Python appended after top-level config.
// +optional
Config *string `json:"config,omitempty"`
// Service configuration (type, port, annotations).
// +optional
Service *ComponentServiceSpec `json:"service,omitempty"`
// Per-component SQLAlchemy engine options (overrides spec.sqlaEngineOptions entirely).
// +optional
SQLAlchemyEngineOptions *SQLAlchemyEngineOptionsSpec `json:"sqlaEngineOptions,omitempty"`
}
McpServerComponentSpec defines the MCP server component on the parent CRD.
func (*McpServerComponentSpec) DeepCopy ¶
func (in *McpServerComponentSpec) DeepCopy() *McpServerComponentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new McpServerComponentSpec.
func (*McpServerComponentSpec) DeepCopyInto ¶
func (in *McpServerComponentSpec) DeepCopyInto(out *McpServerComponentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MetastoreSpec ¶
type MetastoreSpec struct {
// Full SQLAlchemy database URI. Mutually exclusive with structured fields and uriFrom.
// In prod mode, CRD validation rejects plain text URIs — use uriFrom to reference a Kubernetes Secret.
// +optional
URI *string `json:"uri,omitempty"`
// Reference to a Secret key containing the full SQLAlchemy URI.
// Mutually exclusive with uri and structured fields.
// +optional
URIFrom *corev1.SecretKeySelector `json:"uriFrom,omitempty"`
// Database type. Determines the SQLAlchemy driver.
// +optional
// +kubebuilder:validation:Enum=PostgreSQL;MySQL
// +kubebuilder:default=PostgreSQL
Type *string `json:"type,omitempty"`
// Database hostname.
// +optional
Host *string `json:"host,omitempty"`
// Database port. Defaults per driver (5432 for postgresql, 3306 for mysql).
// +optional
Port *int32 `json:"port,omitempty"`
// Database name.
// +optional
Database *string `json:"database,omitempty"`
// Database username.
// +optional
Username *string `json:"username,omitempty"`
// Database password. In prod mode, CRD validation rejects plain text passwords — use passwordFrom to reference a Kubernetes Secret.
// +optional
Password *string `json:"password,omitempty"`
// Reference to a Secret key containing the database password.
// Mutually exclusive with password.
// +optional
PasswordFrom *corev1.SecretKeySelector `json:"passwordFrom,omitempty"`
}
MetastoreSpec defines the database connection for Superset's metastore. Either a URI (passthrough) or structured fields (host, database, etc.) can be used. They are mutually exclusive. +kubebuilder:validation:XValidation:rule="!(has(self.uri) && has(self.uriFrom))",message="uri and uriFrom are mutually exclusive" +kubebuilder:validation:XValidation:rule="!(has(self.password) && has(self.passwordFrom))",message="password and passwordFrom are mutually exclusive" +kubebuilder:validation:XValidation:rule="!(has(self.uri) && (has(self.host) || has(self.database) || has(self.username) || has(self.password) || has(self.passwordFrom) || has(self.port)))",message="uri and structured fields are mutually exclusive" +kubebuilder:validation:XValidation:rule="!(has(self.uriFrom) && (has(self.host) || has(self.database) || has(self.username) || has(self.password) || has(self.passwordFrom) || has(self.port)))",message="uriFrom and structured fields are mutually exclusive" +kubebuilder:validation:XValidation:rule="!((has(self.database) || has(self.username) || has(self.password) || has(self.passwordFrom) || has(self.port)) && !has(self.host))",message="structured fields (database, username, password, passwordFrom, port) require host to be set" +kubebuilder:validation:XValidation:rule="!has(self.host) || (has(self.database) && has(self.username))",message="structured metastore requires database and username when host is set"
func (*MetastoreSpec) DeepCopy ¶
func (in *MetastoreSpec) DeepCopy() *MetastoreSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetastoreSpec.
func (*MetastoreSpec) DeepCopyInto ¶
func (in *MetastoreSpec) DeepCopyInto(out *MetastoreSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MigrateTaskSpec ¶
type MigrateTaskSpec struct {
BaseTaskSpec `json:",inline"`
// Strategy controls when the migrate task runs.
// VersionChange: only on image changes (default).
// Always: on any spec change (image, config, command).
// Never: skip (user manages migrations externally).
// +optional
// +kubebuilder:validation:Enum=VersionChange;Always;Never
// +kubebuilder:default=VersionChange
Strategy *string `json:"strategy,omitempty"`
}
MigrateTaskSpec defines when and how the database migration task runs.
func (*MigrateTaskSpec) DeepCopy ¶
func (in *MigrateTaskSpec) DeepCopy() *MigrateTaskSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MigrateTaskSpec.
func (*MigrateTaskSpec) DeepCopyInto ¶
func (in *MigrateTaskSpec) DeepCopyInto(out *MigrateTaskSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MonitoringSpec ¶
type MonitoringSpec struct {
// +optional
ServiceMonitor *ServiceMonitorSpec `json:"serviceMonitor,omitempty"`
}
MonitoringSpec defines Prometheus monitoring configuration.
func (*MonitoringSpec) DeepCopy ¶
func (in *MonitoringSpec) DeepCopy() *MonitoringSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonitoringSpec.
func (*MonitoringSpec) DeepCopyInto ¶
func (in *MonitoringSpec) DeepCopyInto(out *MonitoringSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkPolicySpec ¶
type NetworkPolicySpec struct {
// Additional ingress rules appended to the operator-generated NetworkPolicy (e.g., allow traffic from monitoring namespace).
// +optional
ExtraIngress []networkingv1.NetworkPolicyIngressRule `json:"extraIngress,omitempty"`
// Additional egress rules appended to the operator-generated NetworkPolicy.
// +optional
ExtraEgress []networkingv1.NetworkPolicyEgressRule `json:"extraEgress,omitempty"`
}
NetworkPolicySpec defines network segmentation configuration.
func (*NetworkPolicySpec) DeepCopy ¶
func (in *NetworkPolicySpec) DeepCopy() *NetworkPolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkPolicySpec.
func (*NetworkPolicySpec) DeepCopyInto ¶
func (in *NetworkPolicySpec) DeepCopyInto(out *NetworkPolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkingSpec ¶
type NetworkingSpec struct {
// Gateway API HTTPRoute configuration.
// +optional
Gateway *GatewaySpec `json:"gateway,omitempty"`
// Ingress configuration.
// +optional
Ingress *IngressSpec `json:"ingress,omitempty"`
}
NetworkingSpec defines external access configuration. +kubebuilder:validation:XValidation:rule="!(has(self.gateway) && has(self.ingress))",message="gateway and ingress are mutually exclusive"
func (*NetworkingSpec) DeepCopy ¶
func (in *NetworkingSpec) DeepCopy() *NetworkingSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkingSpec.
func (*NetworkingSpec) DeepCopyInto ¶
func (in *NetworkingSpec) DeepCopyInto(out *NetworkingSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PDBSpec ¶
type PDBSpec struct {
// Minimum pods that must remain available during voluntary disruptions. Mutually exclusive with maxUnavailable.
// +optional
MinAvailable *intstr.IntOrString `json:"minAvailable,omitempty"`
// +optional
MaxUnavailable *intstr.IntOrString `json:"maxUnavailable,omitempty"`
}
PDBSpec configures a PodDisruptionBudget. +kubebuilder:validation:XValidation:rule="!(has(self.minAvailable) && has(self.maxUnavailable))",message="minAvailable and maxUnavailable are mutually exclusive"
func (*PDBSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PDBSpec.
func (*PDBSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodRetentionSpec ¶
type PodRetentionSpec struct {
// Retention policy: Delete removes pods after completion, Retain keeps all,
// RetainOnFailure keeps only failed pods for debugging.
// +optional
// +kubebuilder:validation:Enum=Delete;Retain;RetainOnFailure
// +kubebuilder:default=Delete
Policy *string `json:"policy,omitempty"`
}
PodRetentionSpec defines retention behavior for init pods.
func (*PodRetentionSpec) DeepCopy ¶
func (in *PodRetentionSpec) DeepCopy() *PodRetentionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodRetentionSpec.
func (*PodRetentionSpec) DeepCopyInto ¶
func (in *PodRetentionSpec) DeepCopyInto(out *PodRetentionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodTemplate ¶
type PodTemplate struct {
// Pod annotations.
// +optional
Annotations map[string]string `json:"annotations,omitempty"`
// Pod labels (merged with operator-managed labels which cannot be overridden).
// +optional
Labels map[string]string `json:"labels,omitempty"`
// Pod affinity and anti-affinity rules for scheduling.
// +optional
Affinity *corev1.Affinity `json:"affinity,omitempty"`
// Tolerations for scheduling on tainted nodes.
// +optional
Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
// Node labels for constraining pod scheduling.
// +optional
NodeSelector map[string]string `json:"nodeSelector,omitempty"`
// Topology spread constraints for distributing pods across failure domains.
// +optional
TopologySpreadConstraints []corev1.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty"`
// Entries added to /etc/hosts in pod containers.
// +optional
HostAliases []corev1.HostAlias `json:"hostAliases,omitempty"`
// Pod-level security context (runAsUser, fsGroup, seccomp, etc.).
// +optional
PodSecurityContext *corev1.PodSecurityContext `json:"podSecurityContext,omitempty"`
// Priority class name for pod scheduling priority and preemption.
// +optional
PriorityClassName *string `json:"priorityClassName,omitempty"`
// Additional volumes for the pod (mounted via container.volumeMounts).
// +optional
Volumes []corev1.Volume `json:"volumes,omitempty"`
// Sidecar containers added alongside the main Superset container.
// +optional
Sidecars []corev1.Container `json:"sidecars,omitempty"`
// Init containers run before the main container starts.
// +optional
InitContainers []corev1.Container `json:"initContainers,omitempty"`
// Grace period for pod termination in seconds.
// +optional
TerminationGracePeriodSeconds *int64 `json:"terminationGracePeriodSeconds,omitempty"`
// DNS policy for pods.
// +optional
DNSPolicy *corev1.DNSPolicy `json:"dnsPolicy,omitempty"`
// Custom DNS configuration for pods.
// +optional
DNSConfig *corev1.PodDNSConfig `json:"dnsConfig,omitempty"`
// RuntimeClass for pods.
// +optional
RuntimeClassName *string `json:"runtimeClassName,omitempty"`
// +optional
ShareProcessNamespace *bool `json:"shareProcessNamespace,omitempty"`
// Controls whether service environment variables are injected into pods.
// +optional
EnableServiceLinks *bool `json:"enableServiceLinks,omitempty"`
// Pod-level resource requirements (CPU, memory). When set, defines the total
// resources for the entire pod, enabling resource sharing among containers.
// Requires Kubernetes 1.34+ with the PodLevelResources feature gate.
// +optional
Resources *corev1.ResourceRequirements `json:"resources,omitempty"`
// Main container configuration.
// +optional
Container *ContainerTemplate `json:"container,omitempty"`
}
PodTemplate configures Kubernetes PodSpec fields for the pod template.
func (*PodTemplate) DeepCopy ¶
func (in *PodTemplate) DeepCopy() *PodTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodTemplate.
func (*PodTemplate) DeepCopyInto ¶
func (in *PodTemplate) DeepCopyInto(out *PodTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SQLAlchemyEngineOptionsSpec ¶
type SQLAlchemyEngineOptionsSpec struct {
// Preset for connection pool behavior. "disabled" suppresses rendering entirely.
// "conservative" uses NullPool (no persistent connections).
// "balanced" through "aggressive" use QueuePool with increasing pool sizes.
// Individual fields override preset-computed values.
// +optional
// +kubebuilder:validation:Enum=disabled;conservative;balanced;performance;aggressive
Preset *string `json:"preset,omitempty"`
// Number of persistent connections in the pool. Overrides preset calculation.
// +optional
// +kubebuilder:validation:Minimum=0
PoolSize *int32 `json:"poolSize,omitempty"`
// Maximum overflow connections beyond poolSize (-1 = unlimited).
// +optional
MaxOverflow *int32 `json:"maxOverflow,omitempty"`
// Connection max-age in seconds before recycling.
// +optional
// +kubebuilder:validation:Minimum=0
PoolRecycle *int32 `json:"poolRecycle,omitempty"`
// Verify connections are alive before use.
// +optional
PoolPrePing *bool `json:"poolPrePing,omitempty"`
// Seconds to wait for a connection from the pool before giving up.
// +optional
// +kubebuilder:validation:Minimum=0
PoolTimeout *int32 `json:"poolTimeout,omitempty"`
}
SQLAlchemyEngineOptionsSpec configures the SQLAlchemy connection pool. Fields controlled by presets: poolClass (NullPool vs QueuePool), poolSize, maxOverflow. Static defaults: poolRecycle=3600, poolPrePing=false.
func (*SQLAlchemyEngineOptionsSpec) DeepCopy ¶
func (in *SQLAlchemyEngineOptionsSpec) DeepCopy() *SQLAlchemyEngineOptionsSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SQLAlchemyEngineOptionsSpec.
func (*SQLAlchemyEngineOptionsSpec) DeepCopyInto ¶
func (in *SQLAlchemyEngineOptionsSpec) DeepCopyInto(out *SQLAlchemyEngineOptionsSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ScalableComponentSpec ¶
type ScalableComponentSpec struct {
// Deployment template (Deployment-level configuration).
// +optional
DeploymentTemplate *DeploymentTemplate `json:"deploymentTemplate,omitempty"`
// Pod template (Pod and container configuration).
// +optional
PodTemplate *PodTemplate `json:"podTemplate,omitempty"`
// Desired replica count; overridden by autoscaling when active. Defaults to spec.replicas if unset.
// +optional
Replicas *int32 `json:"replicas,omitempty"`
// HorizontalPodAutoscaler configuration. When set, the HPA manages replica count. Overrides spec.autoscaling.
// +optional
Autoscaling *AutoscalingSpec `json:"autoscaling,omitempty"`
// PodDisruptionBudget for protecting availability during voluntary disruptions. Overrides spec.podDisruptionBudget.
// +optional
PodDisruptionBudget *PDBSpec `json:"podDisruptionBudget,omitempty"`
}
ScalableComponentSpec provides deployment template and scaling fields. Embedded by scalable components (WebServer, CeleryWorker, CeleryFlower, WebsocketServer, McpServer). Non-scalable components (CeleryBeat, Init) use DeploymentTemplate or PodTemplate directly.
func (*ScalableComponentSpec) DeepCopy ¶
func (in *ScalableComponentSpec) DeepCopy() *ScalableComponentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScalableComponentSpec.
func (*ScalableComponentSpec) DeepCopyInto ¶
func (in *ScalableComponentSpec) DeepCopyInto(out *ScalableComponentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceAccountSpec ¶
type ServiceAccountSpec struct {
// When true (default), the operator creates a ServiceAccount. When false, it references an existing one.
// +optional
Create *bool `json:"create,omitempty"`
// ServiceAccount name. Created by the operator when create=true; must pre-exist when create=false.
// +optional
Name string `json:"name,omitempty"`
// ServiceAccount annotations (e.g., for IAM role bindings on cloud platforms).
// +optional
Annotations map[string]string `json:"annotations,omitempty"`
}
ServiceAccountSpec defines ServiceAccount configuration.
func (*ServiceAccountSpec) DeepCopy ¶
func (in *ServiceAccountSpec) DeepCopy() *ServiceAccountSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountSpec.
func (*ServiceAccountSpec) DeepCopyInto ¶
func (in *ServiceAccountSpec) DeepCopyInto(out *ServiceAccountSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceMonitorSpec ¶
type ServiceMonitorSpec struct {
// Scrape interval (e.g., "30s"). How often Prometheus scrapes the web server metrics endpoint.
// +optional
// +kubebuilder:default="30s"
Interval *string `json:"interval,omitempty"`
// Labels for Prometheus ServiceMonitor discovery (must match your Prometheus selector).
// +optional
Labels map[string]string `json:"labels,omitempty"`
// Maximum time to wait for a scrape response before timing out.
// +optional
ScrapeTimeout *string `json:"scrapeTimeout,omitempty"`
}
ServiceMonitorSpec defines the ServiceMonitor configuration.
func (*ServiceMonitorSpec) DeepCopy ¶
func (in *ServiceMonitorSpec) DeepCopy() *ServiceMonitorSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceMonitorSpec.
func (*ServiceMonitorSpec) DeepCopyInto ¶
func (in *ServiceMonitorSpec) DeepCopyInto(out *ServiceMonitorSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Superset ¶
type Superset struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec SupersetSpec `json:"spec,omitempty"`
Status SupersetStatus `json:"status,omitempty"`
}
Superset is the top-level resource representing a complete Superset deployment.
func (*Superset) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Superset.
func (*Superset) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Superset) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SupersetCeleryBeat ¶
type SupersetCeleryBeat struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec SupersetCeleryBeatSpec `json:"spec,omitempty"`
Status SupersetCeleryBeatStatus `json:"status,omitempty"`
}
SupersetCeleryBeat is the Schema for the supersetcelerybeats API. It manages the Celery beat scheduler Deployment (singleton).
func (*SupersetCeleryBeat) DeepCopy ¶
func (in *SupersetCeleryBeat) DeepCopy() *SupersetCeleryBeat
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SupersetCeleryBeat.
func (*SupersetCeleryBeat) DeepCopyInto ¶
func (in *SupersetCeleryBeat) DeepCopyInto(out *SupersetCeleryBeat)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SupersetCeleryBeat) DeepCopyObject ¶
func (in *SupersetCeleryBeat) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*SupersetCeleryBeat) GetAutoscaling ¶
func (s *SupersetCeleryBeat) GetAutoscaling() *AutoscalingSpec
GetAutoscaling returns nil (celery beat is a singleton, no autoscaling).
func (*SupersetCeleryBeat) GetComponentStatus ¶
func (s *SupersetCeleryBeat) GetComponentStatus() *ChildComponentStatus
GetComponentStatus returns the child component status.
func (*SupersetCeleryBeat) GetConfigChecksum ¶
func (s *SupersetCeleryBeat) GetConfigChecksum() string
GetConfigChecksum returns the config checksum for rolling restarts.
func (*SupersetCeleryBeat) GetFlatSpec ¶
func (s *SupersetCeleryBeat) GetFlatSpec() *FlatComponentSpec
GetFlatSpec returns the flat component spec.
func (*SupersetCeleryBeat) GetPDB ¶
func (s *SupersetCeleryBeat) GetPDB() *PDBSpec
GetPDB returns nil (celery beat is a singleton, no PDB).
func (*SupersetCeleryBeat) GetService ¶
func (s *SupersetCeleryBeat) GetService() *ComponentServiceSpec
GetService returns nil (celery beat has no service).
type SupersetCeleryBeatList ¶
type SupersetCeleryBeatList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []SupersetCeleryBeat `json:"items"`
}
SupersetCeleryBeatList contains a list of SupersetCeleryBeat.
func (*SupersetCeleryBeatList) DeepCopy ¶
func (in *SupersetCeleryBeatList) DeepCopy() *SupersetCeleryBeatList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SupersetCeleryBeatList.
func (*SupersetCeleryBeatList) DeepCopyInto ¶
func (in *SupersetCeleryBeatList) DeepCopyInto(out *SupersetCeleryBeatList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SupersetCeleryBeatList) DeepCopyObject ¶
func (in *SupersetCeleryBeatList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SupersetCeleryBeatSpec ¶
type SupersetCeleryBeatSpec struct {
FlatComponentSpec `json:",inline"`
// Checksum for rolling restarts.
// +optional
ConfigChecksum string `json:"configChecksum,omitempty"`
}
SupersetCeleryBeatSpec is the fully-resolved, flat spec for celery beat. Beat is always a singleton (1 replica).
func (*SupersetCeleryBeatSpec) DeepCopy ¶
func (in *SupersetCeleryBeatSpec) DeepCopy() *SupersetCeleryBeatSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SupersetCeleryBeatSpec.
func (*SupersetCeleryBeatSpec) DeepCopyInto ¶
func (in *SupersetCeleryBeatSpec) DeepCopyInto(out *SupersetCeleryBeatSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SupersetCeleryBeatStatus ¶
type SupersetCeleryBeatStatus struct {
ChildComponentStatus `json:",inline"`
}
SupersetCeleryBeatStatus defines the observed state of SupersetCeleryBeat.
func (*SupersetCeleryBeatStatus) DeepCopy ¶
func (in *SupersetCeleryBeatStatus) DeepCopy() *SupersetCeleryBeatStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SupersetCeleryBeatStatus.
func (*SupersetCeleryBeatStatus) DeepCopyInto ¶
func (in *SupersetCeleryBeatStatus) DeepCopyInto(out *SupersetCeleryBeatStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SupersetCeleryFlower ¶
type SupersetCeleryFlower struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec SupersetCeleryFlowerSpec `json:"spec,omitempty"`
Status SupersetCeleryFlowerStatus `json:"status,omitempty"`
}
SupersetCeleryFlower is the Schema for the supersetceleryflowers API. It manages the Celery Flower monitoring UI Deployment and Service.
func (*SupersetCeleryFlower) DeepCopy ¶
func (in *SupersetCeleryFlower) DeepCopy() *SupersetCeleryFlower
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SupersetCeleryFlower.
func (*SupersetCeleryFlower) DeepCopyInto ¶
func (in *SupersetCeleryFlower) DeepCopyInto(out *SupersetCeleryFlower)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SupersetCeleryFlower) DeepCopyObject ¶
func (in *SupersetCeleryFlower) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*SupersetCeleryFlower) GetAutoscaling ¶
func (s *SupersetCeleryFlower) GetAutoscaling() *AutoscalingSpec
GetAutoscaling returns the autoscaling configuration.
func (*SupersetCeleryFlower) GetComponentStatus ¶
func (s *SupersetCeleryFlower) GetComponentStatus() *ChildComponentStatus
GetComponentStatus returns the child component status.
func (*SupersetCeleryFlower) GetConfigChecksum ¶
func (s *SupersetCeleryFlower) GetConfigChecksum() string
GetConfigChecksum returns the config checksum for rolling restarts.
func (*SupersetCeleryFlower) GetFlatSpec ¶
func (s *SupersetCeleryFlower) GetFlatSpec() *FlatComponentSpec
GetFlatSpec returns the flat component spec.
func (*SupersetCeleryFlower) GetPDB ¶
func (s *SupersetCeleryFlower) GetPDB() *PDBSpec
GetPDB returns the PodDisruptionBudget configuration.
func (*SupersetCeleryFlower) GetService ¶
func (s *SupersetCeleryFlower) GetService() *ComponentServiceSpec
GetService returns the service configuration.
type SupersetCeleryFlowerList ¶
type SupersetCeleryFlowerList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []SupersetCeleryFlower `json:"items"`
}
SupersetCeleryFlowerList contains a list of SupersetCeleryFlower.
func (*SupersetCeleryFlowerList) DeepCopy ¶
func (in *SupersetCeleryFlowerList) DeepCopy() *SupersetCeleryFlowerList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SupersetCeleryFlowerList.
func (*SupersetCeleryFlowerList) DeepCopyInto ¶
func (in *SupersetCeleryFlowerList) DeepCopyInto(out *SupersetCeleryFlowerList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SupersetCeleryFlowerList) DeepCopyObject ¶
func (in *SupersetCeleryFlowerList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SupersetCeleryFlowerSpec ¶
type SupersetCeleryFlowerSpec struct {
FlatComponentSpec `json:",inline"`
// Checksum for rolling restarts.
// +optional
ConfigChecksum string `json:"configChecksum,omitempty"`
// Service configuration.
// +optional
Service *ComponentServiceSpec `json:"service,omitempty"`
}
SupersetCeleryFlowerSpec is the fully-resolved, flat spec for celery flower.
func (*SupersetCeleryFlowerSpec) DeepCopy ¶
func (in *SupersetCeleryFlowerSpec) DeepCopy() *SupersetCeleryFlowerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SupersetCeleryFlowerSpec.
func (*SupersetCeleryFlowerSpec) DeepCopyInto ¶
func (in *SupersetCeleryFlowerSpec) DeepCopyInto(out *SupersetCeleryFlowerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SupersetCeleryFlowerStatus ¶
type SupersetCeleryFlowerStatus struct {
ChildComponentStatus `json:",inline"`
}
SupersetCeleryFlowerStatus defines the observed state of SupersetCeleryFlower.
func (*SupersetCeleryFlowerStatus) DeepCopy ¶
func (in *SupersetCeleryFlowerStatus) DeepCopy() *SupersetCeleryFlowerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SupersetCeleryFlowerStatus.
func (*SupersetCeleryFlowerStatus) DeepCopyInto ¶
func (in *SupersetCeleryFlowerStatus) DeepCopyInto(out *SupersetCeleryFlowerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SupersetCeleryWorker ¶
type SupersetCeleryWorker struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec SupersetCeleryWorkerSpec `json:"spec,omitempty"`
Status SupersetCeleryWorkerStatus `json:"status,omitempty"`
}
SupersetCeleryWorker is the Schema for the supersetceleryworkers API. It manages the Celery worker Deployment.
func (*SupersetCeleryWorker) DeepCopy ¶
func (in *SupersetCeleryWorker) DeepCopy() *SupersetCeleryWorker
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SupersetCeleryWorker.
func (*SupersetCeleryWorker) DeepCopyInto ¶
func (in *SupersetCeleryWorker) DeepCopyInto(out *SupersetCeleryWorker)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SupersetCeleryWorker) DeepCopyObject ¶
func (in *SupersetCeleryWorker) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*SupersetCeleryWorker) GetAutoscaling ¶
func (s *SupersetCeleryWorker) GetAutoscaling() *AutoscalingSpec
GetAutoscaling returns the autoscaling configuration.
func (*SupersetCeleryWorker) GetComponentStatus ¶
func (s *SupersetCeleryWorker) GetComponentStatus() *ChildComponentStatus
GetComponentStatus returns the child component status.
func (*SupersetCeleryWorker) GetConfigChecksum ¶
func (s *SupersetCeleryWorker) GetConfigChecksum() string
GetConfigChecksum returns the config checksum for rolling restarts.
func (*SupersetCeleryWorker) GetFlatSpec ¶
func (s *SupersetCeleryWorker) GetFlatSpec() *FlatComponentSpec
GetFlatSpec returns the flat component spec.
func (*SupersetCeleryWorker) GetPDB ¶
func (s *SupersetCeleryWorker) GetPDB() *PDBSpec
GetPDB returns the PodDisruptionBudget configuration.
func (*SupersetCeleryWorker) GetService ¶
func (s *SupersetCeleryWorker) GetService() *ComponentServiceSpec
GetService returns nil (celery workers have no service).
type SupersetCeleryWorkerList ¶
type SupersetCeleryWorkerList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []SupersetCeleryWorker `json:"items"`
}
SupersetCeleryWorkerList contains a list of SupersetCeleryWorker.
func (*SupersetCeleryWorkerList) DeepCopy ¶
func (in *SupersetCeleryWorkerList) DeepCopy() *SupersetCeleryWorkerList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SupersetCeleryWorkerList.
func (*SupersetCeleryWorkerList) DeepCopyInto ¶
func (in *SupersetCeleryWorkerList) DeepCopyInto(out *SupersetCeleryWorkerList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SupersetCeleryWorkerList) DeepCopyObject ¶
func (in *SupersetCeleryWorkerList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SupersetCeleryWorkerSpec ¶
type SupersetCeleryWorkerSpec struct {
FlatComponentSpec `json:",inline"`
// Checksum for rolling restarts.
// +optional
ConfigChecksum string `json:"configChecksum,omitempty"`
}
SupersetCeleryWorkerSpec is the fully-resolved, flat spec for a celery worker.
func (*SupersetCeleryWorkerSpec) DeepCopy ¶
func (in *SupersetCeleryWorkerSpec) DeepCopy() *SupersetCeleryWorkerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SupersetCeleryWorkerSpec.
func (*SupersetCeleryWorkerSpec) DeepCopyInto ¶
func (in *SupersetCeleryWorkerSpec) DeepCopyInto(out *SupersetCeleryWorkerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SupersetCeleryWorkerStatus ¶
type SupersetCeleryWorkerStatus struct {
ChildComponentStatus `json:",inline"`
}
SupersetCeleryWorkerStatus defines the observed state of SupersetCeleryWorker.
func (*SupersetCeleryWorkerStatus) DeepCopy ¶
func (in *SupersetCeleryWorkerStatus) DeepCopy() *SupersetCeleryWorkerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SupersetCeleryWorkerStatus.
func (*SupersetCeleryWorkerStatus) DeepCopyInto ¶
func (in *SupersetCeleryWorkerStatus) DeepCopyInto(out *SupersetCeleryWorkerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SupersetLifecycleTask ¶
type SupersetLifecycleTask struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec SupersetLifecycleTaskSpec `json:"spec,omitempty"`
Status SupersetLifecycleTaskStatus `json:"status,omitempty"`
}
SupersetLifecycleTask is the Schema for the supersetlifecycletasks API. It manages lifecycle tasks (database migrations, init commands).
func (*SupersetLifecycleTask) DeepCopy ¶
func (in *SupersetLifecycleTask) DeepCopy() *SupersetLifecycleTask
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SupersetLifecycleTask.
func (*SupersetLifecycleTask) DeepCopyInto ¶
func (in *SupersetLifecycleTask) DeepCopyInto(out *SupersetLifecycleTask)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SupersetLifecycleTask) DeepCopyObject ¶
func (in *SupersetLifecycleTask) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SupersetLifecycleTaskList ¶
type SupersetLifecycleTaskList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []SupersetLifecycleTask `json:"items"`
}
SupersetLifecycleTaskList contains a list of SupersetLifecycleTask.
func (*SupersetLifecycleTaskList) DeepCopy ¶
func (in *SupersetLifecycleTaskList) DeepCopy() *SupersetLifecycleTaskList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SupersetLifecycleTaskList.
func (*SupersetLifecycleTaskList) DeepCopyInto ¶
func (in *SupersetLifecycleTaskList) DeepCopyInto(out *SupersetLifecycleTaskList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SupersetLifecycleTaskList) DeepCopyObject ¶
func (in *SupersetLifecycleTaskList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SupersetLifecycleTaskSpec ¶
type SupersetLifecycleTaskSpec struct {
FlatComponentSpec `json:",inline"`
// Type identifies the task purpose. Future task types will require schema additions.
// +kubebuilder:validation:Enum=Clone;Migrate;Init
Type string `json:"type"`
// Command to execute in the task pod.
// +listType=atomic
Command []string `json:"command"`
// Config checksum for detecting changes that require re-run.
// +optional
ConfigChecksum string `json:"configChecksum,omitempty"`
// Maximum timeout per task pod attempt.
// +optional
Timeout *metav1.Duration `json:"timeout,omitempty"`
// Maximum number of retries before permanent failure.
// +optional
// +kubebuilder:default=3
// +kubebuilder:validation:Minimum=1
MaxRetries *int32 `json:"maxRetries,omitempty"`
// Pod retention policy for completed task pods.
// +optional
PodRetention *PodRetentionSpec `json:"podRetention,omitempty"`
}
SupersetLifecycleTaskSpec defines the fully-resolved spec for a lifecycle task.
func (*SupersetLifecycleTaskSpec) DeepCopy ¶
func (in *SupersetLifecycleTaskSpec) DeepCopy() *SupersetLifecycleTaskSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SupersetLifecycleTaskSpec.
func (*SupersetLifecycleTaskSpec) DeepCopyInto ¶
func (in *SupersetLifecycleTaskSpec) DeepCopyInto(out *SupersetLifecycleTaskSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SupersetLifecycleTaskStatus ¶
type SupersetLifecycleTaskStatus struct {
// +optional
// +kubebuilder:validation:Enum=Pending;Running;Complete;Failed
State string `json:"state,omitempty"`
// +optional
PodName string `json:"podName,omitempty"`
// +optional
StartedAt *metav1.Time `json:"startedAt,omitempty"`
// +optional
CompletedAt *metav1.Time `json:"completedAt,omitempty"`
// +optional
Duration string `json:"duration,omitempty"`
// +optional
Attempts int32 `json:"attempts,omitempty"`
// +optional
Image string `json:"image,omitempty"`
// +optional
Message string `json:"message,omitempty"`
// Config checksum that was active when the task last completed.
// Used to detect changes and trigger re-execution.
// +optional
ConfigChecksum string `json:"configChecksum,omitempty"`
// +optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
// +optional
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}
SupersetLifecycleTaskStatus reports the status of a lifecycle task.
func (*SupersetLifecycleTaskStatus) DeepCopy ¶
func (in *SupersetLifecycleTaskStatus) DeepCopy() *SupersetLifecycleTaskStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SupersetLifecycleTaskStatus.
func (*SupersetLifecycleTaskStatus) DeepCopyInto ¶
func (in *SupersetLifecycleTaskStatus) DeepCopyInto(out *SupersetLifecycleTaskStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SupersetList ¶
type SupersetList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Superset `json:"items"`
}
SupersetList contains a list of Superset.
func (*SupersetList) DeepCopy ¶
func (in *SupersetList) DeepCopy() *SupersetList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SupersetList.
func (*SupersetList) DeepCopyInto ¶
func (in *SupersetList) DeepCopyInto(out *SupersetList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SupersetList) DeepCopyObject ¶
func (in *SupersetList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SupersetMcpServer ¶
type SupersetMcpServer struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec SupersetMcpServerSpec `json:"spec,omitempty"`
Status SupersetMcpServerStatus `json:"status,omitempty"`
}
SupersetMcpServer is the Schema for the supersetmcpservers API. It manages the FastMCP server Deployment and Service.
func (*SupersetMcpServer) DeepCopy ¶
func (in *SupersetMcpServer) DeepCopy() *SupersetMcpServer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SupersetMcpServer.
func (*SupersetMcpServer) DeepCopyInto ¶
func (in *SupersetMcpServer) DeepCopyInto(out *SupersetMcpServer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SupersetMcpServer) DeepCopyObject ¶
func (in *SupersetMcpServer) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*SupersetMcpServer) GetAutoscaling ¶
func (s *SupersetMcpServer) GetAutoscaling() *AutoscalingSpec
GetAutoscaling returns the autoscaling configuration.
func (*SupersetMcpServer) GetComponentStatus ¶
func (s *SupersetMcpServer) GetComponentStatus() *ChildComponentStatus
GetComponentStatus returns the child component status.
func (*SupersetMcpServer) GetConfigChecksum ¶
func (s *SupersetMcpServer) GetConfigChecksum() string
GetConfigChecksum returns the config checksum for rolling restarts.
func (*SupersetMcpServer) GetFlatSpec ¶
func (s *SupersetMcpServer) GetFlatSpec() *FlatComponentSpec
GetFlatSpec returns the flat component spec.
func (*SupersetMcpServer) GetPDB ¶
func (s *SupersetMcpServer) GetPDB() *PDBSpec
GetPDB returns the PodDisruptionBudget configuration.
func (*SupersetMcpServer) GetService ¶
func (s *SupersetMcpServer) GetService() *ComponentServiceSpec
GetService returns the service configuration.
type SupersetMcpServerList ¶
type SupersetMcpServerList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []SupersetMcpServer `json:"items"`
}
SupersetMcpServerList contains a list of SupersetMcpServer.
func (*SupersetMcpServerList) DeepCopy ¶
func (in *SupersetMcpServerList) DeepCopy() *SupersetMcpServerList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SupersetMcpServerList.
func (*SupersetMcpServerList) DeepCopyInto ¶
func (in *SupersetMcpServerList) DeepCopyInto(out *SupersetMcpServerList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SupersetMcpServerList) DeepCopyObject ¶
func (in *SupersetMcpServerList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SupersetMcpServerSpec ¶
type SupersetMcpServerSpec struct {
FlatComponentSpec `json:",inline"`
// Checksum for rolling restarts.
// +optional
ConfigChecksum string `json:"configChecksum,omitempty"`
// Service configuration.
// +optional
Service *ComponentServiceSpec `json:"service,omitempty"`
}
SupersetMcpServerSpec is the fully-resolved, flat spec for the MCP server.
func (*SupersetMcpServerSpec) DeepCopy ¶
func (in *SupersetMcpServerSpec) DeepCopy() *SupersetMcpServerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SupersetMcpServerSpec.
func (*SupersetMcpServerSpec) DeepCopyInto ¶
func (in *SupersetMcpServerSpec) DeepCopyInto(out *SupersetMcpServerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SupersetMcpServerStatus ¶
type SupersetMcpServerStatus struct {
ChildComponentStatus `json:",inline"`
}
SupersetMcpServerStatus defines the observed state of SupersetMcpServer.
func (*SupersetMcpServerStatus) DeepCopy ¶
func (in *SupersetMcpServerStatus) DeepCopy() *SupersetMcpServerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SupersetMcpServerStatus.
func (*SupersetMcpServerStatus) DeepCopyInto ¶
func (in *SupersetMcpServerStatus) DeepCopyInto(out *SupersetMcpServerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SupersetSpec ¶
type SupersetSpec struct {
// Image configuration inherited by all components.
Image ImageSpec `json:"image"`
// Deployment template defaults inherited by all components (field-level merge).
// +optional
DeploymentTemplate *DeploymentTemplate `json:"deploymentTemplate,omitempty"`
// Pod template defaults inherited by all components (field-level merge).
// +optional
PodTemplate *PodTemplate `json:"podTemplate,omitempty"`
// Default replica count for all scalable components; per-component replicas override this.
// +optional
Replicas *int32 `json:"replicas,omitempty"`
// Default autoscaling for all scalable components (component-level overrides this).
// +optional
Autoscaling *AutoscalingSpec `json:"autoscaling,omitempty"`
// Default pod disruption budget for all scalable components (component-level overrides this).
// +optional
PodDisruptionBudget *PDBSpec `json:"podDisruptionBudget,omitempty"`
// Environment mode: "Development", "Staging", or "Production". Controls validation strictness.
// In Production mode, CRD validation rejects plain text secrets and disallows cloning.
// In Staging mode, secrets are enforced (like Production) but cloning is allowed.
// In Development mode, plain text secrets, cloning, admin user, and load examples are all permitted.
// +optional
// +kubebuilder:validation:Enum=Development;Staging;Production
// +kubebuilder:default=Production
Environment *string `json:"environment,omitempty"`
// Plain text secret key for session signing. Only allowed in dev mode.
// In prod, use secretKeyFrom to reference a Kubernetes Secret.
// +optional
SecretKey *string `json:"secretKey,omitempty"`
// Reference to a Secret key containing the secret key for session signing.
// Mutually exclusive with secretKey.
// +optional
SecretKeyFrom *corev1.SecretKeySelector `json:"secretKeyFrom,omitempty"`
// Metastore database connection configuration.
// +optional
Metastore *MetastoreSpec `json:"metastore,omitempty"`
// Valkey cache, broker, and results backend configuration.
// +optional
Valkey *ValkeySpec `json:"valkey,omitempty"`
// Raw Python appended after operator-generated superset_config.py.
// +optional
Config *string `json:"config,omitempty"`
// SQLAlchemy engine options for connection pooling. Inherited by all Python
// components; per-component sqlaEngineOptions overrides this entirely.
// When unset, the operator computes balanced defaults per component.
// +optional
SQLAlchemyEngineOptions *SQLAlchemyEngineOptionsSpec `json:"sqlaEngineOptions,omitempty"`
// Web server (gunicorn) component. Presence enables it; absence disables.
// +optional
WebServer *WebServerComponentSpec `json:"webServer,omitempty"`
// Celery async task worker component. Requires Valkey for broker/backend.
// +optional
CeleryWorker *CeleryWorkerComponentSpec `json:"celeryWorker,omitempty"`
// Celery periodic task scheduler (singleton, always 1 replica). Requires Valkey.
// +optional
CeleryBeat *CeleryBeatComponentSpec `json:"celeryBeat,omitempty"`
// Celery Flower monitoring UI component.
// +optional
CeleryFlower *CeleryFlowerComponentSpec `json:"celeryFlower,omitempty"`
// WebSocket server for real-time updates (Node.js, no Python config).
// +optional
WebsocketServer *WebsocketServerComponentSpec `json:"websocketServer,omitempty"`
// FastMCP server component for AI tooling integration.
// +optional
McpServer *McpServerComponentSpec `json:"mcpServer,omitempty"`
// Lifecycle configuration (database migration, init, upgrade mode).
// +optional
Lifecycle *LifecycleSpec `json:"lifecycle,omitempty"`
// Networking configuration (Ingress or Gateway API).
// +optional
Networking *NetworkingSpec `json:"networking,omitempty"`
// Monitoring configuration.
// +optional
Monitoring *MonitoringSpec `json:"monitoring,omitempty"`
// Network policy configuration.
// +optional
NetworkPolicy *NetworkPolicySpec `json:"networkPolicy,omitempty"`
// ServiceAccount configuration.
// +optional
ServiceAccount *ServiceAccountSpec `json:"serviceAccount,omitempty"`
// Suspend stops reconciliation when true.
// +optional
Suspend *bool `json:"suspend,omitempty"`
// ForceReload is an opaque string injected into all pod templates. Changing its value
// triggers a rolling restart of all components. Use a timestamp or incrementing value
// (e.g. "2026-04-24T12:00:00Z") to force a restart after rotating referenced Secrets.
// +optional
ForceReload string `json:"forceReload,omitempty"`
}
SupersetSpec defines the desired state of a Superset deployment. +kubebuilder:validation:XValidation:rule="has(self.secretKey) != has(self.secretKeyFrom)",message="exactly one of secretKey (dev only) or secretKeyFrom must be set" +kubebuilder:validation:XValidation:rule="(has(self.environment) && self.environment == 'Development') || !has(self.secretKey)",message="secretKey is only allowed when environment is Development; use secretKeyFrom in Production" +kubebuilder:validation:XValidation:rule="(has(self.environment) && self.environment == 'Development') || !has(self.metastore) || !has(self.metastore.uri)",message="metastore.uri is only allowed when environment is Development; use metastore.uriFrom in Production" +kubebuilder:validation:XValidation:rule="(has(self.environment) && self.environment == 'Development') || !has(self.metastore) || !has(self.metastore.password)",message="metastore.password is only allowed when environment is Development; use metastore.passwordFrom in Production" +kubebuilder:validation:XValidation:rule="(has(self.environment) && self.environment == 'Development') || !has(self.valkey) || !has(self.valkey.password)",message="valkey.password is only allowed when environment is Development; use valkey.passwordFrom in Production" +kubebuilder:validation:XValidation:rule="(has(self.environment) && self.environment == 'Development') || !has(self.lifecycle) || !has(self.lifecycle.init) || !has(self.lifecycle.init.adminUser)",message="lifecycle.init.adminUser is only allowed when environment is Development" +kubebuilder:validation:XValidation:rule="(has(self.environment) && self.environment == 'Development') || !has(self.lifecycle) || !has(self.lifecycle.init) || !has(self.lifecycle.init.loadExamples)",message="lifecycle.init.loadExamples is only allowed when environment is Development" +kubebuilder:validation:XValidation:rule="!has(self.networking) || !has(self.networking.ingress) || has(self.webServer)",message="spec.networking.ingress requires spec.webServer to be set (all Ingress rules target the web server service)" +kubebuilder:validation:XValidation:rule="!has(self.networking) || !has(self.networking.gateway) || has(self.webServer) || has(self.websocketServer) || has(self.mcpServer) || has(self.celeryFlower)",message="spec.networking.gateway requires at least one component with a routable service (webServer, websocketServer, mcpServer, or celeryFlower)" +kubebuilder:validation:XValidation:rule="!has(self.monitoring) || !has(self.monitoring.serviceMonitor) || has(self.webServer)",message="spec.monitoring.serviceMonitor requires spec.webServer to be set (scrapes the web server service)" +kubebuilder:validation:XValidation:rule="(has(self.environment) && (self.environment == 'Development' || self.environment == 'Staging')) || !has(self.lifecycle) || !has(self.lifecycle.clone)",message="lifecycle.clone is only allowed when environment is Development or Staging; cloning performs a destructive DROP DATABASE on the target metastore" +kubebuilder:validation:XValidation:rule="!has(self.lifecycle) || !has(self.lifecycle.clone) || (has(self.metastore) && has(self.metastore.host))",message="lifecycle.clone requires structured metastore configuration (host must be set)"
func (*SupersetSpec) DeepCopy ¶
func (in *SupersetSpec) DeepCopy() *SupersetSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SupersetSpec.
func (*SupersetSpec) DeepCopyInto ¶
func (in *SupersetSpec) DeepCopyInto(out *SupersetSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SupersetStatus ¶
type SupersetStatus struct {
// +optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
// +optional
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
// +optional
Components *ComponentStatusMap `json:"components,omitempty"`
// Lifecycle tracks the current lifecycle state.
// +optional
Lifecycle *LifecycleStatus `json:"lifecycle,omitempty"`
// Last image (repository:tag) that successfully completed the lifecycle.
// Used to detect image changes on subsequent reconciles.
// +optional
LastLifecycleImage string `json:"lastLifecycleImage,omitempty"`
// +optional
Version string `json:"version,omitempty"`
// +optional
ConfigChecksum string `json:"configChecksum,omitempty"`
// High-level phase.
// +optional
// +kubebuilder:validation:Enum=Initializing;Upgrading;Draining;Running;Degraded;Suspended;Blocked;AwaitingApproval
Phase string `json:"phase,omitempty"`
}
SupersetStatus defines the observed state of Superset.
func (*SupersetStatus) DeepCopy ¶
func (in *SupersetStatus) DeepCopy() *SupersetStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SupersetStatus.
func (*SupersetStatus) DeepCopyInto ¶
func (in *SupersetStatus) DeepCopyInto(out *SupersetStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SupersetWebServer ¶
type SupersetWebServer struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec SupersetWebServerSpec `json:"spec,omitempty"`
Status SupersetWebServerStatus `json:"status,omitempty"`
}
SupersetWebServer is the Schema for the supersetwebservers API. It manages the Superset web server (gunicorn) Deployment.
func (*SupersetWebServer) DeepCopy ¶
func (in *SupersetWebServer) DeepCopy() *SupersetWebServer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SupersetWebServer.
func (*SupersetWebServer) DeepCopyInto ¶
func (in *SupersetWebServer) DeepCopyInto(out *SupersetWebServer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SupersetWebServer) DeepCopyObject ¶
func (in *SupersetWebServer) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*SupersetWebServer) GetAutoscaling ¶
func (s *SupersetWebServer) GetAutoscaling() *AutoscalingSpec
GetAutoscaling returns the autoscaling configuration.
func (*SupersetWebServer) GetComponentStatus ¶
func (s *SupersetWebServer) GetComponentStatus() *ChildComponentStatus
GetComponentStatus returns the child component status.
func (*SupersetWebServer) GetConfigChecksum ¶
func (s *SupersetWebServer) GetConfigChecksum() string
GetConfigChecksum returns the config checksum for rolling restarts.
func (*SupersetWebServer) GetFlatSpec ¶
func (s *SupersetWebServer) GetFlatSpec() *FlatComponentSpec
GetFlatSpec returns the flat component spec.
func (*SupersetWebServer) GetPDB ¶
func (s *SupersetWebServer) GetPDB() *PDBSpec
GetPDB returns the PodDisruptionBudget configuration.
func (*SupersetWebServer) GetService ¶
func (s *SupersetWebServer) GetService() *ComponentServiceSpec
GetService returns the service configuration.
type SupersetWebServerList ¶
type SupersetWebServerList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []SupersetWebServer `json:"items"`
}
SupersetWebServerList contains a list of SupersetWebServer.
func (*SupersetWebServerList) DeepCopy ¶
func (in *SupersetWebServerList) DeepCopy() *SupersetWebServerList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SupersetWebServerList.
func (*SupersetWebServerList) DeepCopyInto ¶
func (in *SupersetWebServerList) DeepCopyInto(out *SupersetWebServerList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SupersetWebServerList) DeepCopyObject ¶
func (in *SupersetWebServerList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SupersetWebServerSpec ¶
type SupersetWebServerSpec struct {
FlatComponentSpec `json:",inline"`
// Checksum stamped as pod template annotation for rolling restarts.
// +optional
ConfigChecksum string `json:"configChecksum,omitempty"`
// Service configuration.
// +optional
Service *ComponentServiceSpec `json:"service,omitempty"`
}
SupersetWebServerSpec is the fully-resolved, flat spec for a web server.
func (*SupersetWebServerSpec) DeepCopy ¶
func (in *SupersetWebServerSpec) DeepCopy() *SupersetWebServerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SupersetWebServerSpec.
func (*SupersetWebServerSpec) DeepCopyInto ¶
func (in *SupersetWebServerSpec) DeepCopyInto(out *SupersetWebServerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SupersetWebServerStatus ¶
type SupersetWebServerStatus struct {
ChildComponentStatus `json:",inline"`
}
SupersetWebServerStatus defines the observed state of SupersetWebServer.
func (*SupersetWebServerStatus) DeepCopy ¶
func (in *SupersetWebServerStatus) DeepCopy() *SupersetWebServerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SupersetWebServerStatus.
func (*SupersetWebServerStatus) DeepCopyInto ¶
func (in *SupersetWebServerStatus) DeepCopyInto(out *SupersetWebServerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SupersetWebsocketServer ¶
type SupersetWebsocketServer struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec SupersetWebsocketServerSpec `json:"spec,omitempty"`
Status SupersetWebsocketServerStatus `json:"status,omitempty"`
}
SupersetWebsocketServer is the Schema for the supersetwebsocketservers API. It manages the Superset websocket server Deployment.
func (*SupersetWebsocketServer) DeepCopy ¶
func (in *SupersetWebsocketServer) DeepCopy() *SupersetWebsocketServer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SupersetWebsocketServer.
func (*SupersetWebsocketServer) DeepCopyInto ¶
func (in *SupersetWebsocketServer) DeepCopyInto(out *SupersetWebsocketServer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SupersetWebsocketServer) DeepCopyObject ¶
func (in *SupersetWebsocketServer) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*SupersetWebsocketServer) GetAutoscaling ¶
func (s *SupersetWebsocketServer) GetAutoscaling() *AutoscalingSpec
GetAutoscaling returns the autoscaling configuration.
func (*SupersetWebsocketServer) GetComponentStatus ¶
func (s *SupersetWebsocketServer) GetComponentStatus() *ChildComponentStatus
GetComponentStatus returns the child component status.
func (*SupersetWebsocketServer) GetConfigChecksum ¶
func (s *SupersetWebsocketServer) GetConfigChecksum() string
GetConfigChecksum returns empty string (websocket server has no config).
func (*SupersetWebsocketServer) GetFlatSpec ¶
func (s *SupersetWebsocketServer) GetFlatSpec() *FlatComponentSpec
GetFlatSpec returns the flat component spec.
func (*SupersetWebsocketServer) GetPDB ¶
func (s *SupersetWebsocketServer) GetPDB() *PDBSpec
GetPDB returns the PodDisruptionBudget configuration.
func (*SupersetWebsocketServer) GetService ¶
func (s *SupersetWebsocketServer) GetService() *ComponentServiceSpec
GetService returns the service configuration.
type SupersetWebsocketServerList ¶
type SupersetWebsocketServerList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []SupersetWebsocketServer `json:"items"`
}
SupersetWebsocketServerList contains a list of SupersetWebsocketServer.
func (*SupersetWebsocketServerList) DeepCopy ¶
func (in *SupersetWebsocketServerList) DeepCopy() *SupersetWebsocketServerList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SupersetWebsocketServerList.
func (*SupersetWebsocketServerList) DeepCopyInto ¶
func (in *SupersetWebsocketServerList) DeepCopyInto(out *SupersetWebsocketServerList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SupersetWebsocketServerList) DeepCopyObject ¶
func (in *SupersetWebsocketServerList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SupersetWebsocketServerSpec ¶
type SupersetWebsocketServerSpec struct {
FlatComponentSpec `json:",inline"`
// Service configuration.
// +optional
Service *ComponentServiceSpec `json:"service,omitempty"`
}
SupersetWebsocketServerSpec is the fully-resolved, flat spec for a websocket server. The websocket server is a Node.js application — it does NOT use superset_config.py.
func (*SupersetWebsocketServerSpec) DeepCopy ¶
func (in *SupersetWebsocketServerSpec) DeepCopy() *SupersetWebsocketServerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SupersetWebsocketServerSpec.
func (*SupersetWebsocketServerSpec) DeepCopyInto ¶
func (in *SupersetWebsocketServerSpec) DeepCopyInto(out *SupersetWebsocketServerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SupersetWebsocketServerStatus ¶
type SupersetWebsocketServerStatus struct {
ChildComponentStatus `json:",inline"`
}
SupersetWebsocketServerStatus defines the observed state of SupersetWebsocketServer.
func (*SupersetWebsocketServerStatus) DeepCopy ¶
func (in *SupersetWebsocketServerStatus) DeepCopy() *SupersetWebsocketServerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SupersetWebsocketServerStatus.
func (*SupersetWebsocketServerStatus) DeepCopyInto ¶
func (in *SupersetWebsocketServerStatus) DeepCopyInto(out *SupersetWebsocketServerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TaskRefStatus ¶
type TaskRefStatus struct {
// +optional
// +kubebuilder:validation:Enum=Pending;Running;Complete;Failed
State string `json:"state,omitempty"`
// +optional
StartedAt *metav1.Time `json:"startedAt,omitempty"`
// +optional
CompletedAt *metav1.Time `json:"completedAt,omitempty"`
// +optional
Duration string `json:"duration,omitempty"`
// +optional
Attempts int32 `json:"attempts,omitempty"`
// +optional
PodName string `json:"podName,omitempty"`
// +optional
Image string `json:"image,omitempty"`
// +optional
Message string `json:"message,omitempty"`
}
TaskRefStatus holds the projected status summary of a lifecycle task.
func (*TaskRefStatus) DeepCopy ¶
func (in *TaskRefStatus) DeepCopy() *TaskRefStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TaskRefStatus.
func (*TaskRefStatus) DeepCopyInto ¶
func (in *TaskRefStatus) DeepCopyInto(out *TaskRefStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UpgradeContext ¶
type UpgradeContext struct {
// +optional
FromVersion string `json:"fromVersion,omitempty"`
// +optional
ToVersion string `json:"toVersion,omitempty"`
// +optional
// +kubebuilder:validation:Enum=Upgrade;Downgrade;Unknown
Direction string `json:"direction,omitempty"`
// +optional
StartedAt *metav1.Time `json:"startedAt,omitempty"`
}
UpgradeContext tracks the current upgrade operation.
func (*UpgradeContext) DeepCopy ¶
func (in *UpgradeContext) DeepCopy() *UpgradeContext
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpgradeContext.
func (*UpgradeContext) DeepCopyInto ¶
func (in *UpgradeContext) DeepCopyInto(out *UpgradeContext)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ValkeyCacheSpec ¶
type ValkeyCacheSpec struct {
// Disable this cache section. When true, the operator does not render
// this config — Superset falls back to its built-in default.
// +optional
Disabled *bool `json:"disabled,omitempty"`
// Valkey database number.
// +optional
Database *int32 `json:"database,omitempty"`
// Cache key prefix.
// +optional
KeyPrefix *string `json:"keyPrefix,omitempty"`
// Default cache timeout in seconds.
// +optional
DefaultTimeout *int32 `json:"defaultTimeout,omitempty"`
}
ValkeyCacheSpec tunes a Superset Flask-Caching backend backed by Valkey.
func (*ValkeyCacheSpec) DeepCopy ¶
func (in *ValkeyCacheSpec) DeepCopy() *ValkeyCacheSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValkeyCacheSpec.
func (*ValkeyCacheSpec) DeepCopyInto ¶
func (in *ValkeyCacheSpec) DeepCopyInto(out *ValkeyCacheSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ValkeyCelerySpec ¶
type ValkeyCelerySpec struct {
// Disable this Celery backend. When true, the operator does not render this config.
// +optional
Disabled *bool `json:"disabled,omitempty"`
// Valkey database number.
// +optional
Database *int32 `json:"database,omitempty"`
}
ValkeyCelerySpec tunes a Celery Valkey connection.
func (*ValkeyCelerySpec) DeepCopy ¶
func (in *ValkeyCelerySpec) DeepCopy() *ValkeyCelerySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValkeyCelerySpec.
func (*ValkeyCelerySpec) DeepCopyInto ¶
func (in *ValkeyCelerySpec) DeepCopyInto(out *ValkeyCelerySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ValkeyResultsBackendSpec ¶
type ValkeyResultsBackendSpec struct {
// Disable the results backend. When true, the operator does not render this config.
// +optional
Disabled *bool `json:"disabled,omitempty"`
// Valkey database number.
// +optional
Database *int32 `json:"database,omitempty"`
// Cache key prefix for results.
// +optional
KeyPrefix *string `json:"keyPrefix,omitempty"`
}
ValkeyResultsBackendSpec tunes the SQL Lab async results backend.
func (*ValkeyResultsBackendSpec) DeepCopy ¶
func (in *ValkeyResultsBackendSpec) DeepCopy() *ValkeyResultsBackendSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValkeyResultsBackendSpec.
func (*ValkeyResultsBackendSpec) DeepCopyInto ¶
func (in *ValkeyResultsBackendSpec) DeepCopyInto(out *ValkeyResultsBackendSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ValkeySSLSpec ¶
type ValkeySSLSpec struct {
// Certificate verification mode.
// +optional
// +kubebuilder:validation:Enum=required;optional;none
// +kubebuilder:default=required
CertRequired *string `json:"certRequired,omitempty"`
// Path to the client private key file (for mTLS).
// +optional
KeyFile *string `json:"keyFile,omitempty"`
// Path to the client certificate file (for mTLS).
// +optional
CertFile *string `json:"certFile,omitempty"`
// Path to the CA certificate file for server verification.
// +optional
CACertFile *string `json:"caCertFile,omitempty"`
}
ValkeySSLSpec configures TLS for the Valkey connection.
func (*ValkeySSLSpec) DeepCopy ¶
func (in *ValkeySSLSpec) DeepCopy() *ValkeySSLSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValkeySSLSpec.
func (*ValkeySSLSpec) DeepCopyInto ¶
func (in *ValkeySSLSpec) DeepCopyInto(out *ValkeySSLSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ValkeySpec ¶
type ValkeySpec struct {
// Valkey server hostname.
Host string `json:"host"`
// Valkey server port.
// +optional
// +kubebuilder:default=6379
Port *int32 `json:"port,omitempty"`
// Plain text password. Only allowed in dev mode — use passwordFrom in prod.
// +optional
Password *string `json:"password,omitempty"`
// Reference to a Secret key containing the Valkey password.
// Mutually exclusive with password.
// +optional
PasswordFrom *corev1.SecretKeySelector `json:"passwordFrom,omitempty"`
// SSL/TLS configuration. When set, enables SSL for the Valkey connection.
// +optional
SSL *ValkeySSLSpec `json:"ssl,omitempty"`
// General cache (CACHE_CONFIG). Default: db=1, prefix="superset_", timeout=300s.
// +optional
Cache *ValkeyCacheSpec `json:"cache,omitempty"`
// Data/query results cache (DATA_CACHE_CONFIG). Default: db=2, prefix="superset_data_", timeout=86400s.
// +optional
DataCache *ValkeyCacheSpec `json:"dataCache,omitempty"`
// Dashboard filter state cache (FILTER_STATE_CACHE_CONFIG). Default: db=3, prefix="superset_filter_", timeout=3600s.
// +optional
FilterStateCache *ValkeyCacheSpec `json:"filterStateCache,omitempty"`
// Chart builder form state cache (EXPLORE_FORM_DATA_CACHE_CONFIG). Default: db=4, prefix="superset_explore_", timeout=3600s.
// +optional
ExploreFormDataCache *ValkeyCacheSpec `json:"exploreFormDataCache,omitempty"`
// Thumbnail cache (THUMBNAIL_CACHE_CONFIG). Default: db=5, prefix="superset_thumbnail_", timeout=3600s.
// +optional
ThumbnailCache *ValkeyCacheSpec `json:"thumbnailCache,omitempty"`
// Celery broker (CeleryConfig.broker_url). Default: db=0.
// +optional
CeleryBroker *ValkeyCelerySpec `json:"celeryBroker,omitempty"`
// Celery result backend (CeleryConfig.result_backend). Default: db=0.
// +optional
CeleryResultBackend *ValkeyCelerySpec `json:"celeryResultBackend,omitempty"`
// SQL Lab async results backend (RESULTS_BACKEND). Default: db=6, prefix="superset_results_".
// +optional
ResultsBackend *ValkeyResultsBackendSpec `json:"resultsBackend,omitempty"`
}
ValkeySpec configures Valkey as the shared cache backend, Celery message broker, and SQL Lab results backend for Superset. When set, all sections are enabled with sensible defaults — only host is required. +kubebuilder:validation:XValidation:rule="!(has(self.password) && has(self.passwordFrom))",message="password and passwordFrom are mutually exclusive"
func (*ValkeySpec) DeepCopy ¶
func (in *ValkeySpec) DeepCopy() *ValkeySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValkeySpec.
func (*ValkeySpec) DeepCopyInto ¶
func (in *ValkeySpec) DeepCopyInto(out *ValkeySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WebServerComponentSpec ¶
type WebServerComponentSpec struct {
ScalableComponentSpec `json:",inline"`
ComponentSpec `json:",inline"`
// Per-component raw Python appended after top-level config.
// +optional
Config *string `json:"config,omitempty"`
// Service configuration (type, port, annotations).
// +optional
Service *ComponentServiceSpec `json:"service,omitempty"`
// Gunicorn worker configuration. Controls worker processes, threads, and related parameters.
// +optional
Gunicorn *GunicornSpec `json:"gunicorn,omitempty"`
// Per-component SQLAlchemy engine options (overrides spec.sqlaEngineOptions entirely).
// +optional
SQLAlchemyEngineOptions *SQLAlchemyEngineOptionsSpec `json:"sqlaEngineOptions,omitempty"`
}
WebServerComponentSpec defines the web server component on the parent CRD.
func (*WebServerComponentSpec) DeepCopy ¶
func (in *WebServerComponentSpec) DeepCopy() *WebServerComponentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebServerComponentSpec.
func (*WebServerComponentSpec) DeepCopyInto ¶
func (in *WebServerComponentSpec) DeepCopyInto(out *WebServerComponentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WebsocketServerComponentSpec ¶
type WebsocketServerComponentSpec struct {
ScalableComponentSpec `json:",inline"`
ComponentSpec `json:",inline"`
// Service configuration (type, port, annotations).
// +optional
Service *ComponentServiceSpec `json:"service,omitempty"`
}
WebsocketServerComponentSpec defines the websocket server component on the parent CRD.
func (*WebsocketServerComponentSpec) DeepCopy ¶
func (in *WebsocketServerComponentSpec) DeepCopy() *WebsocketServerComponentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebsocketServerComponentSpec.
func (*WebsocketServerComponentSpec) DeepCopyInto ¶
func (in *WebsocketServerComponentSpec) DeepCopyInto(out *WebsocketServerComponentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.