v1beta1

package
v0.2.1 Latest Latest
Warning

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

Go to latest
Published: Jan 10, 2020 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Overview

Package v1beta1 contains API Schema definitions for the solr v1beta1 API group +kubebuilder:object:generate=true +groupName=solr.bloomberg.com

Index

Constants

View Source
const (
	DefaultAWSCliImageRepo    = "infrastructureascode/aws-cli"
	DefaultAWSCliImageVersion = "1.16.204"
	DefaultS3Retries          = 5
)
View Source
const (
	DefaultPullPolicy = corev1.PullIfNotPresent

	DefaultSolrReplicas = int32(3)
	DefaultSolrRepo     = "library/solr"
	DefaultSolrVersion  = "7.7.0"
	DefaultSolrStorage  = "5Gi"
	DefaultSolrJavaMem  = "-Xms1g -Xmx2g"
	DefaultSolrOpts     = ""
	DefaultSolrLogLevel = "INFO"
	DefaultSolrGCTune   = ""

	DefaultBusyBoxImageRepo    = "library/busybox"
	DefaultBusyBoxImageVersion = "1.28.0-glibc"

	DefaultZkReplicas            = int32(3)
	DefaultZkStorage             = "5Gi"
	DefaultZkRepo                = "emccorp/zookeeper"
	DefaultZkVersion             = "3.5.4-beta-operator"
	DefaultZkVolumeReclaimPolicy = zk.VolumeReclaimPolicyRetain

	DefaultEtcdReplicas = 3
	DefaultEtcdRepo     = "quay.io/coreos/etcd"
	DefaultEtcdVersion  = "3.2.13"

	DefaultZetcdReplicas = int32(1)
	DefaultZetcdRepo     = "quay.io/etcd-io/zetcd"
	DefaultZetcdVersion  = "0.0.5"

	SolrTechnologyLabel      = "solr-cloud"
	ZookeeperTechnologyLabel = "zookeeper"
)
View Source
const (
	SolrPrometheusExporterTechnologyLabel = "solr-prometheus-exporter"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "solr.bloomberg.com", 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 ImageVersion(image string) (version string)

func InternalURLForCloud

func InternalURLForCloud(cloudName string, namespace string) string

InternalURLForCloud returns the name of the common service for the cloud

Types

type BackupPersistenceStatus

type BackupPersistenceStatus struct {
	// 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"`

	// Whether the persistence 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"`
}

BackupPersistenceStatus defines the status of persisting Solr backup data

func (*BackupPersistenceStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupPersistenceStatus.

func (*BackupPersistenceStatus) DeepCopyInto

func (in *BackupPersistenceStatus) DeepCopyInto(out *BackupPersistenceStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CollectionBackupStatus

type CollectionBackupStatus struct {
	// Solr Collection name
	Collection string `json:"collection"`

	// 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

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 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 EtcdPodPolicy

type EtcdPodPolicy struct {
	// The scheduling constraints on pods.
	// +optional
	Affinity *corev1.Affinity `json:"affinity,omitempty"`

	// Resources is the resource requirements for the container.
	// This field cannot be updated once the cluster is created.
	// +optional
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`
}

EtcdPodPolicy defines the common pod configuration for Pods, including when used in deployments, stateful-sets, etc.

func (*EtcdPodPolicy) DeepCopy

func (in *EtcdPodPolicy) DeepCopy() *EtcdPodPolicy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdPodPolicy.

func (*EtcdPodPolicy) DeepCopyInto

func (in *EtcdPodPolicy) DeepCopyInto(out *EtcdPodPolicy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EtcdSpec

type EtcdSpec struct {
	// The number of EtcdReplicas to create
	// +optional
	Replicas *int `json:"replicas,omitempty"`

	// +optional
	Image *ContainerImage `json:"image,omitempty"`

	// PersistentVolumeClaimSpec is the spec to describe PVC for the zk container
	// This field is optional. If no PVC spec, etcd container will use emptyDir as volume
	PersistentVolumeClaimSpec *corev1.PersistentVolumeClaimSpec `json:"persistentVolumeClaimSpec,omitempty"`

	// Pod resources for etcd pods
	// +optional
	EtcdPod EtcdPodPolicy `json:"etcdPodPolicy,omitempty"`
}

EtcdSpec defines the internal etcd ensemble to run for solr (spoofing zookeeper)

func (*EtcdSpec) DeepCopy

func (in *EtcdSpec) DeepCopy() *EtcdSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdSpec.

func (*EtcdSpec) DeepCopyInto

func (in *EtcdSpec) DeepCopyInto(out *EtcdSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FullZetcdSpec

type FullZetcdSpec struct {
	// +optional
	EtcdSpec *EtcdSpec `json:"etcdSpec,omitempty"`

	// +optional
	ZetcdSpec *ZetcdSpec `json:"zetcdSpec,omitempty"`
}

FullZetcdSpec defines the internal etcd ensemble and zetcd server to run for solr (spoofing zookeeper)

func (*FullZetcdSpec) DeepCopy

func (in *FullZetcdSpec) DeepCopy() *FullZetcdSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FullZetcdSpec.

func (*FullZetcdSpec) DeepCopyInto

func (in *FullZetcdSpec) DeepCopyInto(out *FullZetcdSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PersistenceSource

type PersistenceSource struct {
	// Persist to an s3 compatible endpoint
	// +optional
	S3 *S3PersistenceSource `json:"S3,omitempty"`

	// Persist to a volume
	// +optional
	Volume *VolumePersistenceSource `json:"volume,omitempty"`
}

PersistenceSource defines the location and method of persisting the backup data. Exactly one member must be specified.

func (*PersistenceSource) DeepCopy

func (in *PersistenceSource) DeepCopy() *PersistenceSource

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PersistenceSource.

func (*PersistenceSource) DeepCopyInto

func (in *PersistenceSource) DeepCopyInto(out *PersistenceSource)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProvidedZookeeper

type ProvidedZookeeper struct {
	// Create a new Zookeeper Ensemble with the following spec
	// Note: Requires
	//   - The zookeeperOperator flag to be provided to the Solr Operator
	//   - A zookeeper operator to be running
	// +optional
	Zookeeper *ZookeeperSpec `json:"zookeeper,omitempty"`

	// Create a new Etcd Cluster and a Zetcd proxy to connect the cluster to solr
	// Note: Requires
	//   - The etcdOperator flag to be provided to the Solr Operator
	//   - An etcd operator to be running
	// +optional
	Zetcd *FullZetcdSpec `json:"zetcd,inline"`

	// The ChRoot to connect solr at
	// +optional
	ChRoot string `json:"chroot,omitempty"`
}

ProvidedZookeeper defines the internal zookeeper ensemble to run

func (*ProvidedZookeeper) DeepCopy

func (in *ProvidedZookeeper) DeepCopy() *ProvidedZookeeper

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProvidedZookeeper.

func (*ProvidedZookeeper) DeepCopyInto

func (in *ProvidedZookeeper) DeepCopyInto(out *ProvidedZookeeper)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type S3PersistenceSource

type S3PersistenceSource struct {
	// The S3 compatible endpoint URL
	// +optional
	EndpointUrl string `json:"endpointUrl,omitempty"`

	// The Default region to use with AWS.
	// Can also be provided through a configFile in the secrets.
	// Overridden by any endpointUrl value provided.
	// +optional
	Region string `json:"region,omitempty"`

	// The S3 bucket to store/find the backup data
	Bucket string `json:"bucket"`

	// The key for the referenced tarred & zipped backup file
	// Defaults to the name of the backup/restore + '.tgz'
	// +optional
	Key string `json:"key"`

	// The number of retries to communicate with S3
	// +optional
	Retries *int32 `json:"retries,omitempty"`

	// The secrets to use when configuring and authenticating s3 calls
	Secrets S3Secrets `json:"secrets"`

	// Image containing the AWS Cli
	// +optional
	AWSCliImage ContainerImage `json:"AWSCliImage,omitempty"`
}

S3PersistenceSource defines the specs for connecting to s3 for persistence

func (*S3PersistenceSource) DeepCopy

func (in *S3PersistenceSource) DeepCopy() *S3PersistenceSource

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S3PersistenceSource.

func (*S3PersistenceSource) DeepCopyInto

func (in *S3PersistenceSource) DeepCopyInto(out *S3PersistenceSource)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type S3Secrets

type S3Secrets struct {
	// The name of the secrets object to use
	Name string `json:"fromSecret"`

	// The key (within the provided secret) of an AWS Config file to use
	// +optional
	ConfigFile string `json:"configFile,omitempty"`

	// The key (within the provided secret) of an AWS Credentials file to use
	// +optional
	CredentialsFile string `json:"credentialsFile,omitempty"`

	// The key (within the provided secret) of the Access Key ID to use
	// +optional
	AccessKeyId string `json:"accessKeyId,omitempty"`

	// The key (within the provided secret) of the Secret Access Key to use
	// +optional
	SecretAccessKey string `json:"secretAccessKey,omitempty"`
}

S3Secrets describes the secrets provided for accessing s3.

func (*S3Secrets) DeepCopy

func (in *S3Secrets) DeepCopy() *S3Secrets

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S3Secrets.

func (*S3Secrets) DeepCopyInto

func (in *S3Secrets) DeepCopyInto(out *S3Secrets)

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"`
}

+kubebuilder:object:root=true SolrBackup is the Schema for the solrbackups API +kubebuilder:categories=all +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Cloud",type="string",JSONPath=".spec.solrCloud",description="Solr Cloud" +kubebuilder:printcolumn:name="Finished",type="boolean",JSONPath=".status.finished",description="Whether the backup has finished" +kubebuilder:printcolumn:name="Successful",type="boolean",JSONPath=".status.successful",description="Whether the backup was successful" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

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

HeadlessServiceName returns the name of the headless service for the cloud

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 SolrBackupSpec

type SolrBackupSpec struct {
	// A reference to the SolrCloud to create a backup for
	SolrCloud string `json:"solrCloud"`

	// The list of collections to backup. If empty, all collections in the cloud will be backed up.
	// +optional
	Collections []string `json:"collections,omitempty"`

	// Persistence is the specification on how to persist the backup data.
	Persistence PersistenceSource `json:"persistence"`
}

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 {
	// Version of the Solr being backed up
	SolrVersion string `json:"solrVersion"`

	// The status of each collection's backup progress
	// +optional
	CollectionBackupStatuses []CollectionBackupStatus `json:"collectionBackupStatuses,omitempty"`

	// Whether the backups are in progress of being persisted
	PersistenceStatus BackupPersistenceStatus `json:"persistenceStatus"`

	// Version of the Solr being backed up
	// +optional
	FinishTime *metav1.Time `json:"finishTimestamp,omitempty"`

	// Whether the backup was successful
	// +optional
	Successful *bool `json:"successful,omitempty"`

	// Whether the backup has finished
	Finished bool `json:"finished,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 +kubebuilder:resource:shortName=solr +kubebuilder:categories=all +kubebuilder:subresource:status +kubebuilder:subresource:scale:specpath=.spec.replicas,statuspath=.status.readyReplicas +kubebuilder:printcolumn:name="Version",type="string",JSONPath=".status.version",description="Solr Version of the cloud" +kubebuilder:printcolumn:name="TargetVersion",type="string",JSONPath=".status.targetVersion",description="Target Solr Version of the cloud" +kubebuilder:printcolumn:name="DesiredNodes",type="integer",JSONPath=".spec.replicas",description="Number of solr nodes configured to run in the cloud" +kubebuilder:printcolumn:name="Nodes",type="integer",JSONPath=".status.replicas",description="Number of solr nodes running" +kubebuilder:printcolumn:name="ReadyNodes",type="integer",JSONPath=".status.readyReplicas",description="Number of solr nodes connected to the cloud" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

func (*SolrCloud) CommonIngressName

func (sc *SolrCloud) CommonIngressName() string

CommonIngressName returns the name of the common ingress for the cloud

func (*SolrCloud) CommonIngressPrefix

func (sc *SolrCloud) CommonIngressPrefix() string

func (*SolrCloud) CommonIngressUrl

func (sc *SolrCloud) CommonIngressUrl(ingressBaseUrl string) string

func (*SolrCloud) CommonServiceName

func (sc *SolrCloud) CommonServiceName() string

CommonServiceName returns the name of the common service for the cloud

func (*SolrCloud) ConfigMapName

func (sc *SolrCloud) ConfigMapName() string

ConfigMapName returns the name of the cloud config-map

func (*SolrCloud) DeepCopy

func (in *SolrCloud) DeepCopy() *SolrCloud

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SolrCloud.

func (*SolrCloud) DeepCopyInto

func (in *SolrCloud) DeepCopyInto(out *SolrCloud)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SolrCloud) DeepCopyObject

func (in *SolrCloud) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*SolrCloud) GetAllSolrNodeNames

func (sc *SolrCloud) GetAllSolrNodeNames() []string

func (*SolrCloud) HeadlessServiceName

func (sc *SolrCloud) HeadlessServiceName() string

HeadlessServiceName returns the name of the headless service for the cloud

func (*SolrCloud) NodeIngressPrefix

func (sc *SolrCloud) NodeIngressPrefix(nodeName string) string

func (*SolrCloud) NodeIngressUrl

func (sc *SolrCloud) NodeIngressUrl(nodeName string, ingressBaseUrl string) string

func (*SolrCloud) ProvidedZetcdAddress

func (sc *SolrCloud) ProvidedZetcdAddress() string

IngressName returns the name of the ingress for the cloud

func (*SolrCloud) ProvidedZetcdName

func (sc *SolrCloud) ProvidedZetcdName() string

ProvidedZetcdName returns the name of the zetcd cluster

func (*SolrCloud) ProvidedZookeeperAddress

func (sc *SolrCloud) ProvidedZookeeperAddress() string

ProvidedZookeeperAddress returns the client address of the provided zk cluster

func (*SolrCloud) ProvidedZookeeperName

func (sc *SolrCloud) ProvidedZookeeperName() string

ProvidedZookeeperName returns the provided zk cluster

func (*SolrCloud) SharedLabels

func (sc *SolrCloud) SharedLabels() map[string]string

func (*SolrCloud) SharedLabelsWith

func (sc *SolrCloud) SharedLabelsWith(labels map[string]string) map[string]string

func (*SolrCloud) StatefulSetName

func (sc *SolrCloud) StatefulSetName() string

StatefulSetName returns the name of the statefulset for the cloud

func (*SolrCloud) WithDefaults

func (sc *SolrCloud) WithDefaults() bool

WithDefaults set default values when not defined in the spec.

func (*SolrCloud) ZkConnectionString

func (sc *SolrCloud) ZkConnectionString() string

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 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"`

	// Pod defines the policy to create pod for the SolrCloud.
	// Updating the Pod does not take effect on any existing pods.
	// +optional
	SolrPod SolrPodPolicy `json:"solrPodPolicy,omitempty"`

	// DataPvcSpec is the spec to describe PVC for the solr node to store its data.
	// This field is optional. If no PVC spec is provided, each solr node will use emptyDir as the data volume
	// +optional
	DataPvcSpec *corev1.PersistentVolumeClaimSpec `json:"dataPvcSpec,omitempty"`

	// Required for backups & restores to be enabled.
	// 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 namespaces 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.
	// +optional
	BackupRestoreVolume *corev1.VolumeSource `json:"backupRestoreVolume,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"`

	// 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"`
}

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.
	SolrNodes []SolrNodeStatus `json:"solrNodes"`

	// Replicas is the number of number of desired replicas in the cluster
	Replicas int32 `json:"replicas"`

	// ReadyReplicas is the number of number of ready replicas in the cluster
	ReadyReplicas int32 `json:"readyReplicas"`

	// 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.
	BackupRestoreReady bool `json:"backupRestoreReady"`
}

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) ZkConnectionString

func (scs SolrCloudStatus) ZkConnectionString() string

type SolrCollection

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

	Spec   SolrCollectionSpec   `json:"spec,omitempty"`
	Status SolrCollectionStatus `json:"status,omitempty"`
}

SolrCollection is the Schema for the solrcollections API

func (*SolrCollection) DeepCopy

func (in *SolrCollection) DeepCopy() *SolrCollection

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SolrCollection.

func (*SolrCollection) DeepCopyInto

func (in *SolrCollection) DeepCopyInto(out *SolrCollection)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SolrCollection) DeepCopyObject

