Documentation ¶
Overview ¶
Package v1beta1 contains API Schema definitions for the solr.apache.org v1beta1 API group +kubebuilder:object:generate=true +groupName=solr.apache.org
Index ¶
- Constants
- Variables
- func ImageVersion(image string) (version string)
- func InternalURLForCloud(sc *SolrCloud) string
- type AdditionalVolume
- type AuthenticationType
- type BackupRecurrence
- type ClientAuthType
- type CollectionBackupStatus
- type ConfigMapOptions
- type ContainerImage
- type CustomExporterKubeOptions
- type CustomSolrKubeOptions
- type DeploymentOptions
- type ExternalAddressability
- type ExternalAddressabilityMethod
- type GcsRepository
- type IndividualSolrBackupStatus
- type IngressOptions
- type ManagedUpdateOptions
- type MountedTLSDirectory
- type PersistentVolumeClaimTemplate
- type PodOptions
- type S3Credentials
- type S3Repository
- type ServiceOptions
- type SolrAddressabilityOptions
- type SolrAvailabilityOptions
- type SolrBackup
- func (in *SolrBackup) DeepCopy() *SolrBackup
- func (in *SolrBackup) DeepCopyInto(out *SolrBackup)
- func (in *SolrBackup) DeepCopyObject() runtime.Object
- func (sb *SolrBackup) PersistenceJobName() string
- func (sb *SolrBackup) SharedLabels() map[string]string
- func (sb *SolrBackup) SharedLabelsWith(labels map[string]string) map[string]string
- func (sb *SolrBackup) WithDefaults() bool
- type SolrBackupList
- type SolrBackupRepository
- type SolrBackupSpec
- type SolrBackupStatus
- type SolrCloud
- func (sc *SolrCloud) AdvertisedNodeHost(nodeName string) string
- func (sc *SolrCloud) BasicAuthSecretName() string
- func (sc *SolrCloud) CommonExternalPrefix() string
- func (sc *SolrCloud) CommonIngressName() string
- func (sc *SolrCloud) CommonPortSuffix(external bool) string
- func (sc *SolrCloud) CommonServiceName() string
- func (sc *SolrCloud) ConfigMapName() string
- func (sc *SolrCloud) DataVolumeName() string
- func (in *SolrCloud) DeepCopy() *SolrCloud
- func (in *SolrCloud) DeepCopyInto(out *SolrCloud)
- func (in *SolrCloud) DeepCopyObject() runtime.Object
- func (sc *SolrCloud) ExternalCommonUrl(domainName string, withPort bool) (url string)
- func (sc *SolrCloud) ExternalDnsDomain(domainName string) string
- func (sc *SolrCloud) ExternalNodeUrl(nodeName string, domainName string, withPort bool) (url string)
- func (sc *SolrCloud) GetAllSolrPodNames() []string
- func (sc *SolrCloud) GetRandomSolrPodName() string
- func (sc *SolrCloud) GetSolrPodName(podNumber int) string
- func (sc *SolrCloud) GetSolrPodNames(replicas int) []string
- func (sc *SolrCloud) HeadlessServiceName() string
- func (sc *SolrCloud) InternalCommonUrl(withPort bool) (url string)
- func (sc *SolrCloud) InternalNodeUrl(nodeName string, withPort bool) string
- func (sc *SolrCloud) NodeHeadlessUrl(nodeName string, withPort bool) (url string)
- func (sc *SolrCloud) NodeIngressPrefix(nodeName string) string
- func (sc *SolrCloud) NodePort() int
- func (sc *SolrCloud) NodePortSuffix(external bool) string
- func (sc *SolrCloud) NodeServiceUrl(nodeName string, withPort bool) (url string)
- func (sc *SolrCloud) PortToSuffix(port int, external bool) string
- func (sc *SolrCloud) ProvidedZookeeperAddress() string
- func (sc *SolrCloud) ProvidedZookeeperName() string
- func (sc *SolrCloud) SecurityBootstrapSecretName() string
- func (sc *SolrCloud) SharedLabels() map[string]string
- func (sc *SolrCloud) SharedLabelsWith(labels map[string]string) map[string]string
- func (sc *SolrCloud) StatefulSetName() string
- func (sc *SolrCloud) UrlScheme(external bool) string
- func (sc *SolrCloud) UsesHeadlessService() bool
- func (sc *SolrCloud) UsesIndividualNodeServices() bool
- func (sc *SolrCloud) UsesPersistentStorage() bool
- func (sc *SolrCloud) WithDefaults(logger logr.Logger) bool
- func (sc *SolrCloud) ZkConnectionString() string
- type SolrCloudList
- type SolrCloudReference
- type SolrCloudSpec
- type SolrCloudStatus
- type SolrDataStorageOptions
- type SolrEphemeralDataStorageOptions
- type SolrIngressTLSTermination
- type SolrNodeStatus
- type SolrPersistentDataStorageOptions
- type SolrPodDisruptionBudgetMethod
- type SolrPodDisruptionBudgetOptions
- type SolrPrometheusExporter
- func (sc *SolrPrometheusExporter) BusyBoxImage() *ContainerImage
- func (in *SolrPrometheusExporter) DeepCopy() *SolrPrometheusExporter
- func (in *SolrPrometheusExporter) DeepCopyInto(out *SolrPrometheusExporter)
- func (in *SolrPrometheusExporter) DeepCopyObject() runtime.Object
- func (sc *SolrPrometheusExporter) MetricsConfigMapName() string
- func (sc *SolrPrometheusExporter) MetricsDeploymentName() string
- func (sc *SolrPrometheusExporter) MetricsIngressPrefix() string
- func (sc *SolrPrometheusExporter) MetricsIngressUrl(ingressBaseUrl string) string
- func (sc *SolrPrometheusExporter) MetricsServiceName() string
- func (spe *SolrPrometheusExporter) SharedLabels() map[string]string
- func (spe *SolrPrometheusExporter) SharedLabelsWith(labels map[string]string) map[string]string
- func (spe *SolrPrometheusExporter) WithDefaults() bool
- type SolrPrometheusExporterList
- type SolrPrometheusExporterSpec
- type SolrPrometheusExporterStatus
- type SolrReference
- type SolrScalingOptions
- type SolrSecurityOptions
- type SolrTLSOptions
- type SolrUpdateMethod
- type SolrUpdateStrategy
- type StandaloneSolrReference
- type StatefulSetOptions
- type TemplateMeta
- type VolumeReclaimPolicy
- type VolumeRepository
- type ZKEphemeral
- type ZKPersistence
- type ZookeeperACL
- type ZookeeperConfig
- type ZookeeperConnectionInfo
- type ZookeeperPodPolicy
- type ZookeeperRef
- type ZookeeperSpec
Constants ¶
const ( DefaultPullPolicy = "" // This will use the default pullPolicy of Always when the tag is "latest" and IfNotPresent for all other tags. DefaultSolrReplicas = int32(3) DefaultSolrRepo = "library/solr" DefaultSolrVersion = "8.11" DefaultSolrJavaMem = "-Xms1g -Xmx2g" DefaultSolrOpts = "" DefaultSolrLogLevel = "INFO" DefaultSolrGCTune = "" DefaultBusyBoxImageRepo = "library/busybox" DefaultBusyBoxImageVersion = "1.28.0-glibc" DefaultZkReplicas = int32(3) DefaultZkStorage = "5Gi" DefaultZkRepo = "pravega/zookeeper" DefaultZkVersion = "" DefaultZkVolumeReclaimPolicy VolumeReclaimPolicy = "Retain" SolrTechnologyLabel = "solr-cloud" ZookeeperTechnologyLabel = "zookeeper" DefaultBasicAuthUsername = "k8s-oper" LegacyBackupRepositoryName = "legacy_volume_repository" )
const (
SolrPrometheusExporterTechnologyLabel = "solr-prometheus-exporter"
)
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "solr.apache.org", 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 ¶
func ImageVersion ¶
func InternalURLForCloud ¶
InternalURLForCloud returns the name of the common service for the cloud
Types ¶
type AdditionalVolume ¶
type AdditionalVolume struct { // Name of the volume Name string `json:"name"` // Source is the source of the Volume to be loaded into the solrCloud Pod Source corev1.VolumeSource `json:"source"` // DefaultContainerMount defines how to mount this volume into the default container. // If this volume is to be used only with sidecar or non-default init containers, // then this option is not necessary. // +optional DefaultContainerMount *corev1.VolumeMount `json:"defaultContainerMount,omitempty"` }
AdditionalVolume provides information on additional volumes that should be loaded into pods
func (*AdditionalVolume) DeepCopy ¶
func (in *AdditionalVolume) DeepCopy() *AdditionalVolume
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdditionalVolume.
func (*AdditionalVolume) DeepCopyInto ¶
func (in *AdditionalVolume) DeepCopyInto(out *AdditionalVolume)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AuthenticationType ¶
type AuthenticationType string
+kubebuilder:validation:Enum=Basic
const (
Basic AuthenticationType = "Basic"
)
type BackupRecurrence ¶ added in v0.5.0
type BackupRecurrence struct { // Perform a backup on the given schedule, in CRON format. // // Multiple CRON syntaxes are supported // - Standard CRON (e.g. "CRON_TZ=Asia/Seoul 0 6 * * ?") // - Predefined Schedules (e.g. "@yearly", "@weekly", "@daily", etc.) // - Intervals (e.g. "@every 10h30m") // // For more information please check this reference: // https://pkg.go.dev/github.com/robfig/cron/v3?utm_source=godoc#hdr-CRON_Expression_Format Schedule string `json:"schedule"` // Define the number of backup points to save for this backup at any given time. // The oldest backups will be deleted if too many exist when a backup is taken. // If not provided, this defaults to 5. // // +kubebuilder:default:=5 // +kubebuilder:validation:Minimum:=1 // +optional MaxSaved int `json:"maxSaved,omitempty"` // Disable the recurring backups. Note this will not affect any currently-running backup. // // +kubebuilder:default:=false // +optional Disabled bool `json:"disabled,omitempty"` }
BackupRecurrence defines the recurrence of the incremental backup
func (*BackupRecurrence) DeepCopy ¶ added in v0.5.0
func (in *BackupRecurrence) DeepCopy() *BackupRecurrence
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupRecurrence.
func (*BackupRecurrence) DeepCopyInto ¶ added in v0.5.0
func (in *BackupRecurrence) DeepCopyInto(out *BackupRecurrence)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BackupRecurrence) IsEnabled ¶ added in v0.5.0
func (recurrence *BackupRecurrence) IsEnabled() bool
type ClientAuthType ¶
type ClientAuthType string
+kubebuilder:validation:Enum=None;Want;Need
const ( None ClientAuthType = "None" Want ClientAuthType = "Want" Need ClientAuthType = "Need" )
type CollectionBackupStatus ¶
type CollectionBackupStatus struct { // Solr Collection name Collection string `json:"collection"` // BackupName of this collection's backup in Solr // +optional BackupName string `json:"backupName,omitempty"` // Whether the collection is being backed up // +optional InProgress bool `json:"inProgress,omitempty"` // Time that the collection backup started at // +optional StartTime *metav1.Time `json:"startTimestamp,omitempty"` // The status of the asynchronous backup call to solr // +optional AsyncBackupStatus string `json:"asyncBackupStatus,omitempty"` // Whether the backup has finished Finished bool `json:"finished,omitempty"` // Time that the collection backup finished at // +optional FinishTime *metav1.Time `json:"finishTimestamp,omitempty"` // Whether the backup was successful // +optional Successful *bool `json:"successful,omitempty"` }
CollectionBackupStatus defines the progress of a Solr Collection's backup
func (*CollectionBackupStatus) DeepCopy ¶
func (in *CollectionBackupStatus) DeepCopy() *CollectionBackupStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CollectionBackupStatus.
func (*CollectionBackupStatus) DeepCopyInto ¶
func (in *CollectionBackupStatus) DeepCopyInto(out *CollectionBackupStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConfigMapOptions ¶
type ConfigMapOptions struct { // Annotations to be added for the ConfigMap. // +optional Annotations map[string]string `json:"annotations,omitempty"` // Labels to be added for the ConfigMap. // +optional Labels map[string]string `json:"labels,omitempty"` // Name of a user provided ConfigMap in the same namespace containing a custom solr.xml // +optional ProvidedConfigMap string `json:"providedConfigMap,omitempty"` }
ConfigMapOptions defines custom options for configMaps
func (*ConfigMapOptions) DeepCopy ¶
func (in *ConfigMapOptions) DeepCopy() *ConfigMapOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigMapOptions.
func (*ConfigMapOptions) DeepCopyInto ¶
func (in *ConfigMapOptions) DeepCopyInto(out *ConfigMapOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ContainerImage ¶
type ContainerImage struct { // +optional Repository string `json:"repository,omitempty"` // +optional Tag string `json:"tag,omitempty"` // +optional PullPolicy corev1.PullPolicy `json:"pullPolicy,omitempty"` // +optional ImagePullSecret string `json:"imagePullSecret,omitempty"` }
ContainerImage defines the fields needed for a Docker repository image. The format here matches the predominant format used in Helm charts.
func (*ContainerImage) DeepCopy ¶
func (in *ContainerImage) DeepCopy() *ContainerImage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerImage.
func (*ContainerImage) DeepCopyInto ¶
func (in *ContainerImage) DeepCopyInto(out *ContainerImage)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ContainerImage) ToImageName ¶
func (c *ContainerImage) ToImageName() (name string)
type CustomExporterKubeOptions ¶
type CustomExporterKubeOptions struct { // SolrPodOptions defines the custom options for the solrPrometheusExporter pods. // +optional PodOptions *PodOptions `json:"podOptions,omitempty"` // DeploymentOptions defines the custom options for the solrPrometheusExporter Deployment. // +optional DeploymentOptions *DeploymentOptions `json:"deploymentOptions,omitempty"` // ServiceOptions defines the custom options for the solrPrometheusExporter Service. // +optional ServiceOptions *ServiceOptions `json:"serviceOptions,omitempty"` // ServiceOptions defines the custom options for the solrPrometheusExporter ConfigMap. // +optional ConfigMapOptions *ConfigMapOptions `json:"configMapOptions,omitempty"` }
func (*CustomExporterKubeOptions) DeepCopy ¶
func (in *CustomExporterKubeOptions) DeepCopy() *CustomExporterKubeOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomExporterKubeOptions.
func (*CustomExporterKubeOptions) DeepCopyInto ¶
func (in *CustomExporterKubeOptions) DeepCopyInto(out *CustomExporterKubeOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CustomSolrKubeOptions ¶
type CustomSolrKubeOptions struct { // SolrPodOptions defines the custom options for solrCloud pods. // +optional PodOptions *PodOptions `json:"podOptions,omitempty"` // StatefulSetOptions defines the custom options for the solrCloud StatefulSet. // +optional StatefulSetOptions *StatefulSetOptions `json:"statefulSetOptions,omitempty"` // CommonServiceOptions defines the custom options for the common solrCloud Service. // +optional CommonServiceOptions *ServiceOptions `json:"commonServiceOptions,omitempty"` // HeadlessServiceOptions defines the custom options for the headless solrCloud Service. // +optional HeadlessServiceOptions *ServiceOptions `json:"headlessServiceOptions,omitempty"` // NodeServiceOptions defines the custom options for the individual solrCloud Node services, if they are created. // These services will only be created when exposing SolrNodes externally via an Ingress in the AddressabilityOptions. // +optional NodeServiceOptions *ServiceOptions `json:"nodeServiceOptions,omitempty"` // ServiceOptions defines the custom options for the solrCloud ConfigMap. // +optional ConfigMapOptions *ConfigMapOptions `json:"configMapOptions,omitempty"` // IngressOptions defines the custom options for the solrCloud Ingress. // +optional IngressOptions *IngressOptions `json:"ingressOptions,omitempty"` }
func (*CustomSolrKubeOptions) DeepCopy ¶
func (in *CustomSolrKubeOptions) DeepCopy() *CustomSolrKubeOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomSolrKubeOptions.
func (*CustomSolrKubeOptions) DeepCopyInto ¶
func (in *CustomSolrKubeOptions) DeepCopyInto(out *CustomSolrKubeOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeploymentOptions ¶
type DeploymentOptions struct { // Annotations to be added for the Deployment. // +optional Annotations map[string]string `json:"annotations,omitempty"` // Labels to be added for the Deployment. // +optional Labels map[string]string `json:"labels,omitempty"` }
DeploymentOptions defines custom options for Deployments
func (*DeploymentOptions) DeepCopy ¶
func (in *DeploymentOptions) DeepCopy() *DeploymentOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentOptions.
func (*DeploymentOptions) DeepCopyInto ¶
func (in *DeploymentOptions) DeepCopyInto(out *DeploymentOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExternalAddressability ¶
type ExternalAddressability struct { // The way in which this SolrCloud's service(s) should be made addressable externally. Method ExternalAddressabilityMethod `json:"method"` // Use the external address to advertise the SolrNode, defaults to false. // // If false, the external address will be available, however Solr (and clients using the CloudSolrClient in SolrJ) will only be aware of the internal URLs. // If true, Solr will startup with the hostname of the external address. // // NOTE: This option cannot be true when hideNodes is set to true. So it will be auto-set to false if that is the case. // // +optional UseExternalAddress bool `json:"useExternalAddress"` // Do not expose the common Solr service externally. This affects a single service. // Defaults to false. // +optional HideCommon bool `json:"hideCommon,omitempty"` // Do not expose each of the Solr Node services externally. // The number of services this affects could range from 1 (a headless service for ExternalDNS) to the number of Solr pods your cloud contains (individual node services for Ingress/LoadBalancer). // Defaults to false. // +optional HideNodes bool `json:"hideNodes,omitempty"` // Override the domainName provided as startup parameters to the operator, used by ingresses and externalDNS. // The common and/or node services will be addressable by unique names under the given domain. // e.g. given.domain.name.com -> default-example-solrcloud.given.domain.name.com // // For the LoadBalancer method, this field is optional and will only be used when useExternalAddress=true. // If used with the LoadBalancer method, you will need DNS routing to the LoadBalancer IP address through the url template given above. DomainName string `json:"domainName"` // Provide additional domainNames that the Ingress or ExternalDNS should listen on. // This option is ignored with the LoadBalancer method. // +optional AdditionalDomainNames []string `json:"additionalDomainNames,omitempty"` // NodePortOverride defines the port to have all Solr node service(s) listen on and advertise itself as if advertising through an Ingress or LoadBalancer. // This overrides the default usage of the podPort. // // This is option is only used when HideNodes=false, otherwise the the port each Solr Node will advertise itself with the podPort. // This option is also unavailable with the ExternalDNS method. // // If using method=Ingress, your ingress controller is required to listen on this port. // If your ingress controller is not listening on the podPort, then this option is required for solr to be addressable via an Ingress. // // Defaults to 80 (without TLS) or 443 (with TLS) if HideNodes=false and method=Ingress, otherwise this is optional. // +optional NodePortOverride int `json:"nodePortOverride,omitempty"` // IngressTLSTermination tells the SolrCloud Ingress to terminate TLS on incoming connections. // // This is option is only available when Method=Ingress, because ExternalDNS and LoadBalancer Services do not support TLS termination. // This option is also unavailable when the SolrCloud has TLS enabled via `spec.solrTLS`, in this case the Ingress cannot terminate TLS before reaching Solr. // // When using this option, the UseExternalAddress option will be disabled, since Solr cannot be running in HTTP mode and making internal requests in HTTPS. // // +optional IngressTLSTermination *SolrIngressTLSTermination `json:"ingressTLSTermination,omitempty"` }
ExternalAddressability defines the config for making Solr services available externally to kubernetes. Be careful when using LoadBalanced and includeNodes, as many IP addresses could be created if you are running many large solrClouds.
func (*ExternalAddressability) DeepCopy ¶
func (in *ExternalAddressability) DeepCopy() *ExternalAddressability
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalAddressability.
func (*ExternalAddressability) DeepCopyInto ¶
func (in *ExternalAddressability) DeepCopyInto(out *ExternalAddressability)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ExternalAddressability) HasIngressTLSTermination ¶ added in v0.6.0
func (ea *ExternalAddressability) HasIngressTLSTermination() bool
func (*ExternalAddressability) UsesIndividualNodeServices ¶
func (extOpts *ExternalAddressability) UsesIndividualNodeServices() bool
type ExternalAddressabilityMethod ¶
type ExternalAddressabilityMethod string
ExternalAddressabilityMethod is a string enumeration type that enumerates all possible ways that a SolrCloud can be made addressable external to the kubernetes cluster. +kubebuilder:validation:Enum=Ingress;ExternalDNS
const ( // Use an ingress to make the Solr service(s) externally addressable Ingress ExternalAddressabilityMethod = "Ingress" // Use ExternalDNS to make the Solr service(s) externally addressable ExternalDNS ExternalAddressabilityMethod = "ExternalDNS" // Make Solr service(s) type:LoadBalancer to make them externally addressable // NOTE: This option is not currently supported. LoadBalancer ExternalAddressabilityMethod = "LoadBalancer" )
type GcsRepository ¶ added in v0.5.0
type GcsRepository struct { // The name of the GCS bucket that all backup data will be stored in Bucket string `json:"bucket"` // The name & key of a Kubernetes secret holding a Google cloud service account key. Must be set unless deployed in // GKE and making use of Google's "Workplace Identity" feature. //+optional GcsCredentialSecret *corev1.SecretKeySelector `json:"gcsCredentialSecret,omitempty"` // An already-created chroot within the bucket to store data in. Defaults to the root path "/" if not specified. // +optional BaseLocation string `json:"baseLocation,omitempty"` }
func (*GcsRepository) DeepCopy ¶ added in v0.5.0
func (in *GcsRepository) DeepCopy() *GcsRepository
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GcsRepository.
func (*GcsRepository) DeepCopyInto ¶ added in v0.5.0
func (in *GcsRepository) DeepCopyInto(out *GcsRepository)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IndividualSolrBackupStatus ¶ added in v0.5.0
type IndividualSolrBackupStatus struct { // Version of the Solr being backed up // +optional SolrVersion string `json:"solrVersion,omitempty"` // The time that this backup was initiated // +optional StartTime metav1.Time `json:"startTimestamp,omitempty"` // The status of each collection's backup progress // +optional CollectionBackupStatuses []CollectionBackupStatus `json:"collectionBackupStatuses,omitempty"` // The time that this backup was finished // +optional FinishTime *metav1.Time `json:"finishTimestamp,omitempty"` // Whether the backup was successful // +optional Successful *bool `json:"successful,omitempty"` // Whether the backup has finished // +optional Finished bool `json:"finished,omitempty"` }
IndividualSolrBackupStatus defines the observed state of a single issued SolrBackup
func (*IndividualSolrBackupStatus) DeepCopy ¶ added in v0.5.0
func (in *IndividualSolrBackupStatus) DeepCopy() *IndividualSolrBackupStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IndividualSolrBackupStatus.
func (*IndividualSolrBackupStatus) DeepCopyInto ¶ added in v0.5.0
func (in *IndividualSolrBackupStatus) DeepCopyInto(out *IndividualSolrBackupStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IngressOptions ¶
type IngressOptions struct { // Annotations to be added for the Ingress. // +optional Annotations map[string]string `json:"annotations,omitempty"` // Labels to be added for the Ingress. // +optional Labels map[string]string `json:"labels,omitempty"` // IngressClassName is the name of the IngressClass cluster resource. The // associated IngressClass defines which controller will implement the resource. // // +kubebuilder:validation:Pattern:=[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)* // +kubebuilder:validation:MinLength:=1 // +kubebuilder:validation:MaxLength:=63 // +optional IngressClassName *string `json:"ingressClassName,omitempty"` }
IngressOptions defines custom options for ingresses
func (*IngressOptions) DeepCopy ¶
func (in *IngressOptions) DeepCopy() *IngressOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressOptions.
func (*IngressOptions) DeepCopyInto ¶
func (in *IngressOptions) DeepCopyInto(out *IngressOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ManagedUpdateOptions ¶
type ManagedUpdateOptions struct { // Value can be an absolute number (ex: 5) or a percentage of the desired number of pods (ex: 10%). // Absolute number is calculated from percentage by rounding down. // If the provided number is 0 or negative, then all pods will be allowed to be updated in unison. // // Defaults to 25%. // // +optional MaxPodsUnavailable *intstr.IntOrString `json:"maxPodsUnavailable,omitempty"` // Value can be an absolute number (ex: 5) or a percentage of replicas in a shard (ex: 25%). // Absolute number is calculated from percentage by rounding down. // If the provided number is 0 or negative, then all replicas will be allowed to be updated in unison. // // Defaults to 1. // // +optional MaxShardReplicasUnavailable *intstr.IntOrString `json:"maxShardReplicasUnavailable,omitempty"` }
ManagedUpdateOptions control the desired behavior of managed rolling update.
func (*ManagedUpdateOptions) DeepCopy ¶
func (in *ManagedUpdateOptions) DeepCopy() *ManagedUpdateOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedUpdateOptions.
func (*ManagedUpdateOptions) DeepCopyInto ¶
func (in *ManagedUpdateOptions) DeepCopyInto(out *ManagedUpdateOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MountedTLSDirectory ¶ added in v0.4.0
type MountedTLSDirectory struct { // The path on the main Solr container where the TLS files are mounted by some external agent or CSI Driver Path string `json:"path"` // Override the name of the keystore file; no default, if you don't supply this setting, then the corresponding // env vars and Java system properties will not be configured for the pod template // +optional KeystoreFile string `json:"keystoreFile,omitempty"` // Override the name of the keystore password file; defaults to keystore-password, if "keystorePassword" is not provided. // +optional KeystorePasswordFile string `json:"keystorePasswordFile,omitempty"` // Set the password of the keystore explicitly. Cannot be used with "keystorePasswordFile" // +optional KeystorePassword string `json:"keystorePassword,omitempty"` // Override the name of the truststore file; no default, if you don't supply this setting, then the corresponding // env vars and Java system properties will not be configured for the pod template // +optional TruststoreFile string `json:"truststoreFile,omitempty"` // Override the name of the truststore password file; defaults to the same value as the KeystorePasswordFile, if "truststorePassword" is not provided. // +optional TruststorePasswordFile string `json:"truststorePasswordFile,omitempty"` // Set the password of the truststore explicitly. If "keystorePassword" is provided, and "truststorePasswordFile" is not, this will be defaulted to "keystorePassword". // +optional TruststorePassword string `json:"truststorePassword,omitempty"` }
func (*MountedTLSDirectory) DeepCopy ¶ added in v0.4.0
func (in *MountedTLSDirectory) DeepCopy() *MountedTLSDirectory
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MountedTLSDirectory.
func (*MountedTLSDirectory) DeepCopyInto ¶ added in v0.4.0
func (in *MountedTLSDirectory) DeepCopyInto(out *MountedTLSDirectory)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PersistentVolumeClaimTemplate ¶
type PersistentVolumeClaimTemplate struct { // May contain labels and annotations that will be copied into the PVC // when creating it. No other fields are allowed and will be rejected during // validation. // // +optional ObjectMeta TemplateMeta `json:"metadata,omitempty"` // The specification for the PersistentVolumeClaim. The entire content is // copied unchanged into the PVC that gets created from this // template. The same fields as in a PersistentVolumeClaim // are also valid here. // // +optional Spec corev1.PersistentVolumeClaimSpec `json:"spec,omitempty"` }
PersistentVolumeClaimTemplate is used to produce PersistentVolumeClaim objects as part of an EphemeralVolumeSource.
func (*PersistentVolumeClaimTemplate) DeepCopy ¶
func (in *PersistentVolumeClaimTemplate) DeepCopy() *PersistentVolumeClaimTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PersistentVolumeClaimTemplate.
func (*PersistentVolumeClaimTemplate) DeepCopyInto ¶
func (in *PersistentVolumeClaimTemplate) DeepCopyInto(out *PersistentVolumeClaimTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodOptions ¶
type PodOptions struct { // The scheduling constraints on pods. // +optional Affinity *corev1.Affinity `json:"affinity,omitempty"` // Resources is the resource requirements for the default container. // +optional Resources corev1.ResourceRequirements `json:"resources,omitempty"` // Additional non-data volumes to load into the default container. // +optional Volumes []AdditionalVolume `json:"volumes,omitempty"` // PodSecurityContext is the security context for the pod. // +optional PodSecurityContext *corev1.PodSecurityContext `json:"podSecurityContext,omitempty"` // Additional environment variables to pass to the default container. // +optional EnvVariables []corev1.EnvVar `json:"envVars,omitempty"` // Annotations to be added for pods. // +optional Annotations map[string]string `json:"annotations,omitempty"` // Labels to be added for pods. // +optional Labels map[string]string `json:"labels,omitempty"` // Tolerations to be added for the StatefulSet. // +optional Tolerations []corev1.Toleration `json:"tolerations,omitempty"` // Node Selector to be added for the StatefulSet. // +optional NodeSelector map[string]string `json:"nodeSelector,omitempty"` // Liveness probe parameters // +optional LivenessProbe *corev1.Probe `json:"livenessProbe,omitempty"` // Readiness probe parameters // +optional ReadinessProbe *corev1.Probe `json:"readinessProbe,omitempty"` // Startup probe parameters // +optional StartupProbe *corev1.Probe `json:"startupProbe,omitempty"` // PriorityClassName for the pod // +optional PriorityClassName string `json:"priorityClassName,omitempty"` // Lifecycle for the main container // +optional Lifecycle *corev1.Lifecycle `json:"lifecycle,omitempty"` // Sidecar containers to run in the pod. These are in addition to the Solr Container // +optional SidecarContainers []corev1.Container `json:"sidecarContainers,omitempty"` // Additional init containers to run in the pod. // These will run along with the init container that sets up the "solr.xml". // +optional InitContainers []corev1.Container `json:"initContainers,omitempty"` // ImagePullSecrets to apply to the pod. // These are for init/sidecarContainers in addition to the imagePullSecret defined for the // solr image. // +optional ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"` // Optional duration in seconds the pod needs to terminate gracefully. // +kubebuilder:validation:Minimum=10 // +optional TerminationGracePeriodSeconds *int64 `json:"terminationGracePeriodSeconds,omitempty"` // Optional Service Account to run the pod under. // +optional ServiceAccountName string `json:"serviceAccountName,omitempty"` // Optional PodSpreadTopologyConstraints to use when scheduling pods. // More information here: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ // // Note: There is no need to provide a "labelSelector", as the operator will inject the labels for you if not provided. // // +patchMergeKey=topologyKey // +patchStrategy=merge // +listType=map // +listMapKey=topologyKey // +listMapKey=whenUnsatisfiable // +optional TopologySpreadConstraints []corev1.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty"` // DefaultInitContainerResources are the resource requirements for the default init container(s) created by the Solr Operator, if any are created. // +optional DefaultInitContainerResources corev1.ResourceRequirements `json:"defaultInitContainerResources,omitempty"` }
PodOptions defines the common pod configuration for Pods, including when used in deployments, stateful-sets, etc.
func (*PodOptions) DeepCopy ¶
func (in *PodOptions) DeepCopy() *PodOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodOptions.
func (*PodOptions) DeepCopyInto ¶
func (in *PodOptions) DeepCopyInto(out *PodOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type S3Credentials ¶ added in v0.5.0
type S3Credentials struct { // The name & key of a Kubernetes secret holding an AWS Access Key ID // +optional AccessKeyIdSecret *corev1.SecretKeySelector `json:"accessKeyIdSecret,omitempty"` // The name & key of a Kubernetes secret holding an AWS Secret Access Key // +optional SecretAccessKeySecret *corev1.SecretKeySelector `json:"secretAccessKeySecret,omitempty"` // The name & key of a Kubernetes secret holding an AWS Session Token // +optional SessionTokenSecret *corev1.SecretKeySelector `json:"sessionTokenSecret,omitempty"` // The name & key of a Kubernetes secret holding an AWS credentials file // +optional CredentialsFileSecret *corev1.SecretKeySelector `json:"credentialsFileSecret,omitempty"` }
func (*S3Credentials) DeepCopy ¶ added in v0.5.0
func (in *S3Credentials) DeepCopy() *S3Credentials
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S3Credentials.
func (*S3Credentials) DeepCopyInto ¶ added in v0.5.0
func (in *S3Credentials) DeepCopyInto(out *S3Credentials)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type S3Repository ¶ added in v0.5.0
type S3Repository struct { // The S3 region to store the backup data in Region string `json:"region"` // The name of the S3 bucket that all backup data will be stored in Bucket string `json:"bucket"` // Options for specifying S3Credentials. This is optional in case you want to mount this information yourself. // However, if you do not include these credentials, and you do not load them yourself via a mount or EnvVars, // you will likely see errors when taking s3 backups. // // If running in EKS, you can create an IAMServiceAccount that uses a role permissioned for this S3 bucket. // Then use that serviceAccountName for your SolrCloud, and the credentials should be auto-populated. // // +optional Credentials *S3Credentials `json:"credentials,omitempty"` // An already-created chroot within the bucket to store data in. Defaults to the root path "/" if not specified. // +optional BaseLocation string `json:"baseLocation,omitempty"` // The full endpoint URL to use when connecting with S3 (or a supported S3 compatible interface) // +optional Endpoint string `json:"endpoint,omitempty"` // The full proxy URL to use when connecting with S3 // +optional ProxyUrl string `json:"proxyUrl,omitempty"` }
func (*S3Repository) DeepCopy ¶ added in v0.5.0
func (in *S3Repository) DeepCopy() *S3Repository
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S3Repository.
func (*S3Repository) DeepCopyInto ¶ added in v0.5.0
func (in *S3Repository) DeepCopyInto(out *S3Repository)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceOptions ¶
type ServiceOptions struct { // Annotations to be added for the Service. // +optional Annotations map[string]string `json:"annotations,omitempty"` // Labels to be added for the Service. // +optional Labels map[string]string `json:"labels,omitempty"` }
ServiceOptions defines custom options for services
func (*ServiceOptions) DeepCopy ¶
func (in *ServiceOptions) DeepCopy() *ServiceOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceOptions.
func (*ServiceOptions) DeepCopyInto ¶
func (in *ServiceOptions) DeepCopyInto(out *ServiceOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SolrAddressabilityOptions ¶
type SolrAddressabilityOptions struct { // External defines the way in which this SolrCloud nodes should be made addressable externally, from outside the Kubernetes cluster. // If none is provided, the Solr Cloud will not be made addressable externally. // +optional External *ExternalAddressability `json:"external,omitempty"` // PodPort defines the port to have the Solr Pod listen on. // Defaults to 8983 // +optional PodPort int `json:"podPort,omitempty"` // CommonServicePort defines the port to have the common Solr service listen on. // Defaults to 80 (when not using TLS) or 443 (when using TLS) // +optional CommonServicePort int `json:"commonServicePort,omitempty"` // KubeDomain allows for the specification of an override of the default "cluster.local" Kubernetes cluster domain. // Only use this option if the Kubernetes cluster has been setup with a custom domain. // +optional KubeDomain string `json:"kubeDomain,omitempty"` }
func (*SolrAddressabilityOptions) DeepCopy ¶
func (in *SolrAddressabilityOptions) DeepCopy() *SolrAddressabilityOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SolrAddressabilityOptions.
func (*SolrAddressabilityOptions) DeepCopyInto ¶
func (in *SolrAddressabilityOptions) DeepCopyInto(out *SolrAddressabilityOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SolrAvailabilityOptions ¶ added in v0.7.0
type SolrAvailabilityOptions struct { // Define PodDisruptionBudget(s) to ensure availability of Solr // +optional PodDisruptionBudget SolrPodDisruptionBudgetOptions `json:"podDisruptionBudget,omitempty"` }
func (*SolrAvailabilityOptions) DeepCopy ¶ added in v0.7.0
func (in *SolrAvailabilityOptions) DeepCopy() *SolrAvailabilityOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SolrAvailabilityOptions.
func (*SolrAvailabilityOptions) DeepCopyInto ¶ added in v0.7.0
func (in *SolrAvailabilityOptions) DeepCopyInto(out *SolrAvailabilityOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SolrBackup ¶
type SolrBackup struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec SolrBackupSpec `json:"spec,omitempty"` Status SolrBackupStatus `json:"status,omitempty"` }
SolrBackup is the Schema for the solrbackups API
func (*SolrBackup) DeepCopy ¶
func (in *SolrBackup) DeepCopy() *SolrBackup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SolrBackup.
func (*SolrBackup) DeepCopyInto ¶
func (in *SolrBackup) DeepCopyInto(out *SolrBackup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SolrBackup) DeepCopyObject ¶
func (in *SolrBackup) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*SolrBackup) PersistenceJobName ¶
func (sb *SolrBackup) PersistenceJobName() string
PersistenceJobName returns the name of the persistence job for the backup
func (*SolrBackup) SharedLabels ¶
func (sb *SolrBackup) SharedLabels() map[string]string
func (*SolrBackup) SharedLabelsWith ¶
func (sb *SolrBackup) SharedLabelsWith(labels map[string]string) map[string]string
func (*SolrBackup) WithDefaults ¶
func (sb *SolrBackup) WithDefaults() bool
WithDefaults set default values when not defined in the spec.
type SolrBackupList ¶
type SolrBackupList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []SolrBackup `json:"items"` }
SolrBackupList contains a list of SolrBackup
func (*SolrBackupList) DeepCopy ¶
func (in *SolrBackupList) DeepCopy() *SolrBackupList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SolrBackupList.
func (*SolrBackupList) DeepCopyInto ¶
func (in *SolrBackupList) DeepCopyInto(out *SolrBackupList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SolrBackupList) DeepCopyObject ¶
func (in *SolrBackupList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SolrBackupRepository ¶ added in v0.5.0
type SolrBackupRepository struct { // A name used to identify this local storage profile. Values should follow RFC-1123. (See here for more details: // https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#dns-label-names) // // +kubebuilder:validation:Pattern:=[a-zA-Z0-9]([-_a-zA-Z0-9]*[a-zA-Z0-9])? // +kubebuilder:validation:MinLength:=1 // +kubebuilder:validation:MaxLength:=100 Name string `json:"name"` // A GCSRepository for Solr to use when backing up and restoring collections. //+optional GCS *GcsRepository `json:"gcs,omitempty"` // An S3Repository for Solr to use when backing up and restoring collections. //+optional S3 *S3Repository `json:"s3,omitempty"` // Allows specification of a "repository" for Solr to use when backing up data "locally". //+optional Volume *VolumeRepository `json:"volume,omitempty"` }
+kubebuilder:validation:MinProperties:=2 +kubebuilder:validation:MaxProperties:=2
func (*SolrBackupRepository) DeepCopy ¶ added in v0.5.0
func (in *SolrBackupRepository) DeepCopy() *SolrBackupRepository
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SolrBackupRepository.
func (*SolrBackupRepository) DeepCopyInto ¶ added in v0.5.0
func (in *SolrBackupRepository) DeepCopyInto(out *SolrBackupRepository)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SolrBackupSpec ¶
type SolrBackupSpec struct { // A reference to the SolrCloud to create a backup for // // +kubebuilder:validation:Pattern:=[a-z0-9]([-a-z0-9]*[a-z0-9])? // +kubebuilder:validation:MinLength:=1 // +kubebuilder:validation:MaxLength:=63 SolrCloud string `json:"solrCloud"` // The name of the repository to use for the backup. Defaults to "legacy_local_repository" if not specified (the // auto-configured repository for legacy singleton volumes). // // +kubebuilder:validation:Pattern:=[a-zA-Z0-9]([-_a-zA-Z0-9]*[a-zA-Z0-9])? // +kubebuilder:validation:MinLength:=1 // +kubebuilder:validation:MaxLength:=100 // +optional RepositoryName string `json:"repositoryName,omitempty"` // The list of collections to backup. // +optional Collections []string `json:"collections,omitempty"` // The location to store the backup in the specified backup repository. // +optional Location string `json:"location,omitempty"` // Set this backup to be taken recurrently, with options for scheduling and storage. // // NOTE: This is only supported for Solr Clouds version 8.9+, as it uses the incremental backup API. // // +optional Recurrence *BackupRecurrence `json:"recurrence,omitempty"` }
SolrBackupSpec defines the desired state of SolrBackup
func (*SolrBackupSpec) DeepCopy ¶
func (in *SolrBackupSpec) DeepCopy() *SolrBackupSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SolrBackupSpec.
func (*SolrBackupSpec) DeepCopyInto ¶
func (in *SolrBackupSpec) DeepCopyInto(out *SolrBackupSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SolrBackupStatus ¶
type SolrBackupStatus struct { // The current Backup Status, which all fields are added to this struct IndividualSolrBackupStatus `json:",inline"` // The scheduled time for the next backup to occur // +optional NextScheduledTime *metav1.Time `json:"nextScheduledTime,omitempty"` // The status history of recurring backups // +optional History []IndividualSolrBackupStatus `json:"history,omitempty"` }
SolrBackupStatus defines the observed state of SolrBackup
func (*SolrBackupStatus) DeepCopy ¶
func (in *SolrBackupStatus) DeepCopy() *SolrBackupStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SolrBackupStatus.
func (*SolrBackupStatus) DeepCopyInto ¶
func (in *SolrBackupStatus) DeepCopyInto(out *SolrBackupStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SolrCloud ¶
type SolrCloud struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec SolrCloudSpec `json:"spec,omitempty"` Status SolrCloudStatus `json:"status,omitempty"` }
SolrCloud is the Schema for the solrclouds API
func (*SolrCloud) AdvertisedNodeHost ¶
func (*SolrCloud) BasicAuthSecretName ¶
func (*SolrCloud) CommonExternalPrefix ¶
func (*SolrCloud) CommonIngressName ¶
CommonIngressName returns the name of the common ingress for the cloud
func (*SolrCloud) CommonPortSuffix ¶
func (*SolrCloud) CommonServiceName ¶
CommonServiceName returns the name of the common service for the cloud
func (*SolrCloud) ConfigMapName ¶
ConfigMapName returns the name of the cloud config-map
func (*SolrCloud) DataVolumeName ¶ added in v0.7.0
func (*SolrCloud) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SolrCloud.
func (*SolrCloud) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SolrCloud) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*SolrCloud) ExternalCommonUrl ¶
func (*SolrCloud) ExternalDnsDomain ¶
func (*SolrCloud) ExternalNodeUrl ¶
func (*SolrCloud) GetAllSolrPodNames ¶ added in v0.5.0
func (*SolrCloud) GetRandomSolrPodName ¶ added in v0.8.0
func (*SolrCloud) GetSolrPodName ¶ added in v0.8.0
func (*SolrCloud) GetSolrPodNames ¶ added in v0.8.1
func (*SolrCloud) HeadlessServiceName ¶
HeadlessServiceName returns the name of the headless service for the cloud
func (*SolrCloud) InternalCommonUrl ¶
func (*SolrCloud) InternalNodeUrl ¶
func (*SolrCloud) NodeHeadlessUrl ¶
func (*SolrCloud) NodeIngressPrefix ¶
func (*SolrCloud) NodePortSuffix ¶
func (*SolrCloud) NodeServiceUrl ¶
func (*SolrCloud) ProvidedZookeeperAddress ¶
ProvidedZookeeperAddress returns the client address of the provided zk cluster
func (*SolrCloud) ProvidedZookeeperName ¶
ProvidedZookeeperName returns the provided zk cluster
func (*SolrCloud) SecurityBootstrapSecretName ¶
func (*SolrCloud) SharedLabels ¶
func (*SolrCloud) SharedLabelsWith ¶
func (*SolrCloud) StatefulSetName ¶
StatefulSetName returns the name of the statefulset for the cloud
func (*SolrCloud) UsesHeadlessService ¶
UsesHeadlessService returns whether the given solrCloud requires a headless service to be created for it. solrCloud: SolrCloud instance
func (*SolrCloud) UsesIndividualNodeServices ¶
UsesIndividualNodeServices returns whether the given solrCloud requires a individual node services to be created for it. solrCloud: SolrCloud instance
func (*SolrCloud) UsesPersistentStorage ¶
func (*SolrCloud) WithDefaults ¶
WithDefaults set default values when not defined in the spec.
func (*SolrCloud) ZkConnectionString ¶
ZkConnectionString returns the zkConnectionString for the cloud
type SolrCloudList ¶
type SolrCloudList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []SolrCloud `json:"items"` }
SolrCloudList contains a list of SolrCloud
func (*SolrCloudList) DeepCopy ¶
func (in *SolrCloudList) DeepCopy() *SolrCloudList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SolrCloudList.
func (*SolrCloudList) DeepCopyInto ¶
func (in *SolrCloudList) DeepCopyInto(out *SolrCloudList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SolrCloudList) DeepCopyObject ¶
func (in *SolrCloudList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SolrCloudReference ¶
type SolrCloudReference struct { // The name of a solr cloud running within the kubernetes cluster // +optional Name string `json:"name,omitempty"` // The namespace of a solr cloud running within the kubernetes cluster // +optional Namespace string `json:"namespace,omitempty"` // The ZK Connection information for a cloud, could be used for solr's running outside of the kube cluster // +optional ZookeeperConnectionInfo *ZookeeperConnectionInfo `json:"zkConnectionInfo,omitempty"` }
SolrCloudReference defines a reference to an internal or external solrCloud. Internal (to the kube cluster) clouds should be specified via the Name and Namespace options. External clouds should be specified by their Zookeeper connection information.
func (*SolrCloudReference) DeepCopy ¶
func (in *SolrCloudReference) DeepCopy() *SolrCloudReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SolrCloudReference.
func (*SolrCloudReference) DeepCopyInto ¶
func (in *SolrCloudReference) DeepCopyInto(out *SolrCloudReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SolrCloudSpec ¶
type SolrCloudSpec struct { // The number of solr nodes to run // +optional Replicas *int32 `json:"replicas,omitempty"` // The information for the Zookeeper this SolrCloud should connect to // Can be a zookeeper that is running, or one that is created by the solr operator // +optional ZookeeperRef *ZookeeperRef `json:"zookeeperRef,omitempty"` // +optional SolrImage *ContainerImage `json:"solrImage,omitempty"` // Customize how the cloud data is stored. // If neither "persistent" or "ephemeral" is provided, then ephemeral storage will be used by default. // // +optional StorageOptions SolrDataStorageOptions `json:"dataStorage,omitempty"` // Provide custom options for kubernetes objects created for the Solr Cloud. // +optional CustomSolrKubeOptions CustomSolrKubeOptions `json:"customSolrKubeOptions,omitempty"` // Customize how Solr is addressed both internally and externally in Kubernetes. // +optional SolrAddressability SolrAddressabilityOptions `json:"solrAddressability,omitempty"` // Define how Solr rolling updates are executed. // +optional UpdateStrategy SolrUpdateStrategy `json:"updateStrategy,omitempty"` // Define how Solr nodes should be available. // +optional Availability SolrAvailabilityOptions `json:"availability,omitempty"` // Configure how Solr nodes should be scaled. // +optional Scaling SolrScalingOptions `json:"scaling,omitempty"` // +optional BusyBoxImage *ContainerImage `json:"busyBoxImage,omitempty"` // +optional SolrJavaMem string `json:"solrJavaMem,omitempty"` // You can add common system properties to the SOLR_OPTS environment variable // SolrOpts is the string interface for these optional settings // +optional SolrOpts string `json:"solrOpts,omitempty"` // This will add java system properties for connecting to Zookeeper. // SolrZkOpts is the string interface for these optional settings // +optional SolrZkOpts string `json:"solrZkOpts,omitempty"` // Set the Solr Log level, defaults to INFO // +optional SolrLogLevel string `json:"solrLogLevel,omitempty"` // Set GC Tuning configuration through GC_TUNE environment variable // +optional SolrGCTune string `json:"solrGCTune,omitempty"` // Options to enable the server TLS certificate for Solr pods // +optional SolrTLS *SolrTLSOptions `json:"solrTLS,omitempty"` // Options to configure client TLS certificate for Solr pods // +optional SolrClientTLS *SolrTLSOptions `json:"solrClientTLS,omitempty"` // Options to enable Solr security // +optional SolrSecurity *SolrSecurityOptions `json:"solrSecurity,omitempty"` // Allows specification of multiple different "repositories" for Solr to use when backing up data. //+optional //+listType:=map //+listMapKey:=name BackupRepositories []SolrBackupRepository `json:"backupRepositories,omitempty"` // List of Solr Modules to be loaded when starting Solr // Note: You do not need to specify a module if it is required by another property (e.g. backupRepositories[].gcs) // //+optional SolrModules []string `json:"solrModules,omitempty"` // List of paths in the Solr Docker image to load in the classpath. // Note: Solr Modules will be auto-loaded if specified in the "solrModules" property. There is no need to specify them here as well. // //+optional AdditionalLibs []string `json:"additionalLibs,omitempty"` }
SolrCloudSpec defines the desired state of SolrCloud
func (*SolrCloudSpec) DeepCopy ¶
func (in *SolrCloudSpec) DeepCopy() *SolrCloudSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SolrCloudSpec.
func (*SolrCloudSpec) DeepCopyInto ¶
func (in *SolrCloudSpec) DeepCopyInto(out *SolrCloudSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SolrCloudStatus ¶
type SolrCloudStatus struct { // SolrNodes contain the statuses of each solr node running in this solr cloud. //+listType:=map //+listMapKey:=name SolrNodes []SolrNodeStatus `json:"solrNodes"` // Replicas is the number of pods created by the StatefulSet // +kubebuilder:validation:Minimum=0 // +kubebuilder:default=0 Replicas int32 `json:"replicas"` // PodSelector for SolrCloud pods, required by the HPA PodSelector string `json:"podSelector"` // ReadyReplicas is the number of ready pods in the cluster // +kubebuilder:validation:Minimum=0 // +kubebuilder:default=0 ReadyReplicas int32 `json:"readyReplicas"` // UpToDateNodes is the number of Solr Node pods that are running the latest pod spec // +kubebuilder:validation:Minimum=0 // +kubebuilder:default=0 UpToDateNodes int32 `json:"upToDateNodes"` // The version of solr that the cloud is running Version string `json:"version"` // The version of solr that the cloud is meant to be running. // Will only be provided when the cloud is migrating between versions // +optional TargetVersion string `json:"targetVersion,omitempty"` // InternalCommonAddress is the internal common http address for all solr nodes InternalCommonAddress string `json:"internalCommonAddress"` // ExternalCommonAddress is the external common http address for all solr nodes. // Will only be provided when an ingressUrl is provided for the cloud // +optional ExternalCommonAddress *string `json:"externalCommonAddress,omitempty"` // ZookeeperConnectionInfo is the information on how to connect to the used Zookeeper ZookeeperConnectionInfo ZookeeperConnectionInfo `json:"zookeeperConnectionInfo"` // BackupRestoreReady announces whether the solrCloud has the backupRestorePVC mounted to all pods // and therefore is ready for backups and restores. // +optional BackupRestoreReady bool `json:"backupRestoreReady"` // BackupRepositoriesAvailable lists the backupRepositories specified in the SolrCloud and whether they are available across all Pods. // +optional BackupRepositoriesAvailable map[string]bool `json:"backupRepositoriesAvailable,omitempty"` }
SolrCloudStatus defines the observed state of SolrCloud
func (*SolrCloudStatus) DeepCopy ¶
func (in *SolrCloudStatus) DeepCopy() *SolrCloudStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SolrCloudStatus.
func (*SolrCloudStatus) DeepCopyInto ¶
func (in *SolrCloudStatus) DeepCopyInto(out *SolrCloudStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (SolrCloudStatus) DissectZkInfo ¶
func (scs SolrCloudStatus) DissectZkInfo() (zkConnectionString string, zkServer string, zkChRoot string)
func (SolrCloudStatus) ZkConnectionString ¶
func (scs SolrCloudStatus) ZkConnectionString() string
type SolrDataStorageOptions ¶
type SolrDataStorageOptions struct { // PersistentStorage is the specification for how the persistent Solr data storage should be configured. // // This option cannot be used with the "ephemeral" option. // // +optional PersistentStorage *SolrPersistentDataStorageOptions `json:"persistent,omitempty"` // EphemeralStorage is the specification for how the ephemeral Solr data storage should be configured. // // This option cannot be used with the "persistent" option. // Ephemeral storage is used by default if neither "persistent" or "ephemeral" is provided. // // +optional EphemeralStorage *SolrEphemeralDataStorageOptions `json:"ephemeral,omitempty"` }
func (*SolrDataStorageOptions) DeepCopy ¶
func (in *SolrDataStorageOptions) DeepCopy() *SolrDataStorageOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SolrDataStorageOptions.
func (*SolrDataStorageOptions) DeepCopyInto ¶
func (in *SolrDataStorageOptions) DeepCopyInto(out *SolrDataStorageOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SolrEphemeralDataStorageOptions ¶
type SolrEphemeralDataStorageOptions struct { // HostPathVolumeSource is an optional config to specify a path on the host machine to store Solr data. // // If hostPath is omitted, then the default EmptyDir is used, otherwise hostPath takes precedence over EmptyDir. // +optional HostPath *corev1.HostPathVolumeSource `json:"hostPath,omitempty"` //EmptyDirVolumeSource is an optional config for the emptydir volume that will store Solr data. // +optional EmptyDir *corev1.EmptyDirVolumeSource `json:"emptyDir,omitempty"` }
func (*SolrEphemeralDataStorageOptions) DeepCopy ¶
func (in *SolrEphemeralDataStorageOptions) DeepCopy() *SolrEphemeralDataStorageOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SolrEphemeralDataStorageOptions.
func (*SolrEphemeralDataStorageOptions) DeepCopyInto ¶
func (in *SolrEphemeralDataStorageOptions) DeepCopyInto(out *SolrEphemeralDataStorageOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SolrIngressTLSTermination ¶ added in v0.6.0
type SolrIngressTLSTermination struct { // UseDefaultTLSSecret determines whether the ingress should use the default TLS secret provided by the Ingress implementation. // // For example, using nginx: https://kubernetes.github.io/ingress-nginx/user-guide/tls/#default-ssl-certificate // // +optional UseDefaultTLSSecret bool `json:"useDefaultTLSSecret,omitempty"` // TLSSecret defines a TLS Secret to use for TLS termination of all exposed addresses for this SolrCloud in the Ingress. // // +optional TLSSecret string `json:"tlsSecret,omitempty"` }
SolrIngressTLSTermination defines how a SolrCloud should have TLS Termination enabled. Only one option can be provided.
+kubebuilder:validation:MaxProperties=1
func (*SolrIngressTLSTermination) DeepCopy ¶ added in v0.6.0
func (in *SolrIngressTLSTermination) DeepCopy() *SolrIngressTLSTermination
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SolrIngressTLSTermination.
func (*SolrIngressTLSTermination) DeepCopyInto ¶ added in v0.6.0
func (in *SolrIngressTLSTermination) DeepCopyInto(out *SolrIngressTLSTermination)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SolrNodeStatus ¶
type SolrNodeStatus struct { // The name of the pod running the node Name string `json:"name"` // The name of the Kubernetes Node which the pod is running on NodeName string `json:"nodeName"` // An address the node can be connected to from within the Kube cluster InternalAddress string `json:"internalAddress"` // An address the node can be connected to from outside of the Kube cluster // Will only be provided when an ingressUrl is provided for the cloud // +optional ExternalAddress string `json:"externalAddress,omitempty"` // Is the node up and running Ready bool `json:"ready"` // The version of solr that the node is running Version string `json:"version"` // This Solr Node pod is using the latest version of solrcloud pod spec. SpecUpToDate bool `json:"specUpToDate"` // This Solr Node pod is scheduled for deletion // +optional ScheduledForDeletion bool `json:"scheduledForDeletion"` }
SolrNodeStatus is the status of a solrNode in the cloud, with readiness status and internal and external addresses
func (*SolrNodeStatus) DeepCopy ¶
func (in *SolrNodeStatus) DeepCopy() *SolrNodeStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SolrNodeStatus.
func (*SolrNodeStatus) DeepCopyInto ¶
func (in *SolrNodeStatus) DeepCopyInto(out *SolrNodeStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SolrPersistentDataStorageOptions ¶
type SolrPersistentDataStorageOptions struct { // VolumeReclaimPolicy determines how the Solr Cloud's PVCs will be treated after the cloud is deleted. // - Retain: This is the default Kubernetes policy, where PVCs created for StatefulSets are not deleted when the StatefulSet is deleted. // - Delete: The PVCs will be deleted by the Solr Operator after the SolrCloud object is deleted. // The default value is Retain, so no data will be deleted unless explicitly configured. // +optional VolumeReclaimPolicy VolumeReclaimPolicy `json:"reclaimPolicy,omitempty"` // PersistentVolumeClaimTemplate is the PVC object for the solr node to store its data. // Within metadata, the Name, Labels and Annotations are able to be specified, but defaults will be provided if necessary. // The entire Spec is customizable, however there will be defaults provided if necessary. // This field is optional. If no PVC spec is provided, then a default will be provided. // +optional PersistentVolumeClaimTemplate PersistentVolumeClaimTemplate `json:"pvcTemplate,omitempty"` }
func (*SolrPersistentDataStorageOptions) DeepCopy ¶
func (in *SolrPersistentDataStorageOptions) DeepCopy() *SolrPersistentDataStorageOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SolrPersistentDataStorageOptions.
func (*SolrPersistentDataStorageOptions) DeepCopyInto ¶
func (in *SolrPersistentDataStorageOptions) DeepCopyInto(out *SolrPersistentDataStorageOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SolrPodDisruptionBudgetMethod ¶ added in v0.7.0
type SolrPodDisruptionBudgetMethod string
SolrPodDisruptionBudgetMethod is a string enumeration type that enumerates all possible ways that a SolrCloud can have PodDisruptionBudgets managed. +kubebuilder:validation:Enum=ClusterWide
const ( // ClusterWidePDB will result in a single cluster-wide PDB being created to ensure availability of the SolrCloud. // This will not take replica/shard readiness into account. ClusterWidePDB SolrPodDisruptionBudgetMethod = "ClusterWide" )
type SolrPodDisruptionBudgetOptions ¶ added in v0.7.0
type SolrPodDisruptionBudgetOptions struct { // What method should be used when creating PodDisruptionBudget(s) // +kubebuilder:default=true Enabled *bool `json:"enabled"` // What method should be used when creating PodDisruptionBudget(s) // +kubebuilder:default=ClusterWide Method SolrPodDisruptionBudgetMethod `json:"method,omitempty"` }
func (*SolrPodDisruptionBudgetOptions) DeepCopy ¶ added in v0.7.0
func (in *SolrPodDisruptionBudgetOptions) DeepCopy() *SolrPodDisruptionBudgetOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SolrPodDisruptionBudgetOptions.
func (*SolrPodDisruptionBudgetOptions) DeepCopyInto ¶ added in v0.7.0
func (in *SolrPodDisruptionBudgetOptions) DeepCopyInto(out *SolrPodDisruptionBudgetOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SolrPrometheusExporter ¶
type SolrPrometheusExporter struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec SolrPrometheusExporterSpec `json:"spec,omitempty"` Status SolrPrometheusExporterStatus `json:"status,omitempty"` }
SolrPrometheusExporter is the Schema for the solrprometheusexporters API
func (*SolrPrometheusExporter) BusyBoxImage ¶ added in v0.4.0
func (sc *SolrPrometheusExporter) BusyBoxImage() *ContainerImage
func (*SolrPrometheusExporter) DeepCopy ¶
func (in *SolrPrometheusExporter) DeepCopy() *SolrPrometheusExporter
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SolrPrometheusExporter.
func (*SolrPrometheusExporter) DeepCopyInto ¶
func (in *SolrPrometheusExporter) DeepCopyInto(out *SolrPrometheusExporter)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SolrPrometheusExporter) DeepCopyObject ¶
func (in *SolrPrometheusExporter) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*SolrPrometheusExporter) MetricsConfigMapName ¶
func (sc *SolrPrometheusExporter) MetricsConfigMapName() string
MetricsConfigMapName returns the name of the metrics service for the cloud
func (*SolrPrometheusExporter) MetricsDeploymentName ¶
func (sc *SolrPrometheusExporter) MetricsDeploymentName() string
MetricsDeploymentName returns the name of the metrics deployment for the cloud
func (*SolrPrometheusExporter) MetricsIngressPrefix ¶
func (sc *SolrPrometheusExporter) MetricsIngressPrefix() string
func (*SolrPrometheusExporter) MetricsIngressUrl ¶
func (sc *SolrPrometheusExporter) MetricsIngressUrl(ingressBaseUrl string) string
func (*SolrPrometheusExporter) MetricsServiceName ¶
func (sc *SolrPrometheusExporter) MetricsServiceName() string
MetricsServiceName returns the name of the metrics service for the cloud
func (*SolrPrometheusExporter) SharedLabels ¶
func (spe *SolrPrometheusExporter) SharedLabels() map[string]string
func (*SolrPrometheusExporter) SharedLabelsWith ¶
func (spe *SolrPrometheusExporter) SharedLabelsWith(labels map[string]string) map[string]string
func (*SolrPrometheusExporter) WithDefaults ¶
func (spe *SolrPrometheusExporter) WithDefaults() bool
WithDefaults set default values when not defined in the spec.
type SolrPrometheusExporterList ¶
type SolrPrometheusExporterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []SolrPrometheusExporter `json:"items"` }
SolrPrometheusExporterList contains a list of SolrPrometheusExporter
func (*SolrPrometheusExporterList) DeepCopy ¶
func (in *SolrPrometheusExporterList) DeepCopy() *SolrPrometheusExporterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SolrPrometheusExporterList.
func (*SolrPrometheusExporterList) DeepCopyInto ¶
func (in *SolrPrometheusExporterList) DeepCopyInto(out *SolrPrometheusExporterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SolrPrometheusExporterList) DeepCopyObject ¶
func (in *SolrPrometheusExporterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SolrPrometheusExporterSpec ¶
type SolrPrometheusExporterSpec struct { // Reference of the Solr instance to collect metrics for SolrReference SolrReference `json:"solrReference"` // Image of Solr Prometheus Exporter to run. // +optional Image *ContainerImage `json:"image,omitempty"` // Provide custom options for kubernetes objects created for the SolrPrometheusExporter. // +optional CustomKubeOptions CustomExporterKubeOptions `json:"customKubeOptions,omitempty"` // The entrypoint into the exporter. Defaults to the official docker-solr location. // +optional ExporterEntrypoint string `json:"exporterEntrypoint,omitempty"` // Number of threads to use for the prometheus exporter // Defaults to 1 // +optional NumThreads int32 `json:"numThreads,omitempty"` // The interval to scrape Solr at (in seconds) // Defaults to 60 seconds // +optional ScrapeInterval int32 `json:"scrapeInterval,omitempty"` // The xml config for the metrics // +optional Config string `json:"metricsConfig,omitempty"` // An initContainer is needed to create a wrapper script around the exporter entrypoint when TLS is enabled // with the `spec.solrReference.solrTLS.mountedTLSDir` option // +optional BusyBoxImage *ContainerImage `json:"busyBoxImage,omitempty"` // Perform a scheduled restart on the given schedule, in CRON format. // // Multiple CRON syntaxes are supported // - Standard CRON (e.g. "CRON_TZ=Asia/Seoul 0 6 * * ?") // - Predefined Schedules (e.g. "@yearly", "@weekly", etc.) // - Intervals (e.g. "@every 10h30m") // // For more information please check this reference: // https://pkg.go.dev/github.com/robfig/cron/v3?utm_source=godoc#hdr-CRON_Expression_Format // // +optional RestartSchedule string `json:"restartSchedule,omitempty"` }
SolrPrometheusExporterSpec defines the desired state of SolrPrometheusExporter
func (*SolrPrometheusExporterSpec) DeepCopy ¶
func (in *SolrPrometheusExporterSpec) DeepCopy() *SolrPrometheusExporterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SolrPrometheusExporterSpec.
func (*SolrPrometheusExporterSpec) DeepCopyInto ¶
func (in *SolrPrometheusExporterSpec) DeepCopyInto(out *SolrPrometheusExporterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SolrPrometheusExporterStatus ¶
type SolrPrometheusExporterStatus struct { // Is the prometheus exporter up and running Ready bool `json:"ready"` }
SolrPrometheusExporterStatus defines the observed state of SolrPrometheusExporter
func (*SolrPrometheusExporterStatus) DeepCopy ¶
func (in *SolrPrometheusExporterStatus) DeepCopy() *SolrPrometheusExporterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SolrPrometheusExporterStatus.
func (*SolrPrometheusExporterStatus) DeepCopyInto ¶
func (in *SolrPrometheusExporterStatus) DeepCopyInto(out *SolrPrometheusExporterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SolrReference ¶
type SolrReference struct { // Reference of a solrCloud instance // +optional Cloud *SolrCloudReference `json:"cloud,omitempty"` // Reference of a standalone solr instance // +optional Standalone *StandaloneSolrReference `json:"standalone,omitempty"` // Settings to configure the SolrJ client used to request metrics from TLS enabled Solr pods // +optional SolrTLS *SolrTLSOptions `json:"solrTLS,omitempty"` // If Solr is secured, you'll need to provide credentials for the Prometheus exporter to authenticate via a // kubernetes.io/basic-auth secret which must contain a username and password. If basic auth is enabled on the // SolrCloud instance, the default secret (unless you are supplying your own) is named using the pattern: // <SOLR_CLOUD_NAME>-solrcloud-basic-auth. If using the security.json bootstrapped by the Solr operator, // then the username is "k8s-oper". // +optional BasicAuthSecret string `json:"basicAuthSecret,omitempty"` }
SolrReference defines a reference to an internal or external solrCloud or standalone solr One, and only one, of Cloud or Standalone must be provided.
func (*SolrReference) DeepCopy ¶
func (in *SolrReference) DeepCopy() *SolrReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SolrReference.
func (*SolrReference) DeepCopyInto ¶
func (in *SolrReference) DeepCopyInto(out *SolrReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SolrScalingOptions ¶ added in v0.8.0
type SolrScalingOptions struct { // VacatePodsOnScaleDown determines whether Solr replicas are moved off of a Pod before the Pod is // deleted due to the SolrCloud scaling down. // // +kubebuilder:default=true // +optional VacatePodsOnScaleDown *bool `json:"vacatePodsOnScaleDown,omitempty"` // PopulatePodsOnScaleUp determines whether Solr replicas should be moved to newly-created Pods that have been // created due to the SolrCloud scaling up. // // This feature is only available to users using Solr 9.3 or newer. // If this is set to "true" for a cloud that is running an unsupported version of Solr, the replicas will not be moved. // // +kubebuilder:default=true // +optional PopulatePodsOnScaleUp *bool `json:"populatePodsOnScaleUp,omitempty"` }
func (*SolrScalingOptions) DeepCopy ¶ added in v0.8.0
func (in *SolrScalingOptions) DeepCopy() *SolrScalingOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SolrScalingOptions.
func (*SolrScalingOptions) DeepCopyInto ¶ added in v0.8.0
func (in *SolrScalingOptions) DeepCopyInto(out *SolrScalingOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SolrSecurityOptions ¶
type SolrSecurityOptions struct { // Indicates the authentication plugin type that is being used by Solr; for now only "Basic" is supported by the // Solr operator but support for other authentication plugins may be added in the future. AuthenticationType AuthenticationType `json:"authenticationType,omitempty"` // Secret (kubernetes.io/basic-auth) containing credentials the operator should use for API requests to secure Solr pods. // If you provide this secret, then the operator assumes you've also configured your own security.json file and // uploaded it to Solr. If you change the password for this user using the Solr security API, then you *must* update // the secret with the new password or the operator will be locked out of Solr and API requests will fail, // ultimately causing a CrashBackoffLoop for all pods if probe endpoints are secured (see 'probesRequireAuth' setting). // // If you don't supply this secret, then the operator creates a kubernetes.io/basic-auth secret containing the password // for the "k8s-oper" user. All API requests from the operator are made as the "k8s-oper" user, which is configured // with read-only access to a minimal set of endpoints. In addition, the operator bootstraps a default security.json // file and credentials for two additional users: admin and solr. The 'solr' user has basic read access to Solr // resources. Once the security.json is bootstrapped, the operator will not update it! You're expected to use the // 'admin' user to access the Security API to make further changes. It's strictly a bootstrapping operation. // +optional BasicAuthSecret string `json:"basicAuthSecret,omitempty"` // Flag to indicate if the configured HTTP endpoint(s) used for the probes require authentication; defaults // to false. If you set to true, then probes will use a local command on the main container to hit the secured // endpoints with credentials sourced from an env var instead of HTTP directly. // +optional ProbesRequireAuth bool `json:"probesRequireAuth,omitempty"` // Configure a user-provided security.json from a secret to allow for advanced security config. // If not specified, the operator bootstraps a security.json with basic auth enabled. // This is a bootstrapping config only; once Solr is initialized, the security config should be managed by the security API. // +optional BootstrapSecurityJson *corev1.SecretKeySelector `json:"bootstrapSecurityJson,omitempty"` }
func (*SolrSecurityOptions) DeepCopy ¶
func (in *SolrSecurityOptions) DeepCopy() *SolrSecurityOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SolrSecurityOptions.
func (*SolrSecurityOptions) DeepCopyInto ¶
func (in *SolrSecurityOptions) DeepCopyInto(out *SolrSecurityOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SolrTLSOptions ¶
type SolrTLSOptions struct { // TLS Secret containing a pkcs12 keystore; required for Solr pods unless mountedTLSDir is used // +optional PKCS12Secret *corev1.SecretKeySelector `json:"pkcs12Secret,omitempty"` // Secret containing the key store password; this field is required unless mountedTLSDir is used, as most JVMs do not support pkcs12 keystores without a password // +optional KeyStorePasswordSecret *corev1.SecretKeySelector `json:"keyStorePasswordSecret,omitempty"` // TLS Secret containing a pkcs12 truststore; if not provided, then the keystore and password are used for the truststore // The specified key is used as the truststore file name when mounted into Solr pods // +optional TrustStoreSecret *corev1.SecretKeySelector `json:"trustStoreSecret,omitempty"` // Secret containing the trust store password; if not provided the keyStorePassword will be used // +optional TrustStorePasswordSecret *corev1.SecretKeySelector `json:"trustStorePasswordSecret,omitempty"` // Determines the client authentication method, either None, Want, or Need; // this affects K8s ability to call liveness / readiness probes so use cautiously. // Only applies for server certificates, has no effect on client certificates // +kubebuilder:default=None ClientAuth ClientAuthType `json:"clientAuth,omitempty"` // Verify client's hostname during SSL handshake // Only applies for server configuration // +optional VerifyClientHostname bool `json:"verifyClientHostname,omitempty"` // TLS certificates contain host/ip "peer name" information that is validated by default. // +optional CheckPeerName bool `json:"checkPeerName,omitempty"` // Opt-in flag to restart Solr pods after TLS secret updates, such as if the cert is renewed; default is false. // This option only applies when using the `spec.solrTLS.pkcs12Secret` option; when using the `spec.solrTLS.mountedTLSDir` option, // you need to ensure pods get restarted before the certs expire, see `spec.updateStrategy.restartSchedule` for scheduling restarts. // +optional RestartOnTLSSecretUpdate bool `json:"restartOnTLSSecretUpdate,omitempty"` // Used to specify a path where the keystore, truststore, and password files for the TLS certificate are mounted by an external agent or CSI driver. // This option is typically used with `spec.updateStrategy.restartSchedule` to restart Solr pods before the mounted TLS cert expires. // +optional MountedTLSDir *MountedTLSDirectory `json:"mountedTLSDir,omitempty"` }
func (*SolrTLSOptions) DeepCopy ¶
func (in *SolrTLSOptions) DeepCopy() *SolrTLSOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SolrTLSOptions.
func (*SolrTLSOptions) DeepCopyInto ¶
func (in *SolrTLSOptions) DeepCopyInto(out *SolrTLSOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SolrUpdateMethod ¶
type SolrUpdateMethod string
SolrUpdateMethod is a string enumeration type that enumerates all possible ways that a SolrCloud can have rolling updates managed. +kubebuilder:validation:Enum=Managed;StatefulSet;Manual
const ( // Let the Solr Operator manage rolling updates to keep collections/shards available while updating pods in parallel. // This is the default option. ManagedUpdate SolrUpdateMethod = "Managed" // Use the default StatefulSet rolling updates logic. One pod at a time, starting with the highest ordinal. StatefulSetUpdate SolrUpdateMethod = "StatefulSet" // The Solr Operator and Kubernetes will not delete pods for updates. The user will be responsible for this. ManualUpdate SolrUpdateMethod = "Manual" )
type SolrUpdateStrategy ¶
type SolrUpdateStrategy struct { // Method defines the way in which SolrClouds should be updated when the podSpec changes. // +optional Method SolrUpdateMethod `json:"method,omitempty"` // Options for Solr Operator Managed rolling updates. // +optional ManagedUpdateOptions ManagedUpdateOptions `json:"managed,omitempty"` // Perform a scheduled restart on the given schedule, in CRON format. // // Multiple CRON syntaxes are supported // - Standard CRON (e.g. "CRON_TZ=Asia/Seoul 0 6 * * ?") // - Predefined Schedules (e.g. "@yearly", "@weekly", etc.) // - Intervals (e.g. "@every 10h30m") // // For more information please check this reference: // https://pkg.go.dev/github.com/robfig/cron/v3?utm_source=godoc#hdr-CRON_Expression_Format // // +optional RestartSchedule string `json:"restartSchedule,omitempty"` }
func (*SolrUpdateStrategy) DeepCopy ¶
func (in *SolrUpdateStrategy) DeepCopy() *SolrUpdateStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SolrUpdateStrategy.
func (*SolrUpdateStrategy) DeepCopyInto ¶
func (in *SolrUpdateStrategy) DeepCopyInto(out *SolrUpdateStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StandaloneSolrReference ¶
type StandaloneSolrReference struct { // The address of the standalone solr Address string `json:"address"` }
SolrPrometheusExporterStatus defines the observed state of SolrPrometheusExporter
func (*StandaloneSolrReference) DeepCopy ¶
func (in *StandaloneSolrReference) DeepCopy() *StandaloneSolrReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StandaloneSolrReference.
func (*StandaloneSolrReference) DeepCopyInto ¶
func (in *StandaloneSolrReference) DeepCopyInto(out *StandaloneSolrReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StatefulSetOptions ¶
type StatefulSetOptions struct { // Annotations to be added for the StatefulSet. // +optional Annotations map[string]string `json:"annotations,omitempty"` // Labels to be added for the StatefulSet. // +optional Labels map[string]string `json:"labels,omitempty"` // PodManagementPolicy defines the policy for creating pods under a stateful set. // Override the default value of Parallel. // This cannot be updated on an existing StatefulSet, the StatefulSet must be deleted and recreated for a change in this field to take effect. // // +optional // +kubebuilder:validation:Enum=OrderedReady;Parallel PodManagementPolicy appsv1.PodManagementPolicyType `json:"podManagementPolicy,omitempty"` }
StatefulSetOptions defines custom options for StatefulSets
func (*StatefulSetOptions) DeepCopy ¶
func (in *StatefulSetOptions) DeepCopy() *StatefulSetOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatefulSetOptions.
func (*StatefulSetOptions) DeepCopyInto ¶
func (in *StatefulSetOptions) DeepCopyInto(out *StatefulSetOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TemplateMeta ¶
type TemplateMeta struct { // Name must be unique within a namespace. Is required when creating resources, although // some resources may allow a client to request the generation of an appropriate name // automatically. Name is primarily intended for creation idempotence and configuration // definition. // Cannot be updated. // More info: http://kubernetes.io/docs/user-guide/identifiers#names // +optional Name string `json:"name,omitempty"` // Map of string keys and values that can be used to organize and categorize // (scope and select) objects. May match selectors of replication controllers // and services. // More info: http://kubernetes.io/docs/user-guide/labels // +optional Labels map[string]string `json:"labels,omitempty" protobuf:"bytes,11,rep,name=labels"` // 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" protobuf:"bytes,12,rep,name=annotations"` }
TemplateMeta is metadata for templated resources.
func (*TemplateMeta) DeepCopy ¶
func (in *TemplateMeta) DeepCopy() *TemplateMeta
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemplateMeta.
func (*TemplateMeta) DeepCopyInto ¶
func (in *TemplateMeta) DeepCopyInto(out *TemplateMeta)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VolumeReclaimPolicy ¶
type VolumeReclaimPolicy string
VolumeReclaimPolicy is a string enumeration type that enumerates all possible ways that a SolrCloud can treat it's PVCs after its death +kubebuilder:validation:Enum=Retain;Delete
const ( // All pod PVCs are retained after the SolrCloud is deleted. VolumeReclaimPolicyRetain VolumeReclaimPolicy = "Retain" // All pod PVCs are deleted after the SolrCloud is deleted. VolumeReclaimPolicyDelete VolumeReclaimPolicy = "Delete" )
type VolumeRepository ¶ added in v0.5.0
type VolumeRepository struct { // This is a volumeSource for a volume that will be mounted to all solrNodes to store backups and load restores. // The data within the volume will be namespaced for this instance, so feel free to use the same volume for multiple clouds. // Since the volume will be mounted to all solrNodes, it must be able to be written from multiple pods. // If a PVC reference is given, the PVC must have `accessModes: - ReadWriteMany`. // Other options are to use a NFS volume. Source corev1.VolumeSource `json:"source"` // Select a custom directory name to mount the backup/restore data in the given volume. // If not specified, then the name of the solrcloud will be used by default. // +optional Directory string `json:"directory,omitempty"` }
func (*VolumeRepository) DeepCopy ¶ added in v0.5.0
func (in *VolumeRepository) DeepCopy() *VolumeRepository
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeRepository.
func (*VolumeRepository) DeepCopyInto ¶ added in v0.5.0
func (in *VolumeRepository) DeepCopyInto(out *VolumeRepository)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ZKEphemeral ¶ added in v0.5.0
type ZKEphemeral struct { //EmptyDirVolumeSource is optional and this will create the emptydir volume //It has two parameters Medium and SizeLimit which are optional as well //Medium specifies What type of storage medium should back this directory. //SizeLimit specifies Total amount of local storage required for this EmptyDir volume. EmptyDirVolumeSource corev1.EmptyDirVolumeSource `json:"emptydirvolumesource,omitempty"` }
func (*ZKEphemeral) DeepCopy ¶ added in v0.5.0
func (in *ZKEphemeral) DeepCopy() *ZKEphemeral
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ZKEphemeral.
func (*ZKEphemeral) DeepCopyInto ¶ added in v0.5.0
func (in *ZKEphemeral) DeepCopyInto(out *ZKEphemeral)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ZKPersistence ¶ added in v0.5.0
type ZKPersistence struct { // VolumeReclaimPolicy is a zookeeper operator configuration. If it's set to Delete, // the corresponding PVCs will be deleted by the operator when zookeeper cluster is deleted. // The default value is Retain. VolumeReclaimPolicy VolumeReclaimPolicy `json:"reclaimPolicy,omitempty"` // PersistentVolumeClaimSpec is the spec to describe PVC for the container // This field is optional. If no PVC is specified default persistentvolume // will get created. PersistentVolumeClaimSpec corev1.PersistentVolumeClaimSpec `json:"spec,omitempty"` // Annotations specifies the annotations to attach to pvc the operator // creates. Annotations map[string]string `json:"annotations,omitempty"` }
func (*ZKPersistence) DeepCopy ¶ added in v0.5.0
func (in *ZKPersistence) DeepCopy() *ZKPersistence
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ZKPersistence.
func (*ZKPersistence) DeepCopyInto ¶ added in v0.5.0
func (in *ZKPersistence) DeepCopyInto(out *ZKPersistence)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ZookeeperACL ¶
type ZookeeperACL struct { // The name of the Kubernetes Secret that stores the username and password for the ACL. // This secret must be in the same namespace as the solrCloud or prometheusExporter is running in. SecretRef string `json:"secret"` // The name of the key in the given secret that contains the ACL username UsernameKey string `json:"usernameKey"` // The name of the key in the given secret that contains the ACL password PasswordKey string `json:"passwordKey"` }
ZookeeperACL defines acls to connect to a protected Zookeeper
func (*ZookeeperACL) DeepCopy ¶
func (in *ZookeeperACL) DeepCopy() *ZookeeperACL
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ZookeeperACL.
func (*ZookeeperACL) DeepCopyInto ¶
func (in *ZookeeperACL) DeepCopyInto(out *ZookeeperACL)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ZookeeperConfig ¶ added in v0.5.0
type ZookeeperConfig struct { // InitLimit is the amount of time, in ticks, to allow followers to connect // and sync to a leader. // // Default value is 10. InitLimit int `json:"initLimit,omitempty"` // TickTime is the length of a single tick, which is the basic time unit used // by Zookeeper, as measured in milliseconds // // The default value is 2000. TickTime int `json:"tickTime,omitempty"` // SyncLimit is the amount of time, in ticks, to allow followers to sync with // Zookeeper. // // The default value is 2. SyncLimit int `json:"syncLimit,omitempty"` // Clients can submit requests faster than ZooKeeper can process them, especially // if there are a lot of clients. Zookeeper will throttle Clients so that requests // won't exceed global outstanding limit. // // The default value is 1000 GlobalOutstandingLimit int `json:"globalOutstandingLimit,omitempty"` // To avoid seeks ZooKeeper allocates space in the transaction log file in // blocks of preAllocSize kilobytes // // The default value is 64M PreAllocSize int `json:"preAllocSize,omitempty"` // ZooKeeper records its transactions using snapshots and a transaction log // The number of transactions recorded in the transaction log before a snapshot // can be taken is determined by snapCount // // The default value is 100,000 SnapCount int `json:"snapCount,omitempty"` // Zookeeper maintains an in-memory list of last committed requests for fast // synchronization with followers // // The default value is 500 CommitLogCount int `json:"commitLogCount,omitempty"` // Snapshot size limit in Kb // // The defult value is 4GB SnapSizeLimitInKb int `json:"snapSizeLimitInKb,omitempty"` // Limits the total number of concurrent connections that can be made to a //zookeeper server // // The defult value is 0, indicating no limit MaxCnxns int `json:"maxCnxns,omitempty"` // Limits the number of concurrent connections that a single client, identified // by IP address, may make to a single member of the ZooKeeper ensemble. // // The default value is 60 MaxClientCnxns int `json:"maxClientCnxns,omitempty"` // The minimum session timeout in milliseconds that the server will allow the // client to negotiate // // The default value is 4000 MinSessionTimeout int `json:"minSessionTimeout,omitempty"` // The maximum session timeout in milliseconds that the server will allow the // client to negotiate. // // The default value is 40000 MaxSessionTimeout int `json:"maxSessionTimeout,omitempty"` // Retain the snapshots according to retain count // // The default value is 3 AutoPurgeSnapRetainCount int `json:"autoPurgeSnapRetainCount,omitempty"` // The time interval in hours for which the purge task has to be triggered // // Disabled by default AutoPurgePurgeInterval int `json:"autoPurgePurgeInterval,omitempty"` // QuorumListenOnAllIPs when set to true the ZooKeeper server will listen for // connections from its peers on all available IP addresses, and not only the // address configured in the server list of the configuration file. It affects // the connections handling the ZAB protocol and the Fast Leader Election protocol. // // The default value is false. QuorumListenOnAllIPs bool `json:"quorumListenOnAllIPs,omitempty"` // key-value map of additional zookeeper configuration parameters // +kubebuilder:pruning:PreserveUnknownFields // +optional AdditionalConfig map[string]string `json:"additionalConfig,omitempty"` }
ZookeeperConfig is the current configuration of each Zookeeper node, which sets these values in the config-map
func (*ZookeeperConfig) DeepCopy ¶ added in v0.5.0
func (in *ZookeeperConfig) DeepCopy() *ZookeeperConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ZookeeperConfig.
func (*ZookeeperConfig) DeepCopyInto ¶ added in v0.5.0
func (in *ZookeeperConfig) DeepCopyInto(out *ZookeeperConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ZookeeperConnectionInfo ¶
type ZookeeperConnectionInfo struct { // The connection string to connect to the ensemble from within the Kubernetes cluster // +optional InternalConnectionString string `json:"internalConnectionString,omitempty"` // The connection string to connect to the ensemble from outside of the Kubernetes cluster // If external and no internal connection string is provided, the external cnx string will be used as the internal cnx string // +optional ExternalConnectionString *string `json:"externalConnectionString,omitempty"` // The ChRoot to connect solr at // +optional ChRoot string `json:"chroot,omitempty"` // ZooKeeper ACL to use when connecting with ZK. // This ACL should have ALL permission in the given chRoot. // +optional AllACL *ZookeeperACL `json:"acl,omitempty"` // ZooKeeper ACL to use when connecting with ZK for reading operations. // This ACL should have READ permission in the given chRoot. // +optional ReadOnlyACL *ZookeeperACL `json:"readOnlyAcl,omitempty"` }
ZookeeperConnectionInfo is the information on how to connect to the Solr Zookeeper Cluster
func (*ZookeeperConnectionInfo) DeepCopy ¶
func (in *ZookeeperConnectionInfo) DeepCopy() *ZookeeperConnectionInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ZookeeperConnectionInfo.
func (*ZookeeperConnectionInfo) DeepCopyInto ¶
func (in *ZookeeperConnectionInfo) DeepCopyInto(out *ZookeeperConnectionInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ZookeeperConnectionInfo) ZkConnectionString ¶
func (zkInfo ZookeeperConnectionInfo) ZkConnectionString() string
type ZookeeperPodPolicy ¶
type ZookeeperPodPolicy struct { // The scheduling constraints on pods. // +optional Affinity *corev1.Affinity `json:"affinity,omitempty"` // Node Selector to be added on pods. // +optional NodeSelector map[string]string `json:"nodeSelector,omitempty"` // Tolerations to be added on pods. // +optional Tolerations []corev1.Toleration `json:"tolerations,omitempty"` // List of environment variables to set in the main ZK container. // +optional Env []corev1.EnvVar `json:"env,omitempty"` // Resources is the resource requirements for the Zookeeper container. // +optional Resources corev1.ResourceRequirements `json:"resources,omitempty"` // Optional Service Account to run the zookeeper pods under. // +optional ServiceAccountName string `json:"serviceAccountName,omitempty"` // Labels specifies the labels to attach to pods the operator creates for // the zookeeper cluster. // +optional Labels map[string]string `json:"labels,omitempty"` // Annotations specifies the annotations to attach to zookeeper pods // creates. // +optional Annotations map[string]string `json:"annotations,omitempty"` // SecurityContext specifies the security context for the entire zookeeper pod // More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context // +optional SecurityContext *corev1.PodSecurityContext `json:"securityContext,omitempty"` // TerminationGracePeriodSeconds is the amount of time that kubernetes will // give for a zookeeper pod instance to shutdown normally. // The default value is 30. // +optional // +kubebuilder:validation:Minimum=0 TerminationGracePeriodSeconds int64 `json:"terminationGracePeriodSeconds,omitempty"` // ImagePullSecrets is a list of references to secrets in the same namespace to use for pulling any images // +optional ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"` // TopologySpreadConstraints to apply to the pods // +optional TopologySpreadConstraints []corev1.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty"` }
ZookeeperPodPolicy defines the common pod configuration for Pods, including when used in deployments, stateful-sets, etc.
func (*ZookeeperPodPolicy) DeepCopy ¶
func (in *ZookeeperPodPolicy) DeepCopy() *ZookeeperPodPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ZookeeperPodPolicy.
func (*ZookeeperPodPolicy) DeepCopyInto ¶
func (in *ZookeeperPodPolicy) DeepCopyInto(out *ZookeeperPodPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ZookeeperRef ¶
type ZookeeperRef struct { // A zookeeper ensemble that is run independently of the solr operator // If an externalConnectionString is provided, but no internalConnectionString is, the external will be used as the internal // +optional ConnectionInfo *ZookeeperConnectionInfo `json:"connectionInfo,omitempty"` // Create a new Zookeeper Ensemble with the following spec // Note: This option will not allow the SolrCloud to run across kube-clusters. // Note: Requires // - The zookeeperOperator flag to be provided to the Solr Operator // - A zookeeper operator to be running // +optional ProvidedZookeeper *ZookeeperSpec `json:"provided,omitempty"` }
ZookeeperRef defines the zookeeper ensemble for solr to connect to If no ConnectionString is provided, the solr-cloud controller will create and manage an internal ensemble
func (*ZookeeperRef) DeepCopy ¶
func (in *ZookeeperRef) DeepCopy() *ZookeeperRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ZookeeperRef.
func (*ZookeeperRef) DeepCopyInto ¶
func (in *ZookeeperRef) DeepCopyInto(out *ZookeeperRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ZookeeperRef) GetACLs ¶
func (ref *ZookeeperRef) GetACLs() (allACL *ZookeeperACL, readOnlyACL *ZookeeperACL)
type ZookeeperSpec ¶
type ZookeeperSpec struct { // Number of members to create up for the ZK ensemble // Defaults to 3 // +optional // +kubebuilder:validation:Minimum=1 // +kubebuilder:default=3 Replicas *int32 `json:"replicas,omitempty"` // Image of Zookeeper to run // +optional Image *ContainerImage `json:"image,omitempty"` // Labels specifies the labels to attach to all resources the operator // creates for the zookeeper cluster, including StatefulSet, Pod, // PersistentVolumeClaim, Service, ConfigMap, et al. // +optional Labels map[string]string `json:"labels,omitempty"` // Persistence is the configuration for zookeeper persistent layer. // PersistentVolumeClaimSpec and VolumeReclaimPolicy can be specified in here. // At anypoint only one of Persistence or Ephemeral should be present in the manifest // +optional Persistence *ZKPersistence `json:"persistence,omitempty"` // Ephemeral is the configuration which helps create ephemeral storage // At anypoint only one of Persistence or Ephemeral should be present in the manifest // +optional Ephemeral *ZKEphemeral `json:"ephemeral,omitempty"` // Customization options for the Zookeeper Pod // +optional ZookeeperPod ZookeeperPodPolicy `json:"zookeeperPodPolicy,omitempty"` // The ChRoot to connect solr at // +optional ChRoot string `json:"chroot,omitempty"` // ZooKeeper ACL to use when connecting with ZK. // This ACL should have ALL permission in the given chRoot. // +optional AllACL *ZookeeperACL `json:"acl,omitempty"` // ZooKeeper ACL to use when connecting with ZK for reading operations. // This ACL should have READ permission in the given chRoot. // +optional ReadOnlyACL *ZookeeperACL `json:"readOnlyAcl,omitempty"` // Additional Zookeeper Configuration settings // +optional Config ZookeeperConfig `json:"config,omitempty"` // Probes specifies the timeout values for the Readiness and Liveness Probes // for the zookeeper pods. // +optional Probes *zkApi.Probes `json:"probes,omitempty"` // Volumes defines to support customized volumes // +optional Volumes []corev1.Volume `json:"volumes,omitempty"` // VolumeMounts defines to support customized volumeMounts // +optional VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"` // MaxUnavailable Replicas in pdb. // Default is 1. // +optional // +kubebuilder:validation:Minimum=1 // +kubebuilder:default=1 MaxUnavailableReplicas int32 `json:"maxUnavailableReplicas,omitempty"` // Containers defines to support multi containers // +optional Containers []corev1.Container `json:"containers,omitempty"` // Init containers to support initialization // +optional InitContainers []corev1.Container `json:"initContainers,omitempty"` // AdminServerService defines the policy to create AdminServer Service // for the zookeeper cluster. AdminServerService zkApi.AdminServerServicePolicy `json:"adminServerService,omitempty"` // ClientService defines the policy to create client Service // for the zookeeper cluster. ClientService zkApi.ClientServicePolicy `json:"clientService,omitempty"` // HeadlessService defines the policy to create headless Service // for the zookeeper cluster. HeadlessService zkApi.HeadlessServicePolicy `json:"headlessService,omitempty"` }
ZookeeperSpec defines the internal zookeeper ensemble to run with the given spec
func (*ZookeeperSpec) DeepCopy ¶
func (in *ZookeeperSpec) DeepCopy() *ZookeeperSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ZookeeperSpec.
func (*ZookeeperSpec) DeepCopyInto ¶
func (in *ZookeeperSpec) DeepCopyInto(out *ZookeeperSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ZookeeperSpec) WithDefaults ¶ added in v0.4.0
func (z *ZookeeperSpec) WithDefaults() (changed bool)