v1alpha1

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Nov 14, 2023 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the pulsar v1alpha1 API group +kubebuilder:object:generate=true +groupName=pulsar.monime.sl

Index

Constants

View Source
const (
	BrokerSetupImageRepository        = "monime/pulsar-broker-setup"
	DefaultBrokerSetupImageVersion    = "latest"
	DefaultBrokerSetupImagePullPolicy = "Always"
)
View Source
const (
	ClientPortName       = "tcp-client"
	ClientTLSPortName    = "tls-client"
	WebPortName          = "http-web"
	WebTLSPortName       = "https-web"
	KopPlainTextPortName = "tcp-kop"
	KopSecuredPortName   = "tls-kop"
)
View Source
const (
	// ClusterStageInitialized - cluster object is created but statefulset not created
	ClusterStageInitialized = "Initialized"
	// ClusterStageLaunched - cluster is initialized and the pods have been created but not ready
	ClusterStageLaunched = "Launched"
	// ClusterStageRunning - cluster is launched and running
	ClusterStageRunning = "Running"
)

Variables

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

type ClusterStage string

ClusterStage represents the stage of the pulsar broker cluster

type Connector

type Connector struct {
	Builtin []string                `json:"builtin,omitempty"`
	Custom  []CustomConnectorSource `json:"custom,omitempty"`
}

type CustomConnectorSource

type CustomConnectorSource struct {
	URL     string            `json:"url,omitempty"`
	Headers map[string]string `json:"headers,omitempty"`
}

type JVMOptions

type JVMOptions struct {
	// Memory defines memory options
	// +optional
	Memory []string `json:"memory"`
	// Gc defines garbage collection options
	// +optional
	Gc []string `json:"gc"`
	// GcLogging defines garbage collection logging options
	// +optional
	GcLogging []string `json:"gcLogging"`
	// Extra defines extra options
	// +optional
	Extra []string `json:"extra"`
}

type KOP

type KOP struct {
	// Enabled defines whether this KOP is enabled or not.
	Enabled bool `json:"enabled,omitempty"`
	// < 0 means disabled
	// +optional
	PlainTextPort int32 `json:"plainTextPort,omitempty"`
	// < 0 means disabled
	SecuredPort int32 `json:"SecuredPort,omitempty"`
}

type Metadata

type Metadata struct {
	Stage ClusterStage `json:"stage,omitempty"`
}

Metadata defines the metadata status of the cluster

type MonitoringConfig

type MonitoringConfig struct {
	// Enabled defines whether this monitoring is enabled or not.
	Enabled bool `json:"enabled,omitempty"`
}

type Ports

type Ports struct {
	// +kubebuilder:validation:Minimum=1
	Client int32 `json:"client,omitempty"`
	// +kubebuilder:validation:Minimum=1
	ClientTLS int32 `json:"clientTLS,omitempty"`
	// +kubebuilder:validation:Minimum=1
	Web int32 `json:"web,omitempty"`
	// +kubebuilder:validation:Minimum=1
	WebTLS int32 `json:"WebTLS,omitempty"`
}

type PulsarCluster

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

	Spec   PulsarClusterSpec   `json:"spec,omitempty"`
	Status PulsarClusterStatus `json:"status,omitempty"`
}

PulsarCluster is the Schema for the pulsarclusters API

func (*PulsarCluster) BrokersDataPvcName

func (in *PulsarCluster) BrokersDataPvcName() string

func (*PulsarCluster) ClientHeadlessServiceFQDN

func (in *PulsarCluster) ClientHeadlessServiceFQDN() string

ClientHeadlessServiceFQDN defines the FQDN of the client headless service object

func (*PulsarCluster) ClientServiceFQDN

func (in *PulsarCluster) ClientServiceFQDN() string

ClientServiceFQDN defines the FQDN of the client service object

func (*PulsarCluster) ClientServiceName

func (in *PulsarCluster) ClientServiceName() string