func (in *SolrCollection) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type SolrCollectionAlias

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

	Spec   SolrCollectionAliasSpec   `json:"spec,omitempty"`
	Status SolrCollectionAliasStatus `json:"status,omitempty"`
}

SolrCollectionAlias is the Schema for the solrcollectionaliases API

func (*SolrCollectionAlias) DeepCopy

func (in *SolrCollectionAlias) DeepCopy() *SolrCollectionAlias

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SolrCollectionAlias.

func (*SolrCollectionAlias) DeepCopyInto

func (in *SolrCollectionAlias) DeepCopyInto(out *SolrCollectionAlias)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SolrCollectionAlias) DeepCopyObject

func (in *SolrCollectionAlias) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type SolrCollectionAliasList

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

SolrCollectionAliasList contains a list of SolrCollectionAlias

func (*SolrCollectionAliasList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SolrCollectionAliasList.

func (*SolrCollectionAliasList) DeepCopyInto

func (in *SolrCollectionAliasList) DeepCopyInto(out *SolrCollectionAliasList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SolrCollectionAliasList) DeepCopyObject

func (in *SolrCollectionAliasList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type SolrCollectionAliasSpec

type SolrCollectionAliasSpec struct {
	// A reference to the SolrCloud to create alias on
	SolrCloud string `json:"solrCloud"`

	// Collections is a list of collections to apply alias to
	Collections []string `json:"collections"`

	// AliasType is a either standard or routed, right now we support standard
	AliasType string `json:"aliasType"`
}

SolrCollectionAliasSpec defines the desired state of SolrCollectionAlias

func (*SolrCollectionAliasSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SolrCollectionAliasSpec.

func (*SolrCollectionAliasSpec) DeepCopyInto

func (in *SolrCollectionAliasSpec) DeepCopyInto(out *SolrCollectionAliasSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SolrCollectionAliasStatus

type SolrCollectionAliasStatus struct {
	// Time the alias was created
	// +optional
	CreatedTime *metav1.Time `json:"createdTime,omitempty"`

	// Created or not status
	// +optional
	Created bool `json:"created,omitempty"`

	// Associated collections to the alias
	// +optional
	Collections []string `json:"collections,omitempty"`
}

SolrCollectionAliasStatus defines the observed state of SolrCollectionAlias

func (*SolrCollectionAliasStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SolrCollectionAliasStatus.

func (*SolrCollectionAliasStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SolrCollectionList

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

SolrCollectionList contains a list of SolrCollection

func (*SolrCollectionList) DeepCopy

func (in *SolrCollectionList) DeepCopy() *SolrCollectionList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SolrCollectionList.

func (*SolrCollectionList) DeepCopyInto

func (in *SolrCollectionList) DeepCopyInto(out *SolrCollectionList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SolrCollectionList) DeepCopyObject

func (in *SolrCollectionList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type SolrCollectionSpec

type SolrCollectionSpec struct {
	// A reference to the SolrCloud to create a collection for
	SolrCloud string `json:"solrCloud"`

	// The name of the collection to perform the action on
	Collection string `json:"collection"`

	// Define a configset to use for the collection. Use '_default' if you don't have a custom configset
	CollectionConfigName string `json:"collectionConfigName"`

	// The router name that will be used. The router defines how documents will be distributed
	// +optional
	RouterName string `json:"routerName,omitempty"`

	// If this parameter is specified, the router will look at the value of the field in an input document
	// to compute the hash and identify a shard instead of looking at the uniqueKey field.
	// If the field specified is null in the document, the document will be rejected.
	// +optional
	RouterField string `json:"routerField,omitempty"`

	// The num of shards to create, used if RouteName is compositeId
	// +optional
	NumShards int64 `json:"numShards,omitempty"`

	// The replication factor to be used
	// +optional
	ReplicationFactor int64 `json:"replicationFactor,omitempty"`

	// Max shards per node
	// +optional
	MaxShardsPerNode int64 `json:"maxShardsPerNode,omitempty"`

	// A comma separated list of shard names, e.g., shard-x,shard-y,shard-z. This is a required parameter when the router.name is implicit
	// +optional
	Shards string `json:"shards,omitempty"`

	// When set to true, enables automatic addition of replicas when the number of active replicas falls below the value set for replicationFactor
	// +optional
	AutoAddReplicas bool `json:"autoAddReplicas,omitempty"`
}

SolrCollectionSpec defines the desired state of SolrCollection

func (*SolrCollectionSpec) DeepCopy

func (in *SolrCollectionSpec) DeepCopy() *SolrCollectionSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SolrCollectionSpec.

func (*SolrCollectionSpec) DeepCopyInto

func (in *SolrCollectionSpec) DeepCopyInto(out *SolrCollectionSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SolrCollectionStatus

type SolrCollectionStatus struct {
	// Whether the collection has been created or not
	// +optional
	Created bool `json:"created,omitempty"`

	// Time the collection was created
	// +optional
	CreatedTime *metav1.Time `json:"createdTime,omitempty"`

	// Set the status of the collection creation process
	// +optional
	InProgressCreation bool `json:"inProgressCreation,omitempty"`
}

SolrCollectionStatus defines the observed state of SolrCollection

func (*SolrCollectionStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SolrCollectionStatus.

func (*SolrCollectionStatus) DeepCopyInto

func (in *SolrCollectionStatus) DeepCopyInto(out *SolrCollectionStatus)

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
	NodeName string `json:"name"`

	// 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"`
}

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 SolrPodPolicy

type SolrPodPolicy struct {
	// The scheduling constraints on pods.
	// +optional
	Affinity *corev1.Affinity `json:"affinity,omitempty"`

	// Resources is the resource requirements for the container.
	// This field cannot be updated once the cluster is created.
	// +optional
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`
}

SolrPodPolicy defines the common pod configuration for Pods, including when used in deployments, stateful-sets, etc.

func (*SolrPodPolicy) DeepCopy

func (in *SolrPodPolicy) DeepCopy() *SolrPodPolicy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SolrPodPolicy.

func (*SolrPodPolicy) DeepCopyInto

func (in *SolrPodPolicy) DeepCopyInto(out *SolrPodPolicy)

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 +kubebuilder:resource:shortName=solrmetrics +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Ready",type="boolean",JSONPath=".status.ready",description="Whether the prometheus exporter is ready" +kubebuilder:printcolumn:name="Scrape Interval",type="integer",JSONPath=".spec.scrapeInterval",description="Scrape interval for metrics (in ms)" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

func (*SolrPrometheusExporter) DeepCopy

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

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SolrPrometheusExporterList.

func (*SolrPrometheusExporterList) DeepCopyInto

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 `json:"solrReference"`

	// Image of Solr Prometheus Exporter to run.
	// +optional
	Image *ContainerImage `json:"image,omitempty"`

	// Pod defines the policy to create pod for the SolrCloud.
	// Updating the Pod does not take effect on any existing pods.
	// +optional
	PodPolicy SolrPodPolicy `json:"podPolicy,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"`
}

SolrPrometheusExporterSpec defines the desired state of SolrPrometheusExporter

func (*SolrPrometheusExporterSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SolrPrometheusExporterSpec.

func (*SolrPrometheusExporterSpec) DeepCopyInto

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

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SolrPrometheusExporterStatus.

func (*SolrPrometheusExporterStatus) DeepCopyInto

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"`
}

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 StandaloneSolrReference

type StandaloneSolrReference struct {
	// The address of the standalone solr
	Address string `json:"address"`
}

SolrPrometheusExporterStatus defines the observed state of SolrPrometheusExporter

func (*StandaloneSolrReference) DeepCopy

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 VolumePersistenceSource

type VolumePersistenceSource struct {
	// The volume for persistence
	VolumeSource corev1.VolumeSource `json:"source"`

	// The location of the persistence directory within the volume
	// +optional
	Path string `json:"path,omitempty"`

	// The filename of the tarred & zipped backup file
	// Defaults to the name of the backup/restore + '.tgz'
	// +optional
	Filename string `json:"filename"`

	// BusyBox image for manipulating and moving data
	// +optional
	BusyBoxImage ContainerImage `json:"busyBoxImage,omitempty"`
}

UploadSpec defines the location and method of uploading the backup data

func (*VolumePersistenceSource) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumePersistenceSource.

func (*VolumePersistenceSource) DeepCopyInto

func (in *VolumePersistenceSource) DeepCopyInto(out *VolumePersistenceSource)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ZetcdPodPolicy

type ZetcdPodPolicy struct {
	// The scheduling constraints on pods.
	// +optional
	Affinity *corev1.Affinity `json:"affinity,omitempty"`

	// Resources is the resource requirements for the container.
	// This field cannot be updated once the cluster is created.
	// +optional
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`
}

EtcdPodPolicy defines the common pod configuration for Pods, including when used in deployments, stateful-sets, etc.

func (*ZetcdPodPolicy) DeepCopy

func (in *ZetcdPodPolicy) DeepCopy() *ZetcdPodPolicy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ZetcdPodPolicy.

func (*ZetcdPodPolicy) DeepCopyInto

func (in *ZetcdPodPolicy) DeepCopyInto(out *ZetcdPodPolicy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ZetcdSpec

type ZetcdSpec struct {
	// +optional
	Replicas *int32 `json:"replicas,omitempty"`

	// +optional
	Image *ContainerImage `json:"image,omitempty"`

	// Pod resources for zetcd pods
	// +optional
	ZetcdPod ZetcdPodPolicy `json:"zetcdPodPolicy,omitempty"`
}

ZetcdSpec defines the zetcd proxy to run connection solr and etcd

func (*ZetcdSpec) DeepCopy

func (in *ZetcdSpec) DeepCopy() *ZetcdSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ZetcdSpec.

func (*ZetcdSpec) DeepCopyInto

func (in *ZetcdSpec) DeepCopyInto(out *ZetcdSpec)

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"`
}

SolrNodeStatus is the status of a solrNode in the cloud, with readiness status and internal and external addresses

func (*ZookeeperConnectionInfo) DeepCopy

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"`

	// Resources is the resource requirements for the container.
	// This field cannot be updated once the cluster is created.
	// +optional
	Resources corev1.ResourceRequirements `json:"resources,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"`

	// A zookeeper that is created by the solr operator
	// Note: This option will not allow the SolrCloud to run across kube-clusters.
	// +optional
	ProvidedZookeeper *ProvidedZookeeper `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.

type ZookeeperSpec

type ZookeeperSpec struct {
	// Number of members to create up for the ZK ensemble
	// Defaults to 3
	// +optional
	Replicas *int32 `json:"replicas,omitempty"`

	// Image of Zookeeper to run
	// +optional
	Image *ContainerImage `json:"image,omitempty"`

	// PersistentVolumeClaimSpec is the spec to describe PVC for the zk container
	// This field is optional. If no PVC spec is provided, etcd container will use emptyDir as volume.
	// WARNING: This field is DEPRECATED, please use the Persistence option
	// +optional
	PersistentVolumeClaimSpec *corev1.PersistentVolumeClaimSpec `json:"persistentVolumeClaimSpec,omitempty"`

	// Persistence is the configuration for zookeeper persistent layer.
	// PersistentVolumeClaimSpec and VolumeReclaimPolicy can be specified in here.
	// +optional
	Persistence *zk.Persistence `json:"persistence,omitempty"`

	// Pod resources for zookeeper pod
	// +optional
	ZookeeperPod ZookeeperPodPolicy `json:"zookeeperPodPolicy,omitempty"`
}

ZookeeperSpec defines the internal zookeeper ensemble to run for solr

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.

Jump to

Keyboard shortcuts

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