v1alpha1

package
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Mar 15, 2026 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "streambus.io", 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 AuthenticationSpec

type AuthenticationSpec struct {
	// Enabled enables authentication
	// +kubebuilder:default=false
	Enabled bool `json:"enabled,omitempty"`

	// SASL configuration
	// +optional
	SASL SASLSpec `json:"sasl,omitempty"`
}

AuthenticationSpec defines authentication configuration

func (*AuthenticationSpec) DeepCopy

func (in *AuthenticationSpec) DeepCopy() *AuthenticationSpec

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

func (*AuthenticationSpec) DeepCopyInto

func (in *AuthenticationSpec) DeepCopyInto(out *AuthenticationSpec)

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

type ClusterPhase

type ClusterPhase string

ClusterPhase represents the current phase of the cluster

const (
	ClusterPhasePending  ClusterPhase = "Pending"
	ClusterPhaseCreating ClusterPhase = "Creating"
	ClusterPhaseRunning  ClusterPhase = "Running"
	ClusterPhaseUpdating ClusterPhase = "Updating"
	ClusterPhaseDegraded ClusterPhase = "Degraded"
	ClusterPhaseFailed   ClusterPhase = "Failed"
)

type ConfigSpec

type ConfigSpec struct {
	// LogLevel sets the logging level
	// +kubebuilder:validation:Enum=debug;info;warn;error
	// +kubebuilder:default="info"
	LogLevel string `json:"logLevel,omitempty"`

	// Port is the broker port
	// +kubebuilder:default=9092
	Port int32 `json:"port,omitempty"`

	// HTTPPort is the HTTP/metrics port
	// +kubebuilder:default=8081
	HTTPPort int32 `json:"httpPort,omitempty"`

	// GRPCPort is the gRPC port
	// +kubebuilder:default=9093
	GRPCPort int32 `json:"grpcPort,omitempty"`
}

ConfigSpec defines StreamBus configuration

func (*ConfigSpec) DeepCopy

func (in *ConfigSpec) DeepCopy() *ConfigSpec

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

func (*ConfigSpec) DeepCopyInto

func (in *ConfigSpec) DeepCopyInto(out *ConfigSpec)

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

type EndpointsStatus

type EndpointsStatus struct {
	// Brokers is a comma-separated list of broker addresses
	// +optional
	Brokers string `json:"brokers,omitempty"`

	// HTTP is the HTTP endpoint for management
	// +optional
	HTTP string `json:"http,omitempty"`

	// Metrics is the metrics endpoint
	// +optional
	Metrics string `json:"metrics,omitempty"`
}

EndpointsStatus contains cluster endpoint information

func (*EndpointsStatus) DeepCopy

func (in *EndpointsStatus) DeepCopy() *EndpointsStatus

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

func (*EndpointsStatus) DeepCopyInto

func (in *EndpointsStatus) DeepCopyInto(out *EndpointsStatus)

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

type ImageSpec

type ImageSpec struct {
	// Repository is the image repository
	// +kubebuilder:default="streambus/broker"
	Repository string `json:"repository,omitempty"`

	// Tag is the image tag
	// +kubebuilder:default="latest"
	Tag string `json:"tag,omitempty"`

	// PullPolicy is the image pull policy
	// +kubebuilder:validation:Enum=Always;IfNotPresent;Never
	// +kubebuilder:default="IfNotPresent"
	PullPolicy corev1.PullPolicy `json:"pullPolicy,omitempty"`

	// PullSecrets are image pull secrets
	// +optional
	PullSecrets []string `json:"pullSecrets,omitempty"`
}

ImageSpec defines container image configuration

func (*ImageSpec) DeepCopy

func (in *ImageSpec) DeepCopy() *ImageSpec

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

func (*ImageSpec) DeepCopyInto

func (in *ImageSpec) DeepCopyInto(out *ImageSpec)

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

type MetricsSpec

type MetricsSpec struct {
	// Enabled enables metrics
	// +kubebuilder:default=true
	Enabled bool `json:"enabled,omitempty"`

	// ServiceMonitor creates a Prometheus ServiceMonitor
	// +kubebuilder:default=false
	ServiceMonitor bool `json:"serviceMonitor,omitempty"`
}

MetricsSpec defines metrics configuration