ClientServiceName defines the name of the client service object

func (*PulsarCluster) ConfigMapName

func (in *PulsarCluster) ConfigMapName() string

ConfigMapName defines the name of the configmap object

func (*PulsarCluster) Default

func (in *PulsarCluster) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*PulsarCluster) GenerateAnnotations

func (in *PulsarCluster) GenerateAnnotations() map[string]string

func (*PulsarCluster) GenerateLabels

func (in *PulsarCluster) GenerateLabels(broker bool) map[string]string

func (*PulsarCluster) HeadlessServiceName

func (in *PulsarCluster) HeadlessServiceName() string

HeadlessServiceName defines the name of the headless service object

func (*PulsarCluster) Image

func (in *PulsarCluster) Image() basetype.Image

Image specifies the pulsar image to use

func (*PulsarCluster) SetSpecDefaults

func (in *PulsarCluster) SetSpecDefaults() bool

SetSpecDefaults set the defaults for the cluster spec and returns true otherwise false

func (*PulsarCluster) SetStatusDefaults

func (in *PulsarCluster) SetStatusDefaults() bool

SetStatusDefaults set the defaults for the cluster status and returns true otherwise false

func (*PulsarCluster) SetupWebhookWithManager

func (in *PulsarCluster) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager needed for webhook test suite

func (*PulsarCluster) StatefulSetName

func (in *PulsarCluster) StatefulSetName() string

StatefulSetName defines the name of the statefulset object

func (*PulsarCluster) ValidateCreate

func (in *PulsarCluster) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*PulsarCluster) ValidateDelete

func (in *PulsarCluster) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*PulsarCluster) ValidateUpdate

func (in *PulsarCluster) ValidateUpdate(_ runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type PulsarClusterList

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

PulsarClusterList contains a list of PulsarCluster

type PulsarClusterSpec

type PulsarClusterSpec struct {

	// ZookeeperServers specifies the hostname/IP address and port in the format "hostname:port".
	// +kubebuilder:validation:Required
	ZookeeperServers string `json:"zookeeperServers"`
	// BookkeeperClusterUri specifies the URI of the existing BookKeeper cluster that you want to use.
	// see https://pulsar.apache.org/docs/en/reference-cli-tools/#initialize-cluster-metadata
	// +kubebuilder:validation:Required
	BookkeeperClusterUri string `json:"bookkeeperClusterUri"`
	// ConfigurationStoreServers specifies the configuration store connection string (as a comma-separated list)
	// +optional
	ConfigurationStoreServers string `json:"configurationStoreServers"`
	// PulsarVersion defines the version of broker to use
	// +optional
	PulsarVersion string `json:"pulsarVersion,omitempty"`
	// ImagePullPolicy describes a policy for if/when to pull the image
	// +optional
	ImagePullPolicy v1.PullPolicy `json:"imagePullPolicy,omitempty"`
	// +kubebuilder:validation:Minimum=0
	Size *int32 `json:"size,omitempty"`
	// KOP configures the Kafka Protocol Handler
	KOP        KOP       `json:"kop,omitempty"`
	Connectors Connector `json:"connectors,omitempty"`
	// MaxUnavailableNodes defines the maximum number of nodes that
	// can be unavailable as per kubernetes PodDisruptionBudget
	// Default is 1.
	// +optional
	MaxUnavailableNodes int32  `json:"maxUnavailableNodes"`
	Ports               *Ports `json:"ports,omitempty"`
	// BrokerConfig defines the Bookkeeper configurations to override the broker.conf
	// +optional
	BrokerConfig map[string]string `json:"brokerConfig"`
	// JVMOptions defines the JVM options for pulsar broker; this is useful for performance tuning.
	// If unspecified, a reasonable defaults will be set
	// +optional
	JVMOptions  JVMOptions                    `json:"jvmOptions"`
	Persistence *v1.PersistentVolumeClaimSpec `json:"persistence,omitempty"`
	// PodConfig defines common configuration for the broker pods
	// +optional
	PodConfig basetype.PodConfig `json:"podConfig,omitempty"`
	// ProbeConfig defines the probing settings for the broker containers
	// +optional
	ProbeConfig *pod.Probes `json:"probeConfig,omitempty"`

	// Labels defines the labels to attach to the broker deployment
	Labels map[string]string `json:"labels,omitempty"`

	// Annotations defines the annotations to attach to the broker statefulset and services
	Annotations map[string]string `json:"annotations,omitempty"`

	// ClusterDomain defines the cluster domain for the cluster
	// It defaults to cluster.local
	ClusterDomain string `json:"clusterDomain,omitempty"`
}

PulsarClusterSpec defines the desired state of PulsarCluster

func (*PulsarClusterSpec) VersionInt

func (in *PulsarClusterSpec) VersionInt() int

type PulsarClusterStatus

type PulsarClusterStatus struct {

	// Metadata defines the metadata status of the cluster
	// +optional
	Metadata Metadata `json:"metadata,omitempty"`
}

PulsarClusterStatus defines the observed state of PulsarCluster

type PulsarManager

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

	Spec   PulsarManagerSpec   `json:"spec,omitempty"`
	Status PulsarManagerStatus `json:"status,omitempty"`
}

