Documentation ¶
Overview ¶
Package v1beta1 contains API Schema definitions for the banzaicloud v1beta1 API group +kubebuilder:object:generate=true +groupName=kafka.banzaicloud.io
Index ¶
- Constants
- Variables
- type AlertManagerConfig
- type Broker
- type BrokerConfig
- func (in *BrokerConfig) DeepCopy() *BrokerConfig
- func (in *BrokerConfig) DeepCopyInto(out *BrokerConfig)
- func (bConfig *BrokerConfig) GetBrokerAnnotations() map[string]string
- func (bConfig *BrokerConfig) GetImagePullSecrets() []corev1.LocalObjectReference
- func (bConfig *BrokerConfig) GetKafkaHeapOpts() string
- func (bConfig *BrokerConfig) GetKafkaPerfJmvOpts() string
- func (bConfig *BrokerConfig) GetNodeSelector() map[string]string
- func (bConfig *BrokerConfig) GetResources() *corev1.ResourceRequirements
- func (bConfig *BrokerConfig) GetServiceAccount() string
- func (bConfig *BrokerConfig) GetTolerations() []corev1.Toleration
- type BrokerState
- type ClusterState
- type CommonListenerSpec
- type Config
- type ConfigurationState
- type CruiseControlConfig
- func (in *CruiseControlConfig) DeepCopy() *CruiseControlConfig
- func (in *CruiseControlConfig) DeepCopyInto(out *CruiseControlConfig)
- func (cConfig *CruiseControlConfig) GetCCImage() string
- func (cConfig *CruiseControlConfig) GetCCLog4jConfig() string
- func (cConfig *CruiseControlConfig) GetCruiseControlAnnotations() map[string]string
- func (cConfig *CruiseControlConfig) GetImagePullSecrets() []corev1.LocalObjectReference
- func (cConfig *CruiseControlConfig) GetNodeSelector() map[string]string
- func (cConfig *CruiseControlConfig) GetResources() *corev1.ResourceRequirements
- func (cConfig *CruiseControlConfig) GetServiceAccount() string
- func (cConfig *CruiseControlConfig) GetTolerations() []corev1.Toleration
- type CruiseControlState
- type CruiseControlTaskSpec
- type CruiseControlTopicStatus
- type CruiseControlUserTaskState
- type CruiseControlVolumeState
- type DisruptionBudget
- type DisruptionBudgetWithStrategy
- type EnvoyConfig
- func (in *EnvoyConfig) DeepCopy() *EnvoyConfig
- func (in *EnvoyConfig) DeepCopyInto(out *EnvoyConfig)
- func (eConfig *EnvoyConfig) GetAffinity() *corev1.Affinity
- func (eConfig *EnvoyConfig) GetAnnotations() map[string]string
- func (eConfig *EnvoyConfig) GetEnvoyAdminPort() int32
- func (eConfig *EnvoyConfig) GetEnvoyImage() string
- func (eConfig *EnvoyConfig) GetImagePullSecrets() []corev1.LocalObjectReference
- func (eConfig *EnvoyConfig) GetLoadBalancerSourceRanges() []string
- func (eConfig *EnvoyConfig) GetNodeSelector() map[string]string
- func (eConfig *EnvoyConfig) GetReplicas() int32
- func (eConfig *EnvoyConfig) GetResources() *corev1.ResourceRequirements
- func (eConfig *EnvoyConfig) GetServiceAccount() string
- func (eConfig *EnvoyConfig) GetTolerations() []corev1.Toleration
- type ExternalListenerConfig
- type ExternalListenerConfigNames
- type GracefulActionState
- type IngressConfig
- type IngressServiceSettings
- type InternalListenerConfig
- type IstioIngressConfig
- func (in *IstioIngressConfig) DeepCopy() *IstioIngressConfig
- func (in *IstioIngressConfig) DeepCopyInto(out *IstioIngressConfig)
- func (iIConfig *IstioIngressConfig) GetAnnotations() map[string]string
- func (iIConfig *IstioIngressConfig) GetReplicas() int32
- func (iIConfig *IstioIngressConfig) GetResources() *corev1.ResourceRequirements
- func (iIConfig *IstioIngressConfig) GetVirtualServiceAnnotations() map[string]string
- type KafkaCluster
- type KafkaClusterList
- type KafkaClusterSpec
- func (in *KafkaClusterSpec) DeepCopy() *KafkaClusterSpec
- func (in *KafkaClusterSpec) DeepCopyInto(out *KafkaClusterSpec)
- func (kSpec *KafkaClusterSpec) GetClusterImage() string
- func (kSpec *KafkaClusterSpec) GetIngressController() string
- func (kSpec *KafkaClusterSpec) GetKubernetesClusterDomain() string
- func (kSpec *KafkaClusterSpec) GetZkPath() string
- type KafkaClusterStatus
- type KafkaVersion
- type ListenerStatus
- type ListenerStatusList
- type ListenerStatuses
- type ListenersConfig
- type MonitoringConfig
- func (in *MonitoringConfig) DeepCopy() *MonitoringConfig
- func (in *MonitoringConfig) DeepCopyInto(out *MonitoringConfig)
- func (mConfig *MonitoringConfig) GetCCJMXExporterConfig() string
- func (mConfig *MonitoringConfig) GetImage() string
- func (mConfig *MonitoringConfig) GetKafkaJMXExporterConfig() string
- func (mConfig *MonitoringConfig) GetPathToJar() string
- type NetworkConfig
- type PKIBackend
- type PerBrokerConfigurationState
- type RackAwareness
- type RackAwarenessState
- type RollingUpgradeConfig
- type RollingUpgradeStatus
- type SSLSecrets
- type SecurityProtocol
- type StorageConfig
- type TopicConfig
- type VaultConfig
- type VolumeState
Constants ¶
const ( // Configured states the broker is running Configured RackAwarenessState = "Configured" // WaitingForRackAwareness states the broker is waiting for the rack awareness config WaitingForRackAwareness RackAwarenessState = "WaitingForRackAwareness" // Upscale cruise control states // GracefulUpscaleRequired states that a broker upscale is required GracefulUpscaleRequired CruiseControlState = "GracefulUpscaleRequired" // GracefulUpscaleRunning states that the broker upscale task is still running in CC GracefulUpscaleRunning CruiseControlState = "GracefulUpscaleRunning" // GracefulUpscaleSucceeded states the broker is updated gracefully OR // states that the broker is part of the initial cluster creation where CC topic is still in creating stage GracefulUpscaleSucceeded CruiseControlState = "GracefulUpscaleSucceeded" // Downscale cruise control states // GracefulDownscaleRequired states that a broker downscale is required GracefulDownscaleRequired CruiseControlState = "GracefulDownscaleRequired" // GracefulDownscaleRunning states that the broker downscale is still running in CC GracefulDownscaleRunning CruiseControlState = "GracefulDownscaleRunning" // GracefulDownscaleSucceeded states that the broker downscaled gracefully GracefulDownscaleSucceeded CruiseControlState = "GracefulDownscaleSucceeded" // Disk rebalance cruise control states // GracefulDiskRebalanceRequired states that the broker volume needs a CC disk rebalance GracefulDiskRebalanceRequired CruiseControlVolumeState = "GracefulDiskRebalanceRequired" // GracefulDiskRebalanceRunning states that for the broker volume a CC disk rebalance is in progress GracefulDiskRebalanceRunning CruiseControlVolumeState = "GracefulDiskRebalanceRunning" // GracefulDiskRebalanceSucceeded states that the for the broker volume rebalance has succeeded GracefulDiskRebalanceSucceeded CruiseControlVolumeState = "GracefulDiskRebalanceSucceeded" // CruiseControlTopicNotReady states the CC required topic is not yet created CruiseControlTopicNotReady CruiseControlTopicStatus = "CruiseControlTopicNotReady" // CruiseControlTopicReady states the CC required topic is created CruiseControlTopicReady CruiseControlTopicStatus = "CruiseControlTopicReady" // CruiseControlTaskActive states the CC task is scheduled but not yet running CruiseControlTaskActive CruiseControlUserTaskState = "Active" // CruiseControlTaskNotFound states the CC task is not found (can happen when CC is restarted during operation) CruiseControlTaskNotFound CruiseControlUserTaskState = "NotFound" // CruiseControlTaskInExecution states the CC task is executing CruiseControlTaskInExecution CruiseControlUserTaskState = "InExecution" // CruiseControlTaskCompleted states the CC task completed successfully CruiseControlTaskCompleted CruiseControlUserTaskState = "Completed" // CruiseControlTaskCompletedWithError states the CC task completed with error CruiseControlTaskCompletedWithError CruiseControlUserTaskState = "CompletedWithError" // KafkaClusterReconciling states that the cluster is still in reconciling stage KafkaClusterReconciling ClusterState = "ClusterReconciling" // KafkaClusterRollingUpgrading states that the cluster is rolling upgrading KafkaClusterRollingUpgrading ClusterState = "ClusterRollingUpgrading" // KafkaClusterRunning states that the cluster is in running state KafkaClusterRunning ClusterState = "ClusterRunning" // ConfigInSync states that the generated brokerConfig is in sync with the Broker ConfigInSync ConfigurationState = "ConfigInSync" // ConfigOutOfSync states that the generated brokerConfig is out of sync with the Broker ConfigOutOfSync ConfigurationState = "ConfigOutOfSync" // PerBrokerConfigInSync states that the generated per-broker brokerConfig is in sync with the Broker PerBrokerConfigInSync PerBrokerConfigurationState = "PerBrokerConfigInSync" // PerBrokerConfigOutOfSync states that the generated per-broker brokerConfig is out of sync with the Broker PerBrokerConfigOutOfSync PerBrokerConfigurationState = "PerBrokerConfigOutOfSync" // PerBrokerConfigError states that the generated per-broker brokerConfig can not be set in the Broker PerBrokerConfigError PerBrokerConfigurationState = "PerBrokerConfigError" // SecurityProtocolSSL SecurityProtocolSSL SecurityProtocol = "ssl" // SecurityProtocolPlaintext SecurityProtocolPlaintext SecurityProtocol = "plaintext" // SecurityProtocolSaslSSL SecurityProtocolSaslSSL SecurityProtocol = "sasl_ssl" // SecurityProtocolSaslPlaintext SecurityProtocolSaslPlaintext SecurityProtocol = "sasl_plaintext" )
const ( // DefaultServiceAccountName name used for the various ServiceAccounts DefaultServiceAccountName = "default" // DefaultAnyCastPort kafka anycast port that can be used by clients for metadata queries DefaultAnyCastPort = 29092 // DefaultEnvoyAdminPort envoy admin port DefaultEnvoyAdminPort = 9901 )
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "kafka.banzaicloud.io", Version: "v1beta1"} // 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 AlertManagerConfig ¶
type AlertManagerConfig struct { // DownScaleLimit the limit for auto-downscaling the Kafka cluster. // Once the size of the cluster (number of brokers) reaches or falls below this limit the auto-downscaling triggered by alerts is disabled until the cluster size exceeds this limit. // This limit is not enforced if this field is omitted or is <= 0. DownScaleLimit int `json:"downScaleLimit,omitempty"` // UpScaleLimit the limit for auto-upscaling the Kafka cluster. // Once the size of the cluster (number of brokers) reaches or exceeds this limit the auto-upscaling triggered by alerts is disabled until the cluster size falls below this limit. // This limit is not enforced if this field is omitted or is <= 0. UpScaleLimit int `json:"upScaleLimit,omitempty"` }
AlertManagerConfig defines configuration for alert manager
func (*AlertManagerConfig) DeepCopy ¶
func (in *AlertManagerConfig) DeepCopy() *AlertManagerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlertManagerConfig.
func (*AlertManagerConfig) DeepCopyInto ¶
func (in *AlertManagerConfig) DeepCopyInto(out *AlertManagerConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Broker ¶
type Broker struct { Id int32 `json:"id"` BrokerConfigGroup string `json:"brokerConfigGroup,omitempty"` ReadOnlyConfig string `json:"readOnlyConfig,omitempty"` BrokerConfig *BrokerConfig `json:"brokerConfig,omitempty"` }
Broker defines the broker basic configuration
func (*Broker) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Broker.
func (*Broker) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Broker) GetBrokerConfig ¶
func (b *Broker) GetBrokerConfig(kafkaClusterSpec KafkaClusterSpec) (*BrokerConfig, error)
GetBrokerConfig composes the brokerConfig for a given broker using the broker's config group
type BrokerConfig ¶
type BrokerConfig struct { Image string `json:"image,omitempty"` Config string `json:"config,omitempty"` StorageConfigs []StorageConfig `json:"storageConfigs,omitempty"` ServiceAccountName string `json:"serviceAccountName,omitempty"` Resources *corev1.ResourceRequirements `json:"resourceRequirements,omitempty"` ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"` NodeSelector map[string]string `json:"nodeSelector,omitempty"` Tolerations []corev1.Toleration `json:"tolerations,omitempty"` KafkaHeapOpts string `json:"kafkaHeapOpts,omitempty"` KafkaJVMPerfOpts string `json:"kafkaJvmPerfOpts,omitempty"` // Override for the default log4j configuration Log4jConfig string `json:"log4jConfig,omitempty"` // Custom annotations for the broker pods - e.g.: Prometheus scraping annotations: // prometheus.io/scrape: "true" // prometheus.io/port: "9020" BrokerAnnotations map[string]string `json:"brokerAnnotations,omitempty"` // Network throughput information in kB/s used by Cruise Control to determine broker network capacity. // By default it is set to `125000` which means 1Gbit/s in network throughput. NetworkConfig *NetworkConfig `json:"networkConfig,omitempty"` // External listeners that use NodePort type service to expose the broker outside the Kubernetes clusterT and their // external IP to advertise Kafka broker external listener. The external IP value is ignored in case of external listeners that use LoadBalancer // type service to expose the broker outside the Kubernetes cluster. Also, when "hostnameOverride" field of the external listener is set // it will override the broker's external listener advertise address according to the description of the "hostnameOverride" field. NodePortExternalIP map[string]string `json:"nodePortExternalIP,omitempty"` // Any definition received through this field will override the default behaviour of OneBrokerPerNode flag // and the operator supposes that the user is aware of how scheduling is done by kubernetes // Affinity could be set through brokerConfigGroups definitions and can be set for individual brokers as well // where letter setting will override the group setting Affinity *corev1.Affinity `json:"affinity,omitempty"` PodSecurityContext *corev1.PodSecurityContext `json:"podSecurityContext,omitempty"` // SecurityContext allows to set security context for the kafka container SecurityContext *corev1.SecurityContext `json:"securityContext,omitempty"` // BrokerIngressMapping allows to set specific ingress to a specific broker mappings. // If left empty, all broker will inherit the default one specified under external listeners config // Only used when ExternalListeners.Config is populated BrokerIngressMapping []string `json:"brokerIngressMapping,omitempty"` // InitContainers add extra initContainers to the Kafka broker pod InitContainers []corev1.Container `json:"initContainers,omitempty"` // Containers add extra Containers to the Kafka broker pod Containers []corev1.Container `json:"containers,omitempty"` // Volumes define some extra Kubernetes Volumes for the Kafka broker Pods. Volumes []corev1.Volume `json:"volumes,omitempty"` // VolumeMounts define some extra Kubernetes VolumeMounts for the Kafka broker Pods. VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"` // Envs defines environment variables for Kafka broker Pods. // Adding the "+" prefix to the name prepends the value to that environment variable instead of overwriting it. // Add the "+" suffix to append. Envs []corev1.EnvVar `json:"envs,omitempty"` }
BrokerConfig defines the broker configuration
func (*BrokerConfig) DeepCopy ¶
func (in *BrokerConfig) DeepCopy() *BrokerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BrokerConfig.
func (*BrokerConfig) DeepCopyInto ¶
func (in *BrokerConfig) DeepCopyInto(out *BrokerConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BrokerConfig) GetBrokerAnnotations ¶
func (bConfig *BrokerConfig) GetBrokerAnnotations() map[string]string
GetBrokerAnnotations return the annotations which applied to broker pods
func (*BrokerConfig) GetImagePullSecrets ¶
func (bConfig *BrokerConfig) GetImagePullSecrets() []corev1.LocalObjectReference
GetImagePullSecrets returns the list of Secrets needed to pull Containers images from private repositories
func (*BrokerConfig) GetKafkaHeapOpts ¶
func (bConfig *BrokerConfig) GetKafkaHeapOpts() string
GetKafkaHeapOpts returns the broker specific Heap settings
func (*BrokerConfig) GetKafkaPerfJmvOpts ¶
func (bConfig *BrokerConfig) GetKafkaPerfJmvOpts() string
GetKafkaPerfJmvOpts returns the broker specific Perf JVM settings
func (*BrokerConfig) GetNodeSelector ¶
func (bConfig *BrokerConfig) GetNodeSelector() map[string]string
GetNodeSelector returns the node selector for the given broker
func (*BrokerConfig) GetResources ¶
func (bConfig *BrokerConfig) GetResources() *corev1.ResourceRequirements
GetResources returns the broker specific Kubernetes resource
func (*BrokerConfig) GetServiceAccount ¶
func (bConfig *BrokerConfig) GetServiceAccount() string
GetServiceAccount returns the Kubernetes Service Account to use for Kafka Cluster
func (*BrokerConfig) GetTolerations ¶
func (bConfig *BrokerConfig) GetTolerations() []corev1.Toleration
GetTolerations returns the tolerations for the given broker
type BrokerState ¶
type BrokerState struct { // RackAwarenessState holds info about rack awareness status RackAwarenessState RackAwarenessState `json:"rackAwarenessState"` // GracefulActionState holds info about cc action status GracefulActionState GracefulActionState `json:"gracefulActionState"` // ConfigurationState holds info about the config ConfigurationState ConfigurationState `json:"configurationState"` // PerBrokerConfigurationState holds info about the per-broker (dynamically updatable) config PerBrokerConfigurationState PerBrokerConfigurationState `json:"perBrokerConfigurationState"` // ExternalListenerConfigNames holds info about what listener config is in use with the broker ExternalListenerConfigNames ExternalListenerConfigNames `json:"externalListenerConfigNames,omitempty"` // Version holds the current version of the broker in semver format Version string `json:"version,omitempty"` // Image specifies the current docker image of the broker Image string `json:"image,omitempty"` }
BrokerState holds information about broker state
func (*BrokerState) DeepCopy ¶
func (in *BrokerState) DeepCopy() *BrokerState
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BrokerState.
func (*BrokerState) DeepCopyInto ¶
func (in *BrokerState) DeepCopyInto(out *BrokerState)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CommonListenerSpec ¶
type CommonListenerSpec struct { // +kubebuilder:validation:Enum=ssl;plaintext;sasl_ssl;sasl_plaintext Type SecurityProtocol `json:"type"` // +kubebuilder:validation:Pattern=^[a-z0-9\-]+ Name string `json:"name"` ContainerPort int32 `json:"containerPort"` }
CommonListenerSpec defines the common building block for Listener type
func (*CommonListenerSpec) DeepCopy ¶
func (in *CommonListenerSpec) DeepCopy() *CommonListenerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CommonListenerSpec.
func (*CommonListenerSpec) DeepCopyInto ¶
func (in *CommonListenerSpec) DeepCopyInto(out *CommonListenerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CommonListenerSpec) GetListenerServiceName ¶
func (lP *CommonListenerSpec) GetListenerServiceName() string
GetListenerName returns the prepared listener name
type Config ¶
type Config struct { DefaultIngressConfig string `json:"defaultIngressConfig"` IngressConfig map[string]IngressConfig `json:"ingressConfig,omitempty"` }
Config defines the external access ingress controller configuration
func (*Config) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Config.
func (*Config) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConfigurationState ¶
type ConfigurationState string
ConfigurationState holds info about the configuration state
type CruiseControlConfig ¶
type CruiseControlConfig struct { CruiseControlTaskSpec CruiseControlTaskSpec `json:"cruiseControlTaskSpec,omitempty"` CruiseControlEndpoint string `json:"cruiseControlEndpoint,omitempty"` Resources *corev1.ResourceRequirements `json:"resourceRequirements,omitempty"` ServiceAccountName string `json:"serviceAccountName,omitempty"` ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"` NodeSelector map[string]string `json:"nodeSelector,omitempty"` Tolerations []corev1.Toleration `json:"tolerations,omitempty"` Config string `json:"config,omitempty"` CapacityConfig string `json:"capacityConfig,omitempty"` ClusterConfig string `json:"clusterConfig,omitempty"` Log4jConfig string `json:"log4jConfig,omitempty"` Image string `json:"image,omitempty"` TopicConfig *TopicConfig `json:"topicConfig,omitempty"` // Annotations to be applied to CruiseControl pod // +optional CruiseControlAnnotations map[string]string `json:"cruiseControlAnnotations,omitempty"` // InitContainers add extra initContainers to CruiseControl pod InitContainers []corev1.Container `json:"initContainers,omitempty"` // Volumes define some extra Kubernetes Volumes for the CruiseControl Pods. Volumes []corev1.Volume `json:"volumes,omitempty"` // VolumeMounts define some extra Kubernetes Volume mounts for the CruiseControl Pods. VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"` PodSecurityContext *corev1.PodSecurityContext `json:"podSecurityContext,omitempty"` // SecurityContext allows to set security context for the CruiseControl container SecurityContext *corev1.SecurityContext `json:"securityContext,omitempty"` }
CruiseControlConfig defines the config for Cruise Control
func (*CruiseControlConfig) DeepCopy ¶
func (in *CruiseControlConfig) DeepCopy() *CruiseControlConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CruiseControlConfig.
func (*CruiseControlConfig) DeepCopyInto ¶
func (in *CruiseControlConfig) DeepCopyInto(out *CruiseControlConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CruiseControlConfig) GetCCImage ¶
func (cConfig *CruiseControlConfig) GetCCImage() string
GetCCImage returns the used Cruise Control image
func (*CruiseControlConfig) GetCCLog4jConfig ¶
func (cConfig *CruiseControlConfig) GetCCLog4jConfig() string
GetCCLog4jConfig returns the used Cruise Control log4j configuration
func (*CruiseControlConfig) GetCruiseControlAnnotations ¶
func (cConfig *CruiseControlConfig) GetCruiseControlAnnotations() map[string]string
GetCruiseControlAnnotations return the annotations which applied to CruiseControl pod
func (*CruiseControlConfig) GetImagePullSecrets ¶
func (cConfig *CruiseControlConfig) GetImagePullSecrets() []corev1.LocalObjectReference
GetImagePullSecrets returns the list of Secrets needed to pull Containers images from private repositories
func (*CruiseControlConfig) GetNodeSelector ¶
func (cConfig *CruiseControlConfig) GetNodeSelector() map[string]string
GetNodeSelector returns the node selector for cruise control
func (*CruiseControlConfig) GetResources ¶
func (cConfig *CruiseControlConfig) GetResources() *corev1.ResourceRequirements
GetResources returns the CC specific Kubernetes resource
func (*CruiseControlConfig) GetServiceAccount ¶
func (cConfig *CruiseControlConfig) GetServiceAccount() string
GetServiceAccount returns the Kubernetes Service Account to use for CruiseControl
func (*CruiseControlConfig) GetTolerations ¶
func (cConfig *CruiseControlConfig) GetTolerations() []corev1.Toleration
GetTolerations returns the tolerations for cruise control
type CruiseControlState ¶
type CruiseControlState string
CruiseControlState holds info about the state of Cruise Control
func (CruiseControlState) Complete ¶
func (r CruiseControlState) Complete() CruiseControlState
func (CruiseControlState) IsDownscale ¶
func (r CruiseControlState) IsDownscale() bool
func (CruiseControlState) IsRequiredState ¶
func (r CruiseControlState) IsRequiredState() bool
func (CruiseControlState) IsRunningState ¶
func (r CruiseControlState) IsRunningState() bool
func (CruiseControlState) IsUpscale ¶
func (r CruiseControlState) IsUpscale() bool
type CruiseControlTaskSpec ¶
type CruiseControlTaskSpec struct { // RetryDurationMinutes describes the amount of time the Operator waits for the task RetryDurationMinutes int `json:"RetryDurationMinutes"` }
CruiseControlTaskSpec specifies the configuration of the CC Tasks
func (*CruiseControlTaskSpec) DeepCopy ¶
func (in *CruiseControlTaskSpec) DeepCopy() *CruiseControlTaskSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CruiseControlTaskSpec.
func (*CruiseControlTaskSpec) DeepCopyInto ¶
func (in *CruiseControlTaskSpec) DeepCopyInto(out *CruiseControlTaskSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CruiseControlTaskSpec) GetDurationMinutes ¶
func (cTaskSpec *CruiseControlTaskSpec) GetDurationMinutes() float64
type CruiseControlTopicStatus ¶
type CruiseControlTopicStatus string
CruiseControlTopicStatus holds info about the CC topic status
type CruiseControlUserTaskState ¶
type CruiseControlUserTaskState string
CruiseControlUserTaskState holds info about the CC user task state
type CruiseControlVolumeState ¶
type CruiseControlVolumeState string
CruiseControlVolumeState holds information about the state of volume rebalance
type DisruptionBudget ¶
type DisruptionBudget struct { // If set to true, will create a podDisruptionBudget // +optional Create bool `json:"create,omitempty"` // The budget to set for the PDB, can either be static number or a percentage // +kubebuilder:validation:Pattern:="^[0-9]+$|^[0-9]{1,2}%$|^100%$" Budget string `json:"budget,omitempty"` }
DisruptionBudget defines the configuration for PodDisruptionBudget where the workload is managed by the kafka-operator
func (*DisruptionBudget) DeepCopy ¶
func (in *DisruptionBudget) DeepCopy() *DisruptionBudget
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DisruptionBudget.
func (*DisruptionBudget) DeepCopyInto ¶
func (in *DisruptionBudget) DeepCopyInto(out *DisruptionBudget)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DisruptionBudgetWithStrategy ¶
type DisruptionBudgetWithStrategy struct { // PodDisruptionBudget default settings DisruptionBudget DisruptionBudget `json:",inline"` // The strategy to be used, either minAvailable or maxUnavailable // +kubebuilder:validation:Enum=minAvailable;maxUnavailable Stategy string `json:"strategy,omitempty"` }
DisruptionBudgetWithStrategy defines the configuration for PodDisruptionBudget where the workload is managed by an external controller (eg. Deployments)
func (*DisruptionBudgetWithStrategy) DeepCopy ¶
func (in *DisruptionBudgetWithStrategy) DeepCopy() *DisruptionBudgetWithStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DisruptionBudgetWithStrategy.
func (*DisruptionBudgetWithStrategy) DeepCopyInto ¶
func (in *DisruptionBudgetWithStrategy) DeepCopyInto(out *DisruptionBudgetWithStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnvoyConfig ¶
type EnvoyConfig struct { Image string `json:"image,omitempty"` Resources *corev1.ResourceRequirements `json:"resourceRequirements,omitempty"` // +kubebuilder:validation:Minimum=1 Replicas int32 `json:"replicas,omitempty"` ServiceAccountName string `json:"serviceAccountName,omitempty"` ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"` Affinity *corev1.Affinity `json:"affinity,omitempty"` NodeSelector map[string]string `json:"nodeSelector,omitempty"` Tolerations []corev1.Toleration `json:"tolerations,omitempty"` // Annotations defines the annotations placed on the envoy ingress controller deployment Annotations map[string]string `json:"annotations,omitempty"` LoadBalancerSourceRanges []string `json:"loadBalancerSourceRanges,omitempty"` // LoadBalancerIP can be used to specify an exact IP for the LoadBalancer service LoadBalancerIP string `json:"loadBalancerIP,omitempty"` // Envoy admin port AdminPort *int32 `json:"adminPort,omitempty"` // DisruptionBudget is the pod disruption budget attached to Envoy Deployment(s) DisruptionBudget DisruptionBudgetWithStrategy `json:"disruptionBudget,omitempty"` }
EnvoyConfig defines the config for Envoy
func (*EnvoyConfig) DeepCopy ¶
func (in *EnvoyConfig) DeepCopy() *EnvoyConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyConfig.
func (*EnvoyConfig) DeepCopyInto ¶
func (in *EnvoyConfig) DeepCopyInto(out *EnvoyConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EnvoyConfig) GetAffinity ¶
func (eConfig *EnvoyConfig) GetAffinity() *corev1.Affinity
GetAffinity returns the Affinity config for envoy
func (*EnvoyConfig) GetAnnotations ¶
func (eConfig *EnvoyConfig) GetAnnotations() map[string]string
GetAnnotations returns Annotations to use for Envoy generated Deployment and Pods
func (*EnvoyConfig) GetEnvoyAdminPort ¶
func (eConfig *EnvoyConfig) GetEnvoyAdminPort() int32
GetEnvoyAdminPort returns the envoy admin port
func (*EnvoyConfig) GetEnvoyImage ¶
func (eConfig *EnvoyConfig) GetEnvoyImage() string
GetEnvoyImage returns the used envoy image
func (*EnvoyConfig) GetImagePullSecrets ¶
func (eConfig *EnvoyConfig) GetImagePullSecrets() []corev1.LocalObjectReference
GetImagePullSecrets returns the list of Secrets needed to pull Containers images from private repositories
func (*EnvoyConfig) GetLoadBalancerSourceRanges ¶
func (eConfig *EnvoyConfig) GetLoadBalancerSourceRanges() []string
GetLoadBalancerSourceRanges returns LoadBalancerSourceRanges to use for Envoy generated LoadBalancer
func (*EnvoyConfig) GetNodeSelector ¶
func (eConfig *EnvoyConfig) GetNodeSelector() map[string]string
GetNodeSelector returns the node selector for envoy
func (*EnvoyConfig) GetReplicas ¶
func (eConfig *EnvoyConfig) GetReplicas() int32
GetReplicas returns replicas used by the Envoy deployment
func (*EnvoyConfig) GetResources ¶
func (eConfig *EnvoyConfig) GetResources() *corev1.ResourceRequirements
GetResources returns the envoy specific Kubernetes resource
func (*EnvoyConfig) GetServiceAccount ¶
func (eConfig *EnvoyConfig) GetServiceAccount() string
GetServiceAccount returns the Kubernetes Service Account to use for EnvoyConfig
func (*EnvoyConfig) GetTolerations ¶
func (eConfig *EnvoyConfig) GetTolerations() []corev1.Toleration
GetTolerations returns the tolerations for envoy
type ExternalListenerConfig ¶
type ExternalListenerConfig struct { CommonListenerSpec `json:",inline"` IngressServiceSettings `json:",inline"` ExternalStartingPort int32 `json:"externalStartingPort"` // configuring AnyCastPort allows kafka cluster access without specifying the exact broker AnyCastPort *int32 `json:"anyCastPort,omitempty"` // +kubebuilder:validation:Enum=LoadBalancer;NodePort // accessMethod defines the method which the external listener is exposed through. // Two types are supported LoadBalancer and NodePort. // The recommended and default is the LoadBalancer. // NodePort should be used in Kubernetes environments with no support for provisioning Load Balancers. // +optional AccessMethod corev1.ServiceType `json:"accessMethod,omitempty"` // Config allows to specify ingress controller configuration per external listener // if set overrides the the default `KafkaClusterSpec.IstioIngressConfig` or `KafkaClusterSpec.EnvoyConfig` for this external listener. // +optional Config *Config `json:"config,omitempty"` }
ExternalListenerConfig defines the external listener config for Kafka
func (*ExternalListenerConfig) DeepCopy ¶
func (in *ExternalListenerConfig) DeepCopy() *ExternalListenerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalListenerConfig.
func (*ExternalListenerConfig) DeepCopyInto ¶
func (in *ExternalListenerConfig) DeepCopyInto(out *ExternalListenerConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ExternalListenerConfig) GetAccessMethod ¶
func (c ExternalListenerConfig) GetAccessMethod() corev1.ServiceType
func (ExternalListenerConfig) GetAnyCastPort ¶
func (c ExternalListenerConfig) GetAnyCastPort() int32
type ExternalListenerConfigNames ¶
type ExternalListenerConfigNames []string
ExternalListenerConfigNames type describes a collection of external listener names
func (ExternalListenerConfigNames) DeepCopy ¶
func (in ExternalListenerConfigNames) DeepCopy() ExternalListenerConfigNames
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalListenerConfigNames.
func (ExternalListenerConfigNames) DeepCopyInto ¶
func (in ExternalListenerConfigNames) DeepCopyInto(out *ExternalListenerConfigNames)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GracefulActionState ¶
type GracefulActionState struct { // ErrorMessage holds the information what happened with CC ErrorMessage string `json:"errorMessage"` // CruiseControlTaskId holds info about the task id ran by CC CruiseControlTaskId string `json:"cruiseControlTaskId,omitempty"` // TaskStarted hold the time when the execution started TaskStarted string `json:"TaskStarted,omitempty"` // CruiseControlState holds the information about CC state CruiseControlState CruiseControlState `json:"cruiseControlState"` // VolumeStates holds the information about the CC disk rebalance states and tasks VolumeStates map[string]VolumeState `json:"volumeStates,omitempty"` }
GracefulActionState holds information about GracefulAction State
func (*GracefulActionState) DeepCopy ¶
func (in *GracefulActionState) DeepCopy() *GracefulActionState
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GracefulActionState.
func (*GracefulActionState) DeepCopyInto ¶
func (in *GracefulActionState) DeepCopyInto(out *GracefulActionState)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IngressConfig ¶
type IngressConfig struct { IngressServiceSettings `json:",inline"` IstioIngressConfig *IstioIngressConfig `json:"istioIngressConfig,omitempty"` EnvoyConfig *EnvoyConfig `json:"envoyConfig,omitempty"` }
func (*IngressConfig) DeepCopy ¶
func (in *IngressConfig) DeepCopy() *IngressConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressConfig.
func (*IngressConfig) DeepCopyInto ¶
func (in *IngressConfig) DeepCopyInto(out *IngressConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IngressServiceSettings ¶
type IngressServiceSettings struct { // In case of external listeners using LoadBalancer access method the value of this field is used to advertise the // Kafka broker external listener instead of the public IP of the provisioned LoadBalancer service (e.g. can be used to // advertise the listener using a URL recorded in DNS instead of public IP). // In case of external listeners using NodePort access method the broker instead of node public IP (see "brokerConfig.nodePortExternalIP") // is advertised on the address having the following format: <kafka-cluster-name>-<broker-id>.<namespace><value-specified-in-hostnameOverride-field> HostnameOverride string `json:"hostnameOverride,omitempty"` // ServiceAnnotations defines annotations which will // be placed to the service or services created for the external listener ServiceAnnotations map[string]string `json:"serviceAnnotations,omitempty"` // externalTrafficPolicy denotes if this Service desires to route external // traffic to node-local or cluster-wide endpoints. "Local" preserves the // client source IP and avoids a second hop for LoadBalancer and Nodeport // type services, but risks potentially imbalanced traffic spreading. // "Cluster" obscures the client source IP and may cause a second hop to // another node, but should have good overall load-spreading. // +optional ExternalTrafficPolicy corev1.ServiceExternalTrafficPolicyType `json:"externalTrafficPolicy,omitempty"` // Service Type string describes ingress methods for a service // Only "NodePort" and "LoadBalancer" is supported. // Default value is LoadBalancer ServiceType corev1.ServiceType `json:"serviceType,omitempty"` }
func (*IngressServiceSettings) DeepCopy ¶
func (in *IngressServiceSettings) DeepCopy() *IngressServiceSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressServiceSettings.
func (*IngressServiceSettings) DeepCopyInto ¶
func (in *IngressServiceSettings) DeepCopyInto(out *IngressServiceSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (IngressServiceSettings) GetServiceAnnotations ¶
func (c IngressServiceSettings) GetServiceAnnotations() map[string]string
GetServiceAnnotations returns a copy of the ServiceAnnotations field.
func (IngressServiceSettings) GetServiceType ¶
func (c IngressServiceSettings) GetServiceType() corev1.ServiceType
GetServiceType returns the field value of ServiceType defaults to LoadBalancer.
type InternalListenerConfig ¶
type InternalListenerConfig struct { CommonListenerSpec `json:",inline"` UsedForInnerBrokerCommunication bool `json:"usedForInnerBrokerCommunication"` UsedForControllerCommunication bool `json:"usedForControllerCommunication,omitempty"` }
InternalListenerConfig defines the internal listener config for Kafka
func (*InternalListenerConfig) DeepCopy ¶
func (in *InternalListenerConfig) DeepCopy() *InternalListenerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InternalListenerConfig.
func (*InternalListenerConfig) DeepCopyInto ¶
func (in *InternalListenerConfig) DeepCopyInto(out *InternalListenerConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IstioIngressConfig ¶
type IstioIngressConfig struct { Resources *corev1.ResourceRequirements `json:"resourceRequirements,omitempty"` // +kubebuilder:validation:Minimum=1 Replicas int32 `json:"replicas,omitempty"` NodeSelector map[string]string `json:"nodeSelector,omitempty"` Tolerations []corev1.Toleration `json:"tolerations,omitempty"` // Annotations defines the annotations placed on the istio ingress controller deployment Annotations map[string]string `json:"annotations,omitempty"` TLSOptions *v1alpha3.TLSOptions `json:"gatewayConfig,omitempty"` VirtualServiceAnnotations map[string]string `json:"virtualServiceAnnotations,omitempty"` // Envs allows to add additional env vars to the istio meshgateway resource Envs []corev1.EnvVar `json:"envs,omitempty"` }
IstioIngressConfig defines the config for the Istio Ingress Controller
func (*IstioIngressConfig) DeepCopy ¶
func (in *IstioIngressConfig) DeepCopy() *IstioIngressConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IstioIngressConfig.
func (*IstioIngressConfig) DeepCopyInto ¶
func (in *IstioIngressConfig) DeepCopyInto(out *IstioIngressConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IstioIngressConfig) GetAnnotations ¶
func (iIConfig *IstioIngressConfig) GetAnnotations() map[string]string
func (*IstioIngressConfig) GetReplicas ¶
func (iIConfig *IstioIngressConfig) GetReplicas() int32
GetReplicas returns replicas used by the Istio Ingress deployment
func (*IstioIngressConfig) GetResources ¶
func (iIConfig *IstioIngressConfig) GetResources() *corev1.ResourceRequirements
GetResources returns the IstioIngress specific Kubernetes resources
func (*IstioIngressConfig) GetVirtualServiceAnnotations ¶
func (iIConfig *IstioIngressConfig) GetVirtualServiceAnnotations() map[string]string
GetVirtualServiceAnnotations returns a copy of the VirtualServiceAnnotations field
type KafkaCluster ¶
type KafkaCluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec KafkaClusterSpec `json:"spec,omitempty"` Status KafkaClusterStatus `json:"status,omitempty"` }
KafkaCluster is the Schema for the kafkaclusters API
func (*KafkaCluster) DeepCopy ¶
func (in *KafkaCluster) DeepCopy() *KafkaCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KafkaCluster.
func (*KafkaCluster) DeepCopyInto ¶
func (in *KafkaCluster) DeepCopyInto(out *KafkaCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KafkaCluster) DeepCopyObject ¶
func (in *KafkaCluster) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type KafkaClusterList ¶
type KafkaClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []KafkaCluster `json:"items"` }
KafkaClusterList contains a list of KafkaCluster
func (*KafkaClusterList) DeepCopy ¶
func (in *KafkaClusterList) DeepCopy() *KafkaClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KafkaClusterList.
func (*KafkaClusterList) DeepCopyInto ¶
func (in *KafkaClusterList) DeepCopyInto(out *KafkaClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KafkaClusterList) DeepCopyObject ¶
func (in *KafkaClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type KafkaClusterSpec ¶
type KafkaClusterSpec struct { HeadlessServiceEnabled bool `json:"headlessServiceEnabled"` ListenersConfig ListenersConfig `json:"listenersConfig"` // ZKAddresses specifies the ZooKeeper connection string // in the form hostname:port where host and port are the host and port of a ZooKeeper server. ZKAddresses []string `json:"zkAddresses"` // ZKPath specifies the ZooKeeper chroot path as part // of its ZooKeeper connection string which puts its data under some path in the global ZooKeeper namespace. ZKPath string `json:"zkPath,omitempty"` RackAwareness *RackAwareness `json:"rackAwareness,omitempty"` ClusterImage string `json:"clusterImage,omitempty"` ReadOnlyConfig string `json:"readOnlyConfig,omitempty"` ClusterWideConfig string `json:"clusterWideConfig,omitempty"` BrokerConfigGroups map[string]BrokerConfig `json:"brokerConfigGroups,omitempty"` Brokers []Broker `json:"brokers"` DisruptionBudget DisruptionBudget `json:"disruptionBudget,omitempty"` RollingUpgradeConfig RollingUpgradeConfig `json:"rollingUpgradeConfig"` // +kubebuilder:validation:Enum=envoy;istioingress IngressController string `json:"ingressController,omitempty"` // If true OneBrokerPerNode ensures that each kafka broker will be placed on a different node unless a custom // Affinity definition overrides this behavior OneBrokerPerNode bool `json:"oneBrokerPerNode"` PropagateLabels bool `json:"propagateLabels,omitempty"` CruiseControlConfig CruiseControlConfig `json:"cruiseControlConfig"` EnvoyConfig EnvoyConfig `json:"envoyConfig,omitempty"` MonitoringConfig MonitoringConfig `json:"monitoringConfig,omitempty"` VaultConfig VaultConfig `json:"vaultConfig,omitempty"` AlertManagerConfig *AlertManagerConfig `json:"alertManagerConfig,omitempty"` IstioIngressConfig IstioIngressConfig `json:"istioIngressConfig,omitempty"` // Envs defines environment variables for Kafka broker Pods. // Adding the "+" prefix to the name prepends the value to that environment variable instead of overwriting it. // Add the "+" suffix to append. Envs []corev1.EnvVar `json:"envs,omitempty"` KubernetesClusterDomain string `json:"kubernetesClusterDomain,omitempty"` }
KafkaClusterSpec defines the desired state of KafkaCluster
func (*KafkaClusterSpec) DeepCopy ¶
func (in *KafkaClusterSpec) DeepCopy() *KafkaClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KafkaClusterSpec.
func (*KafkaClusterSpec) DeepCopyInto ¶
func (in *KafkaClusterSpec) DeepCopyInto(out *KafkaClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KafkaClusterSpec) GetClusterImage ¶
func (kSpec *KafkaClusterSpec) GetClusterImage() string
GetClusterImage returns the default container image for Kafka Cluster
func (*KafkaClusterSpec) GetIngressController ¶
func (kSpec *KafkaClusterSpec) GetIngressController() string
GetIngressController returns the default Envoy ingress controller if not specified otherwise
func (*KafkaClusterSpec) GetKubernetesClusterDomain ¶
func (kSpec *KafkaClusterSpec) GetKubernetesClusterDomain() string
GetDomain returns the default domain if not specified otherwise
func (*KafkaClusterSpec) GetZkPath ¶
func (kSpec *KafkaClusterSpec) GetZkPath() string
GetZkPath returns the default "/" ZkPath if not specified otherwise
type KafkaClusterStatus ¶
type KafkaClusterStatus struct { BrokersState map[string]BrokerState `json:"brokersState,omitempty"` CruiseControlTopicStatus CruiseControlTopicStatus `json:"cruiseControlTopicStatus,omitempty"` State ClusterState `json:"state"` RollingUpgrade RollingUpgradeStatus `json:"rollingUpgradeStatus,omitempty"` AlertCount int `json:"alertCount"` ListenerStatuses ListenerStatuses `json:"listenerStatuses,omitempty"` }
KafkaClusterStatus defines the observed state of KafkaCluster
func (*KafkaClusterStatus) DeepCopy ¶
func (in *KafkaClusterStatus) DeepCopy() *KafkaClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KafkaClusterStatus.
func (*KafkaClusterStatus) DeepCopyInto ¶
func (in *KafkaClusterStatus) DeepCopyInto(out *KafkaClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KafkaVersion ¶
type KafkaVersion struct { // Version holds the current version of the broker in semver format Version string `json:"version,omitempty"` // Image specifies the current docker image of the broker Image string `json:"image,omitempty"` }
KafkaVersion type describes the kafka version and docker version
func (*KafkaVersion) DeepCopy ¶
func (in *KafkaVersion) DeepCopy() *KafkaVersion
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KafkaVersion.
func (*KafkaVersion) DeepCopyInto ¶
func (in *KafkaVersion) DeepCopyInto(out *KafkaVersion)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ListenerStatus ¶
ListenerStatus holds information about the address of the listener
func (*ListenerStatus) DeepCopy ¶
func (in *ListenerStatus) DeepCopy() *ListenerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListenerStatus.
func (*ListenerStatus) DeepCopyInto ¶
func (in *ListenerStatus) DeepCopyInto(out *ListenerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ListenerStatusList ¶
type ListenerStatusList []ListenerStatus
ListenerStatusList can hold various amount of statuses based on the listener configuration.
func (ListenerStatusList) DeepCopy ¶
func (in ListenerStatusList) DeepCopy() ListenerStatusList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListenerStatusList.
func (ListenerStatusList) DeepCopyInto ¶
func (in ListenerStatusList) DeepCopyInto(out *ListenerStatusList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ListenerStatusList) Len ¶
func (l ListenerStatusList) Len() int
func (ListenerStatusList) Less ¶
func (l ListenerStatusList) Less(i, j int) bool
func (ListenerStatusList) Swap ¶
func (l ListenerStatusList) Swap(i, j int)
type ListenerStatuses ¶
type ListenerStatuses struct { InternalListeners map[string]ListenerStatusList `json:"internalListeners,omitempty"` ExternalListeners map[string]ListenerStatusList `json:"externalListeners,omitempty"` }
ListenerStatuses holds information about the statuses of the configured listeners. The internal and external listeners are stored in separate maps, and each listener can be looked up by name.
func (*ListenerStatuses) DeepCopy ¶
func (in *ListenerStatuses) DeepCopy() *ListenerStatuses
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListenerStatuses.
func (*ListenerStatuses) DeepCopyInto ¶
func (in *ListenerStatuses) DeepCopyInto(out *ListenerStatuses)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ListenersConfig ¶
type ListenersConfig struct { ExternalListeners []ExternalListenerConfig `json:"externalListeners,omitempty"` InternalListeners []InternalListenerConfig `json:"internalListeners"` SSLSecrets *SSLSecrets `json:"sslSecrets,omitempty"` ServiceAnnotations map[string]string `json:"serviceAnnotations,omitempty"` }
ListenersConfig defines the Kafka listener types
func (*ListenersConfig) DeepCopy ¶
func (in *ListenersConfig) DeepCopy() *ListenersConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListenersConfig.
func (*ListenersConfig) DeepCopyInto ¶
func (in *ListenersConfig) DeepCopyInto(out *ListenersConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ListenersConfig) GetServiceAnnotations ¶
func (c ListenersConfig) GetServiceAnnotations() map[string]string
GetServiceAnnotations returns a copy of the ServiceAnnotations field.
type MonitoringConfig ¶
type MonitoringConfig struct { JmxImage string `json:"jmxImage,omitempty"` PathToJar string `json:"pathToJar,omitempty"` KafkaJMXExporterConfig string `json:"kafkaJMXExporterConfig,omitempty"` CCJMXExporterConfig string `json:"cCJMXExporterConfig,omitempty"` }
MonitoringConfig defines the config for monitoring Kafka and Cruise Control
func (*MonitoringConfig) DeepCopy ¶
func (in *MonitoringConfig) DeepCopy() *MonitoringConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonitoringConfig.
func (*MonitoringConfig) DeepCopyInto ¶
func (in *MonitoringConfig) DeepCopyInto(out *MonitoringConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MonitoringConfig) GetCCJMXExporterConfig ¶
func (mConfig *MonitoringConfig) GetCCJMXExporterConfig() string
GetCCJMXExporterConfig returns the config for CC Prometheus JMX exporter
func (*MonitoringConfig) GetImage ¶
func (mConfig *MonitoringConfig) GetImage() string
GetImage returns the used image for Prometheus JMX exporter
func (*MonitoringConfig) GetKafkaJMXExporterConfig ¶
func (mConfig *MonitoringConfig) GetKafkaJMXExporterConfig() string
GetKafkaJMXExporterConfig returns the config for Kafka Prometheus JMX exporter
func (*MonitoringConfig) GetPathToJar ¶
func (mConfig *MonitoringConfig) GetPathToJar() string
GetPathToJar returns the path in the used Image for Prometheus JMX exporter
type NetworkConfig ¶
type NetworkConfig struct { IncomingNetworkThroughPut string `json:"incomingNetworkThroughPut,omitempty"` OutgoingNetworkThroughPut string `json:"outgoingNetworkThroughPut,omitempty"` }
func (*NetworkConfig) DeepCopy ¶
func (in *NetworkConfig) DeepCopy() *NetworkConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkConfig.
func (*NetworkConfig) DeepCopyInto ¶
func (in *NetworkConfig) DeepCopyInto(out *NetworkConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PKIBackend ¶
type PKIBackend string
PKIBackend represents an interface implementing the PKIManager
const ( // PKIBackendCertManager invokes cert-manager for user certificate management PKIBackendCertManager PKIBackend = "cert-manager" // PKIBackendVault invokes vault PKI for user certificate management PKIBackendVault PKIBackend = "vault" // PKIBackendProvided used to point the operator to use the PKI set in the cluster CR // for admin and users required for the cluster to run PKIBackendProvided PKIBackend = "pki-backend-provided" // PKIBackendK8sCSR invokes kubernetes csr API for user certificate management PKIBackendK8sCSR PKIBackend = "k8s-csr" )
type PerBrokerConfigurationState ¶
type PerBrokerConfigurationState string
PerBrokerConfigurationState holds info about the per-broker configuration state
type RackAwareness ¶
type RackAwareness struct {
Labels []string `json:"labels"`
}
RackAwareness defines the required fields to enable kafka's rack aware feature
func (*RackAwareness) DeepCopy ¶
func (in *RackAwareness) DeepCopy() *RackAwareness
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RackAwareness.
func (*RackAwareness) DeepCopyInto ¶
func (in *RackAwareness) DeepCopyInto(out *RackAwareness)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RackAwarenessState ¶
type RackAwarenessState string
RackAwarenessState stores info about rack awareness status
type RollingUpgradeConfig ¶
type RollingUpgradeConfig struct {
FailureThreshold int `json:"failureThreshold"`
}
RollingUpgradeConfig defines the desired config of the RollingUpgrade
func (*RollingUpgradeConfig) DeepCopy ¶
func (in *RollingUpgradeConfig) DeepCopy() *RollingUpgradeConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RollingUpgradeConfig.
func (*RollingUpgradeConfig) DeepCopyInto ¶
func (in *RollingUpgradeConfig) DeepCopyInto(out *RollingUpgradeConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RollingUpgradeStatus ¶
type RollingUpgradeStatus struct { LastSuccess string `json:"lastSuccess"` ErrorCount int `json:"errorCount"` }
RollingUpgradeStatus defines status of rolling upgrade
func (*RollingUpgradeStatus) DeepCopy ¶
func (in *RollingUpgradeStatus) DeepCopy() *RollingUpgradeStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RollingUpgradeStatus.
func (*RollingUpgradeStatus) DeepCopyInto ¶
func (in *RollingUpgradeStatus) DeepCopyInto(out *RollingUpgradeStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SSLSecrets ¶
type SSLSecrets struct { TLSSecretName string `json:"tlsSecretName"` JKSPasswordName string `json:"jksPasswordName"` Create bool `json:"create,omitempty"` IssuerRef *cmmeta.ObjectReference `json:"issuerRef,omitempty"` // +kubebuilder:validation:Enum={"cert-manager","vault"} PKIBackend PKIBackend `json:"pkiBackend,omitempty"` }
SSLSecrets defines the Kafka SSL secrets
func (*SSLSecrets) DeepCopy ¶
func (in *SSLSecrets) DeepCopy() *SSLSecrets
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSLSecrets.
func (*SSLSecrets) DeepCopyInto ¶
func (in *SSLSecrets) DeepCopyInto(out *SSLSecrets)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecurityProtocol ¶
type SecurityProtocol string
SecurityProtocol is the protocol used to communicate with brokers. Valid values are: plaintext, ssl, sasl_plaintext, sasl_ssl.
func (SecurityProtocol) Equal ¶
func (r SecurityProtocol) Equal(s SecurityProtocol) bool
Equal checks the equality between two SecurityProtocols
func (SecurityProtocol) IsPlaintext ¶
func (r SecurityProtocol) IsPlaintext() bool
IsPlaintext determines if the receiver is using plaintext
func (SecurityProtocol) IsSSL ¶
func (r SecurityProtocol) IsSSL() bool
IsSSL determines if the receiver is using SSL
func (SecurityProtocol) IsSasl ¶
func (r SecurityProtocol) IsSasl() bool
IsSasl determines if the receiver is using Sasl
func (SecurityProtocol) ToUpperString ¶
func (r SecurityProtocol) ToUpperString() string
ToUpperString converts SecurityProtocol to an upper string
type StorageConfig ¶
type StorageConfig struct { MountPath string `json:"mountPath"` PvcSpec *corev1.PersistentVolumeClaimSpec `json:"pvcSpec"` }
StorageConfig defines the broker storage configuration
func (*StorageConfig) DeepCopy ¶
func (in *StorageConfig) DeepCopy() *StorageConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageConfig.
func (*StorageConfig) DeepCopyInto ¶
func (in *StorageConfig) DeepCopyInto(out *StorageConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TopicConfig ¶
type TopicConfig struct { Partitions int32 `json:"partitions"` // +kubebuilder:validation:Minimum=2 ReplicationFactor int32 `json:"replicationFactor"` }
TopicConfig holds info for topic configuration regarding partitions and replicationFactor
func (*TopicConfig) DeepCopy ¶
func (in *TopicConfig) DeepCopy() *TopicConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopicConfig.
func (*TopicConfig) DeepCopyInto ¶
func (in *TopicConfig) DeepCopyInto(out *TopicConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VaultConfig ¶
type VaultConfig struct { AuthRole string `json:"authRole"` PKIPath string `json:"pkiPath"` IssuePath string `json:"issuePath"` UserStore string `json:"userStore"` }
VaultConfig defines the configuration for a vault PKI backend
func (*VaultConfig) DeepCopy ¶
func (in *VaultConfig) DeepCopy() *VaultConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VaultConfig.
func (*VaultConfig) DeepCopyInto ¶
func (in *VaultConfig) DeepCopyInto(out *VaultConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VolumeState ¶
type VolumeState struct { // ErrorMessage holds the information what happened with CC disk rebalance ErrorMessage string `json:"errorMessage"` // CruiseControlTaskId holds info about the task id ran by CC CruiseControlTaskId string `json:"cruiseControlTaskId,omitempty"` // TaskStarted hold the time when the execution started TaskStarted string `json:"TaskStarted,omitempty"` // CruiseControlVolumeState holds the information about the CC disk rebalance state CruiseControlVolumeState CruiseControlVolumeState `json:"cruiseControlVolumeState"` }
func (*VolumeState) DeepCopy ¶
func (in *VolumeState) DeepCopy() *VolumeState
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeState.
func (*VolumeState) DeepCopyInto ¶
func (in *VolumeState) DeepCopyInto(out *VolumeState)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.