func (*MetricsSpec) DeepCopy

func (in *MetricsSpec) DeepCopy() *MetricsSpec

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

func (*MetricsSpec) DeepCopyInto

func (in *MetricsSpec) DeepCopyInto(out *MetricsSpec)

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

type MultiTenancySpec

type MultiTenancySpec struct {
	// Enabled enables multi-tenancy
	// +kubebuilder:default=false
	Enabled bool `json:"enabled,omitempty"`
}

MultiTenancySpec defines multi-tenancy configuration

func (*MultiTenancySpec) DeepCopy

func (in *MultiTenancySpec) DeepCopy() *MultiTenancySpec

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

func (*MultiTenancySpec) DeepCopyInto

func (in *MultiTenancySpec) DeepCopyInto(out *MultiTenancySpec)

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

type ObservabilitySpec

type ObservabilitySpec struct {
	// Metrics configuration
	// +optional
	Metrics MetricsSpec `json:"metrics,omitempty"`

	// Tracing configuration
	// +optional
	Tracing TracingSpec `json:"tracing,omitempty"`
}

ObservabilitySpec defines observability configuration

func (*ObservabilitySpec) DeepCopy

func (in *ObservabilitySpec) DeepCopy() *ObservabilitySpec

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

func (*ObservabilitySpec) DeepCopyInto

func (in *ObservabilitySpec) DeepCopyInto(out *ObservabilitySpec)

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

type SASLSpec

type SASLSpec struct {
	// Mechanism is the SASL mechanism
	// +kubebuilder:validation:Enum=PLAIN;SCRAM-SHA-256;SCRAM-SHA-512
	// +kubebuilder:default="SCRAM-SHA-256"
	Mechanism string `json:"mechanism,omitempty"`

	// SecretName is the name of the secret containing SASL credentials
	// +optional
	SecretName string `json:"secretName,omitempty"`
}

SASLSpec defines SASL configuration

func (*SASLSpec) DeepCopy

func (in *SASLSpec) DeepCopy() *SASLSpec

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

func (*SASLSpec) DeepCopyInto

func (in *SASLSpec) DeepCopyInto(out *SASLSpec)

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

type SecuritySpec

type SecuritySpec struct {
	// Enabled enables security features
	// +kubebuilder:default=false
	Enabled bool `json:"enabled,omitempty"`

	// TLS configuration
	// +optional
	TLS TLSSpec `json:"tls,omitempty"`

	// Authentication configuration
	// +optional
	Authentication AuthenticationSpec `json:"authentication,omitempty"`
}

SecuritySpec defines security configuration

func (*SecuritySpec) DeepCopy

func (in *SecuritySpec) DeepCopy() *SecuritySpec

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

func (*SecuritySpec) DeepCopyInto

func (in *SecuritySpec) DeepCopyInto(out *SecuritySpec)

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

type StorageSpec

type StorageSpec struct {
	// Class is the StorageClass name
	// +kubebuilder:default="standard"
	Class string `json:"class,omitempty"`

	// Size is the data volume size
	// +kubebuilder:default="10Gi"
	Size string `json:"size,omitempty"`

	// RaftSize is the Raft data volume size
	// +kubebuilder:default="5Gi"
	RaftSize string `json:"raftSize,omitempty"`
}

StorageSpec defines storage configuration

func (*StorageSpec) DeepCopy

func (in *StorageSpec) DeepCopy() *StorageSpec

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

func (*StorageSpec) DeepCopyInto

func (in *StorageSpec) DeepCopyInto(out *StorageSpec)

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

type StreamBusCluster

type StreamBusCluster struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   StreamBusClusterSpec   `json:"spec,omitempty"`
	Status StreamBusClusterStatus `json:"status,omitempty"`
}

StreamBusCluster is the Schema for the streambusclusters API

func (*StreamBusCluster) DeepCopy

func (in *StreamBusCluster) DeepCopy() *StreamBusCluster

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

func (*StreamBusCluster) DeepCopyInto

func (in *StreamBusCluster) DeepCopyInto(out *StreamBusCluster)

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

func (*StreamBusCluster) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type StreamBusClusterList

type StreamBusClusterList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []StreamBusCluster `json:"items"`
}

StreamBusClusterList contains a list of StreamBusCluster