PulsarManager is the Schema for the pulsarmanagers API

func (*PulsarManager) Default

func (in *PulsarManager) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*PulsarManager) SetSpecDefaults

func (in *PulsarManager) SetSpecDefaults() bool

SetSpecDefaults set the defaults for the cluster spec and returns true otherwise false

func (*PulsarManager) SetStatusDefaults

func (in *PulsarManager) SetStatusDefaults() bool

SetStatusDefaults set the defaults for the cluster status and returns true otherwise false

func (*PulsarManager) SetupWebhookWithManager

func (in *PulsarManager) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager needed for webhook test suite

func (*PulsarManager) ValidateCreate

func (in *PulsarManager) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*PulsarManager) ValidateDelete

func (in *PulsarManager) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*PulsarManager) ValidateUpdate

func (in *PulsarManager) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type PulsarManagerList

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

PulsarManagerList contains a list of PulsarManager

type PulsarManagerSpec

type PulsarManagerSpec struct {
}

PulsarManagerSpec defines the desired state of PulsarManager

type PulsarManagerStatus

type PulsarManagerStatus struct {
}

PulsarManagerStatus defines the observed state of PulsarManager

type PulsarProxy

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

	Spec   PulsarProxySpec   `json:"spec,omitempty"`
	Status PulsarProxyStatus `json:"status,omitempty"`
}

PulsarProxy is the Schema for the pulsarproxies API

func (*PulsarProxy) Default

func (in *PulsarProxy) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*PulsarProxy) SetSpecDefaults

func (in *PulsarProxy) SetSpecDefaults() bool

SetSpecDefaults set the defaults for the cluster spec and returns true otherwise false

func (*PulsarProxy) SetStatusDefaults

func (in *PulsarProxy) SetStatusDefaults() bool

SetStatusDefaults set the defaults for the cluster status and returns true otherwise false

func (*PulsarProxy) SetupWebhookWithManager

func (in *PulsarProxy) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager needed for webhook test suite

func (*PulsarProxy) ValidateCreate

func (in *PulsarProxy) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*PulsarProxy) ValidateDelete

func (in *PulsarProxy) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*PulsarProxy) ValidateUpdate

func (in *PulsarProxy) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type PulsarProxyList

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

PulsarProxyList contains a list of PulsarProxy

type PulsarProxySpec

type PulsarProxySpec struct {
}

PulsarProxySpec defines the desired state of PulsarProxy

type PulsarProxyStatus

type PulsarProxyStatus struct {
}

PulsarProxyStatus defines the observed state of PulsarProxy

Jump to

Keyboard shortcuts

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