Documentation
¶
Index ¶
- Variables
- type AuthenticationSpec
- type ClusterPhase
- type ConfigSpec
- type EndpointsStatus
- type ImageSpec
- type MetricsSpec
- type MultiTenancySpec
- type ObservabilitySpec
- type SASLSpec
- type SecuritySpec
- type StorageSpec
- type StreamBusCluster
- type StreamBusClusterList
- type StreamBusClusterSpec
- type StreamBusClusterStatus
- type TLSSpec
- type TracingSpec
Constants ¶
This section is empty.
Variables ¶
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 ¶
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 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SASLSpec.
func (*SASLSpec) DeepCopyInto ¶
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 ¶
func (in *StreamBusClusterList) DeepCopy() *StreamBusClusterList
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 ¶
func (in *StreamBusClusterSpec) DeepCopy() *StreamBusClusterSpec
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 ¶
func (in *StreamBusClusterStatus) DeepCopy() *StreamBusClusterStatus
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSSpec.
func (*TLSSpec) DeepCopyInto ¶
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.