func (*StreamBusClusterList) DeepCopy

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

func (*StreamBusClusterList) DeepCopyInto

func (in *StreamBusClusterList) DeepCopyInto(out *StreamBusClusterList)

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

func (*StreamBusClusterList) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type StreamBusClusterSpec

type StreamBusClusterSpec struct {
	// Replicas is the number of broker instances
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:default=3
	Replicas int32 `json:"replicas"`

	// Version is the StreamBus version to deploy
	// +kubebuilder:default="latest"
	// +optional
	Version string `json:"version,omitempty"`

	// Image configuration
	// +optional
	Image ImageSpec `json:"image,omitempty"`

	// Resources defines resource requirements
	// +optional
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`

	// Storage configuration
	// +optional
	Storage StorageSpec `json:"storage,omitempty"`

	// Config is the StreamBus configuration
	// +optional
	Config ConfigSpec `json:"config,omitempty"`

	// Security configuration
	// +optional
	Security SecuritySpec `json:"security,omitempty"`

	// MultiTenancy configuration
	// +optional
	MultiTenancy MultiTenancySpec `json:"multiTenancy,omitempty"`

	// Observability configuration
	// +optional
	Observability ObservabilitySpec `json:"observability,omitempty"`

	// Affinity rules for pod scheduling
	// +optional
	Affinity *corev1.Affinity `json:"affinity,omitempty"`

	// Tolerations for pod scheduling
	// +optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`

	// NodeSelector for pod scheduling
	// +optional
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// PodAnnotations are annotations to add to broker pods
	// +optional
	PodAnnotations map[string]string `json:"podAnnotations,omitempty"`

	// PodLabels are labels to add to broker pods
	// +optional
	PodLabels map[string]string `json:"podLabels,omitempty"`
}

StreamBusClusterSpec defines the desired state of StreamBusCluster

func (*StreamBusClusterSpec) DeepCopy

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

func (*StreamBusClusterSpec) DeepCopyInto

func (in *StreamBusClusterSpec) DeepCopyInto(out *StreamBusClusterSpec)

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

type StreamBusClusterStatus

type StreamBusClusterStatus struct {
	// Phase is the current phase of the cluster
	// +optional
	Phase ClusterPhase `json:"phase,omitempty"`

	// Conditions represent the latest available observations of the cluster's state
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// Replicas is the total number of non-terminated pods
	// +optional
	Replicas int32 `json:"replicas,omitempty"`

	// ReadyReplicas is the number of ready replicas
	// +optional
	ReadyReplicas int32 `json:"readyReplicas,omitempty"`

	// ObservedGeneration is the most recent generation observed by the operator
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Endpoints contains cluster endpoints
	// +optional
	Endpoints EndpointsStatus `json:"endpoints,omitempty"`
}

StreamBusClusterStatus defines the observed state of StreamBusCluster

func (*StreamBusClusterStatus) DeepCopy

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

func (*StreamBusClusterStatus) DeepCopyInto

func (in *StreamBusClusterStatus) DeepCopyInto(out *StreamBusClusterStatus)

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

type TLSSpec

type TLSSpec struct {
	// Enabled enables TLS
	// +kubebuilder:default=false
	Enabled bool `json:"enabled,omitempty"`

	// SecretName is the name of the secret containing TLS certificates
	// +optional
	SecretName string `json:"secretName,omitempty"`
}

TLSSpec defines TLS configuration

func (*TLSSpec) DeepCopy

func (in *TLSSpec) DeepCopy() *TLSSpec

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

func (*TLSSpec) DeepCopyInto

func (in *TLSSpec) DeepCopyInto(out *TLSSpec)

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

type TracingSpec

type TracingSpec struct {
	// Enabled enables tracing
	// +kubebuilder:default=false
	Enabled bool `json:"enabled,omitempty"`

	// Endpoint is the OTLP endpoint
	// +optional
	Endpoint string `json:"endpoint,omitempty"`
}

TracingSpec defines tracing configuration

func (*TracingSpec) DeepCopy

func (in *TracingSpec) DeepCopy() *TracingSpec

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

func (*TracingSpec) DeepCopyInto

func (in *TracingSpec) DeepCopyInto(out *TracingSpec)

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

Jump to

Keyboard shortcuts

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