Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the operators v1alpha1 API group +kubebuilder:object:generate=true +groupName=operators.apache.io +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=github.com/spaghettifunk/pinot-operator/api +k8s:defaulter-gen=TypeMeta
Index ¶
- Constants
- Variables
- func NamespacedNameFromRevision(revision string) types.NamespacedName
- func NamespacedRevision(revision, namespace string) string
- func Resource(resource string) schema.GroupResource
- func SetPinotDefaults(config *Pinot)
- func SetTenantDefaults(config *Tenant)
- type BrokerConfiguration
- type CommonResourceConfiguration
- type ConfigState
- type ControllerConfiguration
- type ExternalServiceResourceConfiguration
- type NamespacedName
- type Pinot
- func (in *Pinot) DeepCopy() *Pinot
- func (in *Pinot) DeepCopyInto(out *Pinot)
- func (in *Pinot) DeepCopyObject() runtime.Object
- func (p *Pinot) NamespacedRevision() string
- func (p *Pinot) Revision() string
- func (p *Pinot) RevisionLabels() map[string]string
- func (p *Pinot) WithRevision(s string) string
- type PinotList
- type PinotSpec
- type PinotStatus
- type PinotVersion
- type ServerConfiguration
- type ServiceResourceConfiguration
- type SortablePinotItems
- type Tenant
- type TenantList
- type TenantSpec
- type TenantStatus
- type ZookeeperConfiguration
Constants ¶
const OperatorVersion = "v0.0.1"
OperatorVersion current operator version
const (
RevisionedAutoInjectionLabelKey = "pinot.io/rev"
)
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "operators.apache.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 ¶
func NamespacedNameFromRevision ¶
func NamespacedNameFromRevision(revision string) types.NamespacedName
func NamespacedRevision ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource is required by pkg/client/listers/...
func SetPinotDefaults ¶
func SetPinotDefaults(config *Pinot)
SetPinotDefaults sets some of the specs of the various components
func SetTenantDefaults ¶
func SetTenantDefaults(config *Tenant)
SetTenantDefaults sets some of the specs when not defined by the user
Types ¶
type BrokerConfiguration ¶
type BrokerConfiguration struct { // +optional CommonResourceConfiguration `json:",inline"` // Extra JVM parameters to be passed to the controller service // +kubebuilder:default:="-Xms256M -Xmx1G -XX:+UseG1GC -XX:MaxGCPauseMillis=200" JvmOptions string `json:"jvmOptions,omitempty"` // +optional Service ServiceResourceConfiguration `json:"service,omitempty"` // +optional ExternalService ExternalServiceResourceConfiguration `json:"externalService,omitempty"` }
BrokerConfiguration defines the k8s spec configuration for the Pinot broker
func (*BrokerConfiguration) DeepCopy ¶
func (in *BrokerConfiguration) DeepCopy() *BrokerConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BrokerConfiguration.
func (*BrokerConfiguration) DeepCopyInto ¶
func (in *BrokerConfiguration) DeepCopyInto(out *BrokerConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CommonResourceConfiguration ¶
type CommonResourceConfiguration struct { // +kubebuilder:default:={limits: {cpu: "512m", memory: "2Gi"}, requests: {cpu: "256m", memory: "1Gi"}} Resources corev1.ResourceRequirements `json:"resources,omitempty" protobuf:"bytes,1,opt,name=resources"` // Node selector to be used by Pinot statefulsets // +optional NodeSelector map[string]string `json:"nodeSelector,omitempty" protobuf:"bytes,2,opt,name=nodeSelector"` // Affinity scheduling rules to be applied on created Pods. // +optional Affinity *corev1.Affinity `json:"affinity,omitempty" protobuf:"bytes,3,opt,name=affinity"` // Tolerations is the list of Toleration resources attached to each Pod in the Pinot cluster. // +optional Tolerations []corev1.Toleration `json:"tolerations,omitempty" protobuf:"bytes,4,opt,name=tolerations"` // PoAnnotations is an unstructured key value map stored with a resource that may be // set by external tools to store and retrieve arbitrary metadata. They are not // queryable and should be preserved when modifying objects. // More info: http://kubernetes.io/docs/user-guide/annotations // +optional PodAnnotations map[string]string `json:"podAnnotations,omitempty" protobuf:"bytes,5,opt,name=podAnnotations"` // PodManagementPolicy controls how pods are created during initial scale up, // when replacing pods on nodes, or when scaling down. The default policy is // `OrderedReady`, where pods are created in increasing order (pod-0, then // pod-1, etc) and the controller will wait until each pod is ready before // continuing. When scaling down, the pods are removed in the opposite order. // The alternative policy is `Parallel` which will create pods in parallel // to match the desired scale without waiting, and on scale down will delete // all pods at once. // +optional PodManagementPolicy appsv1.PodManagementPolicyType `json:"podManagementPolicy,omitempty" protobuf:"bytes,6,opt,name=podManagementPolicy,casttype=PodManagementPolicyType"` // Custom labels to be populated in Pinot pods // +optional PodLabels map[string]string `json:"podLabels,omitempty" protobuf:"bytes,7,opt,name=podLabels"` // Defines privilege and access control settings for a Pod or Container // +optional SecurityContext *corev1.SecurityContext `json:"securityContext,omitempty" protobuf:"bytes,8,opt,name=securityContext"` // Replicas is the number of nodes in the service. Each node is deployed as a Replica in a StatefulSet. Only 1, 3, 5 replicas clusters are tested. // This value should be an odd number to ensure the resultant cluster can establish exactly one quorum of nodes // in the event of a fragmenting network partition. // +optional // +kubebuilder:validation:Minimum:=0 // +kubebuilder:default:=1 ReplicaCount *int32 `json:"replicaCount,omitempty" protobuf:"varint,9,opt,name=replicaCount"` // Extra environment variables to pass to the service // +optional Env []corev1.EnvVar `json:"env,omitempty" protobuf:"bytes,10,opt,name=env"` // If set to true then operator checks the rollout status of previous version StateSets before updating next. // Used only for updates. // +optional RollingDeploy bool `json:"rollingDeploy,omitempty" protobuf:"varint,11,opt,name=rollingDeploy"` // UpdateStrategy indicates the StatefulSetUpdateStrategy that will be // employed to update Pods in the StatefulSet when a revision is made to // Template. // +optional UpdateStrategy *appsv1.StatefulSetUpdateStrategy `json:"updateStrategy,omitempty" protobuf:"bytes,12,opt,name=updateStrategy"` // Describes a health check to be performed against a container to determine whether it is alive or not // +optional LivenessProbe *corev1.Probe `json:"livenessProbe,omitempty" protobuf:"bytes,13,opt,name=livenessProbe"` // Describes a health check to be performed against a container to determine whether it is ready to receive traffic or not // +optional ReadinessProbe *corev1.Probe `json:"readinessProbe,omitempty" protobuf:"bytes,14,opt,name=readinessProbe"` // VolumeClaimTemplates is a list of claims that pods are allowed to reference. // The StatefulSet controller is responsible for mapping network identities to // claims in a way that maintains the identity of a pod. Every claim in // this list must have at least one matching (by name) volumeMount in one // container in the template. A claim in this list takes precedence over // any volumes in the template, with the same name. // +optional VolumeClaimTemplates []corev1.PersistentVolumeClaim `json:"volumeClaimTemplates,omitempty" protobuf:"bytes,15,opt,name=volumeClaimTemplates"` // Describes a mounting of a Volume within a container // +optional VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty" protobuf:"bytes,16,opt,name=volumeMounts"` // Represents a named volume in a pod that may be accessed by any container in the pod // +optional Volumes []corev1.Volume `json:"volumes,omitempty" protobuf:"bytes,17,opt,name=volumes"` }
CommonResourceConfiguration defines basic K8s resource spec configurations
func (*CommonResourceConfiguration) DeepCopy ¶
func (in *CommonResourceConfiguration) DeepCopy() *CommonResourceConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CommonResourceConfiguration.
func (*CommonResourceConfiguration) DeepCopyInto ¶
func (in *CommonResourceConfiguration) DeepCopyInto(out *CommonResourceConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConfigState ¶
type ConfigState string
ConfigState describes the state of the operator
const ( // Created status after the initialization Created ConfigState = "Created" // ReconcileFailed status when an error happened ReconcileFailed ConfigState = "ReconcileFailed" // Reconciling status when the reconciliation loop is started Reconciling ConfigState = "Reconciling" // Available status when the resources are created successfully Available ConfigState = "Available" // Unmanaged status when the system is not sure what to do Unmanaged ConfigState = "Unmanaged" )
type ControllerConfiguration ¶
type ControllerConfiguration struct { // +optional CommonResourceConfiguration `json:",inline"` // Size of the persisten disk for the controller service // +kubebuilder:default:="1Gi" DiskSize string `json:"diskSize,omitempty"` // Extra JVM parameters to be passed to the controller service // +kubebuilder:default:="-Xms256M -Xmx1G -XX:+UseG1GC -XX:MaxGCPauseMillis=200" JvmOptions string `json:"jvmOptions,omitempty"` // // +optional VIPHost string `json:"vip.host,omitempty"` // // +optional VIPPort int `json:"vip.port,omitempty"` // +optional Service ServiceResourceConfiguration `json:"service,omitempty"` // +optional ExternalService ExternalServiceResourceConfiguration `json:"externalService,omitempty"` }
ControllerConfiguration defines the k8s spec configuration for the Pinot controller
func (*ControllerConfiguration) DeepCopy ¶
func (in *ControllerConfiguration) DeepCopy() *ControllerConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerConfiguration.
func (*ControllerConfiguration) DeepCopyInto ¶
func (in *ControllerConfiguration) DeepCopyInto(out *ControllerConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExternalServiceResourceConfiguration ¶
type ExternalServiceResourceConfiguration struct { // Whether enabling the external service or not // +kubebuilder:default:=false Enabled bool `json:"enabled,omitempty"` // Annotations is an unstructured key value map stored with a resource that may be // set by external tools to store and retrieve arbitrary metadata. They are not // queryable and should be preserved when modifying objects. // More info: http://kubernetes.io/docs/user-guide/annotations // +optional Annotations map[string]string `json:"annotations,omitempty"` // Type of Service to create for the cluster. Must be one of: ClusterIP, LoadBalancer, NodePort. // For more info see https://pkg.go.dev/k8s.io/api/core/v1#ServiceType // +kubebuilder:validation:Enum=ClusterIP;LoadBalancer;NodePort // +kubebuilder:default:="LoadBalancer" Type corev1.ServiceType `json:"type,omitempty"` // +optional Port int `json:"port,omitempty"` }
ExternalServiceResourceConfiguration defines some definition for a service resource
func (*ExternalServiceResourceConfiguration) DeepCopy ¶
func (in *ExternalServiceResourceConfiguration) DeepCopy() *ExternalServiceResourceConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalServiceResourceConfiguration.
func (*ExternalServiceResourceConfiguration) DeepCopyInto ¶
func (in *ExternalServiceResourceConfiguration) DeepCopyInto(out *ExternalServiceResourceConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NamespacedName ¶
type NamespacedName struct { Namespace string `json:"namespace,omitempty"` Name string `json:"name,omitempty"` }
NamespacedName contains reference to a resource
func (*NamespacedName) DeepCopy ¶
func (in *NamespacedName) DeepCopy() *NamespacedName
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamespacedName.
func (*NamespacedName) DeepCopyInto ¶
func (in *NamespacedName) DeepCopyInto(out *NamespacedName)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Pinot ¶
type Pinot struct { // Embedded metadata identifying a Kind and API Verison of an object. // For more info, see: https://pkg.go.dev/k8s.io/apimachinery/pkg/apis/meta/v1#TypeMeta metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Spec is the desired state of the Pinot Custom Resource. Spec PinotSpec `json:"spec,omitempty"` // Status presents the observed state of Pinot Status PinotStatus `json:"status,omitempty"` }
Pinot is the Schema for the pinots API +genclient +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.clusterStatus" +kubebuilder:resource:shortName={"apc"} +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +k8s:openapi-gen=true
func (*Pinot) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Pinot.
func (*Pinot) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Pinot) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Pinot) NamespacedRevision ¶
func (*Pinot) RevisionLabels ¶
func (*Pinot) WithRevision ¶
type PinotList ¶
type PinotList struct { // Embedded metadata identifying a Kind and API Verison of an object. // For more info, see: https://pkg.go.dev/k8s.io/apimachinery/pkg/apis/meta/v1#TypeMeta metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` // Array of Pinot resources. Items []Pinot `json:"items"` }
PinotList contains a list of Pinot +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*PinotList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PinotList.
func (*PinotList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PinotList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PinotSpec ¶
type PinotSpec struct { // Required: cluster name for the pinot deployment ClusterName string `json:"clusterName"` // +kubebuilder:default:="0.6.0" Version PinotVersion `json:"version"` // Image is the name of the Apache Pinot docker image to use for Brokers/Coordinator/Server nodes in the Pinot cluster. // Must be provided together with ImagePullSecrets in order to use an image in a private registry. // +kubebuilder:default:="apachepinot/pinot:latest" Image *string `json:"image,omitempty"` // List of Secret resource containing access credentials to the registry for the Apache Pinot image. Required if the docker registry is private. // +optional ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"` // Image pull policy for the docker image // +optional ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty"` // Log4j config file directory // +optional Log4jConfigPath string `json:"log4j.path,omitempty"` // The desired state of the Controller service to create for the cluster. // +optional Controller ControllerConfiguration `json:"controller"` // The desired state of the Broker service to create for the cluster. // +optional Broker BrokerConfiguration `json:"broker,omitempty"` // The desired state of the Server service to create for the cluster. // +optional Server ServerConfiguration `json:"server,omitempty"` // The desired state of the Zookeeper service to create for the cluster. // +optional Zookeeper ZookeeperConfiguration `json:"zookeeper,omitempty"` }
PinotSpec defines the desired state of Pinot
func (*PinotSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PinotSpec.
func (*PinotSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PinotStatus ¶
type PinotStatus struct { Status ConfigState `json:"Status,omitempty"` ErrorMessage string `json:"ErrorMessage,omitempty"` }
PinotStatus defines the observed state of Pinot
func (*PinotStatus) DeepCopy ¶
func (in *PinotStatus) DeepCopy() *PinotStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PinotStatus.
func (*PinotStatus) DeepCopyInto ¶
func (in *PinotStatus) DeepCopyInto(out *PinotStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServerConfiguration ¶
type ServerConfiguration struct { // +optional CommonResourceConfiguration `json:",inline"` // Size of the persisten disk for the server service // +kubebuilder:default:="4Gi" DiskSize string `json:"diskSize,omitempty"` // Extra JVM parameters to be passed to the controller service // +kubebuilder:default:="-Xms256M -Xmx1G -XX:+UseG1GC -XX:MaxGCPauseMillis=200" JvmOptions string `json:"jvmOptions,omitempty"` // +optional Service ServiceResourceConfiguration `json:"service,omitempty"` // Service port for the service controller // +optional AdminPort int `json:"adminPort,omitport"` }
ServerConfiguration defines the k8s spec configuration for the Pinot server
func (*ServerConfiguration) DeepCopy ¶
func (in *ServerConfiguration) DeepCopy() *ServerConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerConfiguration.
func (*ServerConfiguration) DeepCopyInto ¶
func (in *ServerConfiguration) DeepCopyInto(out *ServerConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceResourceConfiguration ¶
type ServiceResourceConfiguration struct { // Annotations is an unstructured key value map stored with a resource that may be // set by external tools to store and retrieve arbitrary metadata. They are not // queryable and should be preserved when modifying objects. // More info: http://kubernetes.io/docs/user-guide/annotations // +optional Annotations map[string]string `json:"annotations,omitempty"` // Type of Service to create for the cluster. Must be one of: ClusterIP, LoadBalancer, NodePort. // For more info see https://pkg.go.dev/k8s.io/api/core/v1#ServiceType // +kubebuilder:validation:Enum=ClusterIP;LoadBalancer;NodePort // +kubebuilder:default:="ClusterIP" Type corev1.ServiceType `json:"type,omitempty"` // +optional Port int `json:"port,omitempty"` // +optional NodePort int `json:"nodePort,omitempty"` }
ServiceResourceConfiguration defines some definition for a service resource
func (*ServiceResourceConfiguration) DeepCopy ¶
func (in *ServiceResourceConfiguration) DeepCopy() *ServiceResourceConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceResourceConfiguration.
func (*ServiceResourceConfiguration) DeepCopyInto ¶
func (in *ServiceResourceConfiguration) DeepCopyInto(out *ServiceResourceConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SortablePinotItems ¶
type SortablePinotItems []Pinot
func (SortablePinotItems) DeepCopy ¶
func (in SortablePinotItems) DeepCopy() SortablePinotItems
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SortablePinotItems.
func (SortablePinotItems) DeepCopyInto ¶
func (in SortablePinotItems) DeepCopyInto(out *SortablePinotItems)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (SortablePinotItems) Len ¶
func (list SortablePinotItems) Len() int
func (SortablePinotItems) Less ¶
func (list SortablePinotItems) Less(i, j int) bool
func (SortablePinotItems) Swap ¶
func (list SortablePinotItems) Swap(i, j int)
type Tenant ¶
type Tenant struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec TenantSpec `json:"spec,omitempty"` Status TenantStatus `json:"status,omitempty"` }
Tenant is the Schema for the Tenants API +k8s:openapi-gen=true +kubebuilder:printcolumn:name="Role",type=string,JSONPath=`.spec.role` +kubebuilder:printcolumn:name="Tenant Name",type=string,JSONPath=`.spec.name` +kubebuilder:printcolumn:name="Error",type="string",JSONPath=".status.ErrorMessage",description="Error message" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:printcolumn:name="Pinot Cluster",type="string",JSONPath=".spec.pinotServer" +kubebuilder:subresource:status +kubebuilder:resource:path=tenants,shortName=tn
func (*Tenant) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tenant.
func (*Tenant) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Tenant) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TenantList ¶
type TenantList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Tenant `json:"items"` }
TenantList contains a list of Tenant
func (*TenantList) DeepCopy ¶
func (in *TenantList) DeepCopy() *TenantList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantList.
func (*TenantList) DeepCopyInto ¶
func (in *TenantList) DeepCopyInto(out *TenantList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TenantList) DeepCopyObject ¶
func (in *TenantList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TenantSpec ¶
type TenantSpec struct { // The tenant role to be used // +kubebuilder:validation:Enum=broker;server Role string `json:"role" protobuf:"byte,1,opt,name=role"` // Name of the tenant Name string `json:"name" protobuf:"byte,2,opt,name=name"` // Number of instances to be associated with the tenant. It is used only // when creating a tenant with Role Broker // +optional // +kubebuilder:validation:Minimum:=0 // +kubebuilder:default:=0 NumberOfInstances *int32 `json:"numberOfInstances,omitempty" protobuf:"varint,3,opt,name=numberOfInstances"` // Number of Offline instances to be associted with the tenant. It is used only // when creating a tenant with Role Server // +optional // +kubebuilder:validation:Minimum:=0 // +kubebuilder:default:=0 OfflineInstances *int32 `json:"offlineInstances,omitempty" protobuf:"varint,4,opt,name=offlineInstances"` // Number of Realtime instances to be associted with the tenant. It is used only // when creating a tenant with Role Server // +optional // +kubebuilder:validation:Minimum:=0 // +kubebuilder:default:=0 RealtimeInstances *int32 `json:"realtimeInstances,omitempty" protobuf:"varint,5,opt,name=realtimeInstances"` // +optional PinotServer *NamespacedName `json:"pinotServer,omitempty"` // +optional Labels map[string]string `json:"labels,omitempty"` }
TenantSpec defines the desired state of Tenant
func (*TenantSpec) DeepCopy ¶
func (in *TenantSpec) DeepCopy() *TenantSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantSpec.
func (*TenantSpec) DeepCopyInto ¶
func (in *TenantSpec) DeepCopyInto(out *TenantSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TenantStatus ¶
type TenantStatus struct { Status ConfigState `json:"Status,omitempty"` ErrorMessage string `json:"ErrorMessage,omitempty"` }
TenantStatus defines the observed state of Tenant
func (*TenantStatus) DeepCopy ¶
func (in *TenantStatus) DeepCopy() *TenantStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantStatus.
func (*TenantStatus) DeepCopyInto ¶
func (in *TenantStatus) DeepCopyInto(out *TenantStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ZookeeperConfiguration ¶
type ZookeeperConfiguration struct { // Image is the name of the Apache Zookeeper docker image // +kubebuilder:default:="zookeeper:3.5.5" // +optional Image *string `json:"image"` // ReplicaCount is the number of nodes in the zookeeper service. Each node is deployed as a Replica in a StatefulSet. Only 1, 3, 5 replicas clusters are tested. // This value should be an odd number to ensure the resultant cluster can establish exactly one quorum of nodes // in the event of a fragmenting network partition. // +kubebuilder:validation:Minimum:=0 // +kubebuilder:default:=1 // +optional ReplicaCount *int32 `json:"replicaCount,omitempty"` // The desired compute resource requirements of Pods in the cluster. // +kubebuilder:default:={limits: {cpu: "512m", memory: "2Gi"}, requests: {cpu: "256m", memory: "1Gi"}} // +optional Resources corev1.ResourceRequirements `json:"resources,omitempty"` // Defines the inner parameters for setting up the storage // +optional Storage zookeeperStorage `json:"storage,omitempty"` // Extra JVM parameters to be passed to the zookeeper service // +kubebuilder:default:="-Xmx2G -Xms2G" // +optional JvmOptions string `json:"jvmOptions,omitempty"` }
ZookeeperConfiguration defines the desired state of Zookeeper
func (*ZookeeperConfiguration) DeepCopy ¶
func (in *ZookeeperConfiguration) DeepCopy() *ZookeeperConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ZookeeperConfiguration.
func (*ZookeeperConfiguration) DeepCopyInto ¶
func (in *ZookeeperConfiguration) DeepCopyInto(out *ZookeeperConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.