v1alpha1

package
v1.16.0-alpha.0 Latest Latest
Warning

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

Go to latest
Published: Nov 26, 2024 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

+kubebuilder:validation:Optional +groupName=scylla.scylladb.com

Index

Constants

View Source
const (
	AvailableCondition   = "Available"
	ProgressingCondition = "Progressing"
	DegradedCondition    = "Degraded"
)

Variables

View Source
var (
	GroupName    = "scylla.scylladb.com"
	GroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"}

	// Install is a function which adds this version to a scheme
	Install = schemeBuilder.AddToScheme

	// SchemeGroupVersion generated code relies on this name
	// Deprecated
	SchemeGroupVersion = GroupVersion
	// AddToScheme exists solely to keep the old generators creating valid code
	// DEPRECATED
	AddToScheme = schemeBuilder.AddToScheme
)

Functions

func Resource

func Resource(resource string) schema.GroupResource

Resource generated code relies on this being here, but it logically belongs to the group DEPRECATED

Types

type AlternatorOptions

type AlternatorOptions struct {
	// writeIsolation specifies the isolation level.
	WriteIsolation string `json:"writeIsolation,omitempty"`

	// servingCertificate references a TLS certificate for serving secure traffic.
	// +kubebuilder:default:={type:"OperatorManaged"}
	// +optional
	ServingCertificate *TLSCertificate `json:"servingCertificate,omitempty"`
}

AlternatorOptions holds Alternator settings.

func (*AlternatorOptions) DeepCopy

func (in *AlternatorOptions) DeepCopy() *AlternatorOptions

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

func (*AlternatorOptions) DeepCopyInto

func (in *AlternatorOptions) DeepCopyInto(out *AlternatorOptions)

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

type BroadcastAddressType

type BroadcastAddressType string
const (
	// BroadcastAddressTypePodIP selects the IP address from Pod.
	BroadcastAddressTypePodIP BroadcastAddressType = "PodIP"

	// BroadcastAddressTypeServiceClusterIP selects the IP address from Service.spec.ClusterIP
	BroadcastAddressTypeServiceClusterIP BroadcastAddressType = "ServiceClusterIP"

	// BroadcastAddressTypeServiceLoadBalancerIngress selects the IP address or Hostname from Service.status.ingress[0]
	BroadcastAddressTypeServiceLoadBalancerIngress BroadcastAddressType = "ServiceLoadBalancerIngress"
)

type BroadcastOptions

type BroadcastOptions struct {
	// type specifies the address type that is broadcasted.
	Type BroadcastAddressType `json:"type"`

	// podIP holds options related to Pod IP address.
	// +optional
	PodIP *PodIPAddressOptions `json:"podIP,omitempty"`
}

BroadcastOptions hold options related to address broadcasted by ScyllaDB node.

func (*BroadcastOptions) DeepCopy

func (in *BroadcastOptions) DeepCopy() *BroadcastOptions

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

func (*BroadcastOptions) DeepCopyInto

func (in *BroadcastOptions) DeepCopyInto(out *BroadcastOptions)

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

type CQLExposeIngressOptions

type CQLExposeIngressOptions struct {
	ObjectTemplateMetadata `json:",inline"`

	// ingressClassName specifies Ingress class name.
	// +optional
	IngressClassName string `json:"ingressClassName,omitempty"`
}

CQLExposeIngressOptions defines configuration options for Ingress objects associated with cluster nodes.

func (*CQLExposeIngressOptions) DeepCopy

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

func (*CQLExposeIngressOptions) DeepCopyInto

func (in *CQLExposeIngressOptions) DeepCopyInto(out *CQLExposeIngressOptions)

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

type CQLExposeOptions

type CQLExposeOptions struct {
	// ingress specifies an Ingress configuration options.
	// If provided and enabled, Ingress objects routing to CQL SSL port are generated for each ScyllaDB node
	// with the following options.
	Ingress *CQLExposeIngressOptions `json:"ingress,omitempty"`
}

CQLExposeOptions hold options related to exposing CQL backend.

func (*CQLExposeOptions) DeepCopy

func (in *CQLExposeOptions) DeepCopy() *CQLExposeOptions

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

func (*CQLExposeOptions) DeepCopyInto

func (in *CQLExposeOptions) DeepCopyInto(out *CQLExposeOptions)

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

type Components added in v1.9.0

type Components struct {
	// prometheus holds configuration for the prometheus instance, if any.
	// +optional
	Prometheus *PrometheusSpec `json:"prometheus,omitempty"`

	// grafana holds configuration for the grafana instance, if any.
	// +optional
	Grafana *GrafanaSpec `json:"grafana,omitempty"`
}

Components holds the options to configure individual applications.

func (*Components) DeepCopy added in v1.9.0

func (in *Components) DeepCopy() *Components

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

func (*Components) DeepCopyInto added in v1.9.0

func (in *Components) DeepCopyInto(out *Components)

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

type DeviceDiscovery added in v1.9.0

type DeviceDiscovery struct {
	// nameRegex is a regular expression filtering devices by their name.
	// +optional
	NameRegex string `json:"nameRegex"`

	// modelRegex is a regular expression filtering devices by their model name.
	// +optional
	ModelRegex string `json:"modelRegex"`
}

DeviceDiscovery specifies options for device discovery.

func (*DeviceDiscovery) DeepCopy added in v1.9.0

func (in *DeviceDiscovery) DeepCopy() *DeviceDiscovery

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

func (*DeviceDiscovery) DeepCopyInto added in v1.9.0

func (in *DeviceDiscovery) DeepCopyInto(out *DeviceDiscovery)

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

type ExposeOptions

type ExposeOptions struct {
	// cql specifies expose options for CQL SSL backend.
	// +optional
	CQL *CQLExposeOptions `json:"cql,omitempty"`

	// nodeService controls properties of Service dedicated for each ScyllaDBDatacenter node.
	// +kubebuilder:default:={type:"ClusterIP"}
	NodeService *NodeServiceTemplate `json:"nodeService,omitempty"`

	// BroadcastOptions defines how ScyllaDB node publishes its IP address to other nodes and clients.
	BroadcastOptions *NodeBroadcastOptions `json:"broadcastOptions,omitempty"`
}

ExposeOptions hold options related to exposing ScyllaDBDatacenter backends.

func (*ExposeOptions) DeepCopy

func (in *ExposeOptions) DeepCopy() *ExposeOptions

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

func (*ExposeOptions) DeepCopyInto

func (in *ExposeOptions) DeepCopyInto(out *ExposeOptions)

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

type FilesystemConfiguration added in v1.9.0

type FilesystemConfiguration struct {
	// device is a path to the device where the desired filesystem should be created.
	Device string `json:"device"`

	// type is a desired filesystem type.
	Type FilesystemType `json:"type"`
}

FilesystemConfiguration specifies filesystem configuration options.

func (*FilesystemConfiguration) DeepCopy added in v1.9.0

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

func (*FilesystemConfiguration) DeepCopyInto added in v1.9.0

func (in *FilesystemConfiguration) DeepCopyInto(out *FilesystemConfiguration)

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

type FilesystemType added in v1.9.0

type FilesystemType string

FilesystemType is a type of filesystem.

const (
	// XFSFilesystem represents an XFS filesystem type.
	XFSFilesystem FilesystemType = "xfs"
)

type GrafanaAuthentication added in v1.9.0

type GrafanaAuthentication struct {
	// insecureEnableAnonymousAccess allows access to Grafana without authentication.
	// +optional
	InsecureEnableAnonymousAccess bool `json:"insecureEnableAnonymousAccess,omitempty"`
}

GrafanaAuthentication holds the options to configure Grafana authentication.

func (*GrafanaAuthentication) DeepCopy added in v1.9.0

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

func (*GrafanaAuthentication) DeepCopyInto added in v1.9.0

func (in *GrafanaAuthentication) DeepCopyInto(out *GrafanaAuthentication)

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

type GrafanaExposeOptions added in v1.9.0

type GrafanaExposeOptions struct {
	// webInterface specifies expose options for the user web interface.
	// +optional
	WebInterface *HTTPSExposeOptions `json:"webInterface,omitempty"`
}

GrafanaExposeOptions holds options related to exposing Grafana app.

func (*GrafanaExposeOptions) DeepCopy added in v1.9.0

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

func (*GrafanaExposeOptions) DeepCopyInto added in v1.9.0

func (in *GrafanaExposeOptions) DeepCopyInto(out *GrafanaExposeOptions)

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

type GrafanaSpec added in v1.9.0

type GrafanaSpec struct {
	// placement describes restrictions for the nodes Grafana is scheduled on.
	// +optional
	Placement *PlacementSpec `json:"placement,omitempty"`

	// resources the Grafana container will use.
	Resources corev1.ResourceRequirements `json:"resources"`

	// exposeOptions specifies options for exposing Grafana UI.
	// +optional
	ExposeOptions *GrafanaExposeOptions `json:"exposeOptions,omitempty"`

	// servingCertSecretName is the name of the secret holding a serving cert-key pair.
	// If not specified, the operator will create a self-signed CA that creates
	// the default serving cert-key pair.
	// +optional
	ServingCertSecretName string `json:"servingCertSecretName,omitempty"`

	// authentication hold the authentication options for accessing Grafana.
	// +optional
	Authentication GrafanaAuthentication `json:"authentication,omitempty"`
}

GrafanaSpec holds the options to configure Grafana.

func (*GrafanaSpec) DeepCopy added in v1.9.0

func (in *GrafanaSpec) DeepCopy() *GrafanaSpec

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

func (*GrafanaSpec) DeepCopyInto added in v1.9.0

func (in *GrafanaSpec) DeepCopyInto(out *GrafanaSpec)

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

type HTTPSExposeOptions added in v1.9.0

type HTTPSExposeOptions struct {
	// ingress is an Ingress configuration options.
	// +optional
	Ingress *IngressOptions `json:"ingress,omitempty"`
}

HTTPSExposeOptions holds options related to exposing HTTPS backend.

func (*HTTPSExposeOptions) DeepCopy added in v1.9.0

func (in *HTTPSExposeOptions) DeepCopy() *HTTPSExposeOptions

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

func (*HTTPSExposeOptions) DeepCopyInto added in v1.9.0

func (in *HTTPSExposeOptions) DeepCopyInto(out *HTTPSExposeOptions)

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

type IngressOptions added in v1.9.0

type IngressOptions struct {
	// disabled controls if Ingress object creation is disabled.
	// +optional
	Disabled *bool `json:"disabled,omitempty"`

	// ingressClassName specifies Ingress class name.
	IngressClassName string `json:"ingressClassName,omitempty"`

	// annotations specifies custom annotations merged into every Ingress object.
	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`

	// dnsDomains is a list of DNS domains this ingress is reachable by.
	// +optional
	DNSDomains []string `json:"dnsDomains,omitempty"`
}

IngressOptions defines configuration options for Ingress objects.

func (*IngressOptions) DeepCopy added in v1.9.0

func (in *IngressOptions) DeepCopy() *IngressOptions

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

func (*IngressOptions) DeepCopyInto added in v1.9.0

func (in *IngressOptions) DeepCopyInto(out *IngressOptions)

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

type LocalDiskSetup added in v1.9.0

type LocalDiskSetup struct {
	// loops is a list of loop device configurations.
	LoopDevices []LoopDeviceConfiguration `json:"loopDevices"`

	// raids is a list of raid configurations.
	RAIDs []RAIDConfiguration `json:"raids"`

	// filesystems is a list of filesystem configurations.
	Filesystems []FilesystemConfiguration `json:"filesystems"`

	// mounts is a list of mount configuration.
	Mounts []MountConfiguration `json:"mounts"`
}

LocalDiskSetup specifies configuration of local disk setup.

func (*LocalDiskSetup) DeepCopy added in v1.9.0

func (in *LocalDiskSetup) DeepCopy() *LocalDiskSetup

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

func (*LocalDiskSetup) DeepCopyInto added in v1.9.0

func (in *LocalDiskSetup) DeepCopyInto(out *LocalDiskSetup)

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

type LoopDeviceConfiguration added in v1.12.0

type LoopDeviceConfiguration struct {
	// name specifies the name of the symlink that will point to actual loop device, created under `/dev/loops/`.
	Name string `json:"name"`

	// imagePath specifies path on host where backing image file for loop device should be located.
	ImagePath string `json:"imagePath"`

	// size specifies the size of the loop device.
	Size resource.Quantity `json:"size"`
}

LoopDeviceConfiguration specifies loop device configuration options.

func (*LoopDeviceConfiguration) DeepCopy added in v1.12.0

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

func (*LoopDeviceConfiguration) DeepCopyInto added in v1.12.0

func (in *LoopDeviceConfiguration) DeepCopyInto(out *LoopDeviceConfiguration)

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

type MountConfiguration added in v1.9.0

type MountConfiguration struct {
	// device is path to a device that should be mounted.
	Device string `json:"device"`

	// mountPoint is a path where the device should be mounted at.
	// If the mountPoint is a symlink, the mount will be set up for the target.
	MountPoint string `json:"mountPoint"`

	// fsType specifies the filesystem on the device.
	FSType string `json:"fsType"`

	// unsupportedOptions is a list of mount options used during device mounting.
	// unsupported in this field name means that we won't support all the available options passed down using this field.
	// +optional
	UnsupportedOptions []string `json:"unsupportedOptions"`
}

MountConfiguration specifies mount configuration options.

func (*MountConfiguration) DeepCopy added in v1.9.0

func (in *MountConfiguration) DeepCopy() *MountConfiguration

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

func (*MountConfiguration) DeepCopyInto added in v1.9.0

func (in *MountConfiguration) DeepCopyInto(out *MountConfiguration)

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

type NodeBroadcastOptions

type NodeBroadcastOptions struct {
	// nodes specify options related to the address that is broadcasted for communication with other nodes.
	// This field controls the `broadcast_address` value in ScyllaDB config.
	// +kubebuilder:default:={type:"PodIP"}
	Nodes BroadcastOptions `json:"nodes"`

	// clients specify options related to the address that is broadcasted for communication with clients.
	// This field controls the `broadcast_rpc_address` value in ScyllaDB config.
	// +kubebuilder:default:={type:"PodIP"}
	Clients BroadcastOptions `json:"clients"`
}

NodeBroadcastOptions hold options related to addresses broadcasted by ScyllaDB node.

func (*NodeBroadcastOptions) DeepCopy

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

func (*NodeBroadcastOptions) DeepCopyInto

func (in *NodeBroadcastOptions) DeepCopyInto(out *NodeBroadcastOptions)

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

type NodeConfig

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

	Spec   NodeConfigSpec   `json:"spec,omitempty"`
	Status NodeConfigStatus `json:"status,omitempty"`
}

func (*NodeConfig) DeepCopy

func (in *NodeConfig) DeepCopy() *NodeConfig

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

func (*NodeConfig) DeepCopyInto

func (in *NodeConfig) DeepCopyInto(out *NodeConfig)

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

func (*NodeConfig) DeepCopyObject

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

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

type NodeConfigCondition

type NodeConfigCondition struct {
	// type is the type of the NodeConfig condition.
	Type NodeConfigConditionType `json:"type"`

	// status represents the state of the condition, one of True, False, or Unknown.
	Status corev1.ConditionStatus `json:"status"`

	// observedGeneration represents the .metadata.generation that the condition was set based upon.
	// For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
	// with respect to the current state of the instance.
	// +optional
	// +kubebuilder:validation:Minimum=0
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// lastTransitionTime is last time the condition transitioned from one status to another.
	LastTransitionTime metav1.Time `json:"lastTransitionTime"`

	// reason is the reason for condition's last transition.
	Reason string `json:"reason"`

	// message is a human-readable message indicating details about the transition.
	Message string `json:"message"`
}

func NewNodeConfigCondition

func NewNodeConfigCondition(c metav1.Condition) NodeConfigCondition

func (*NodeConfigCondition) DeepCopy

func (in *NodeConfigCondition) DeepCopy() *NodeConfigCondition

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

func (*NodeConfigCondition) DeepCopyInto

func (in *NodeConfigCondition) DeepCopyInto(out *NodeConfigCondition)

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

func (*NodeConfigCondition) ToMetaV1Condition

func (c *NodeConfigCondition) ToMetaV1Condition() metav1.Condition

type NodeConfigConditionType

type NodeConfigConditionType string
const (
	// NodeConfigReconciledConditionType indicates that the NodeConfig is fully deployed and available.
	// Deprecated: NodeConfigReconciledConditionType is deprecated. Use standard workload conditions instead.
	NodeConfigReconciledConditionType NodeConfigConditionType = "Reconciled"
)

type NodeConfigConditions

type NodeConfigConditions []NodeConfigCondition

func NewNodeConfigConditions

func NewNodeConfigConditions(cs []metav1.Condition) NodeConfigConditions

func (NodeConfigConditions) DeepCopy

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

func (NodeConfigConditions) DeepCopyInto

func (in NodeConfigConditions) DeepCopyInto(out *NodeConfigConditions)

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

func (NodeConfigConditions) ToMetaV1Conditions

func (c NodeConfigConditions) ToMetaV1Conditions() []metav1.Condition

type NodeConfigList

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

func (*NodeConfigList) DeepCopy

func (in *NodeConfigList) DeepCopy() *NodeConfigList

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

func (*NodeConfigList) DeepCopyInto

func (in *NodeConfigList) DeepCopyInto(out *NodeConfigList)

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

func (*NodeConfigList) DeepCopyObject

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

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

type NodeConfigNodeStatus

type NodeConfigNodeStatus struct {
	Name            string   `json:"name"`
	TunedNode       bool     `json:"tunedNode"`
	TunedContainers []string `json:"tunedContainers"`
}

func (*NodeConfigNodeStatus) DeepCopy

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

func (*NodeConfigNodeStatus) DeepCopyInto

func (in *NodeConfigNodeStatus) DeepCopyInto(out *NodeConfigNodeStatus)

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

type NodeConfigPlacement

type NodeConfigPlacement struct {
	// affinity is a group of affinity scheduling rules for NodeConfig Pods.
	Affinity corev1.Affinity `json:"affinity"`

	// tolerations is a group of tolerations NodeConfig Pods are going to have.
	Tolerations []corev1.Toleration `json:"tolerations"`

	// nodeSelector is a selector which must be true for the NodeConfig Pod to fit on a node.
	// Selector which must match a node's labels for the pod to be scheduled on that node.
	// +kubebuilder:validation:Required
	NodeSelector map[string]string `json:"nodeSelector"`
}

func (*NodeConfigPlacement) DeepCopy

func (in *NodeConfigPlacement) DeepCopy() *NodeConfigPlacement

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

func (*NodeConfigPlacement) DeepCopyInto

func (in *NodeConfigPlacement) DeepCopyInto(out *NodeConfigPlacement)

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

type NodeConfigSpec

type NodeConfigSpec struct {
	// placement contains scheduling rules for NodeConfig Pods.
	// +kubebuilder:validation:Required
	Placement NodeConfigPlacement `json:"placement"`

	// disableOptimizations controls if nodes matching placement requirements
	// are going to be optimized. Turning off optimizations on already optimized
	// Nodes does not revert changes.
	DisableOptimizations bool `json:"disableOptimizations"`

	// localDiskSetup contains options of automatic local disk setup.
	// +optional
	LocalDiskSetup *LocalDiskSetup `json:"localDiskSetup"`
}

func (*NodeConfigSpec) DeepCopy

func (in *NodeConfigSpec) DeepCopy() *NodeConfigSpec

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

func (*NodeConfigSpec) DeepCopyInto

func (in *NodeConfigSpec) DeepCopyInto(out *NodeConfigSpec)

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

type NodeConfigStatus

type NodeConfigStatus struct {
	// observedGeneration indicates the most recent generation observed by the controller.
	ObservedGeneration int64 `json:"observedGeneration"`

	// conditions represents the latest available observations of current state.
	// +optional
	Conditions NodeConfigConditions `json:"conditions"`

	// nodeStatuses hold the status for each tuned node.
	NodeStatuses []NodeConfigNodeStatus `json:"nodeStatuses"`
}

func (*NodeConfigStatus) DeepCopy

func (in *NodeConfigStatus) DeepCopy() *NodeConfigStatus

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

func (*NodeConfigStatus) DeepCopyInto

func (in *NodeConfigStatus) DeepCopyInto(out *NodeConfigStatus)

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

type NodeServiceTemplate

type NodeServiceTemplate struct {
	ObjectTemplateMetadata `json:",inline"`

	// type specifies the Kubernetes Service type.
	Type NodeServiceType `json:"type"`

	// externalTrafficPolicy controls value of service.spec.externalTrafficPolicy of each node Service.
	// Check Kubernetes corev1.Service documentation about semantic of this field.
	// +optional
	ExternalTrafficPolicy *corev1.ServiceExternalTrafficPolicy `json:"externalTrafficPolicy,omitempty"`

	// allocateLoadBalancerNodePorts controls value of service.spec.allocateLoadBalancerNodePorts of each node Service.
	// Check Kubernetes corev1.Service documentation about semantic of this field.
	// +optional
	AllocateLoadBalancerNodePorts *bool `json:"allocateLoadBalancerNodePorts,omitempty"`

	// loadBalancerClass controls value of service.spec.loadBalancerClass of each node Service.
	// Check Kubernetes corev1.Service documentation about semantic of this field.
	// +optional
	LoadBalancerClass *string `json:"loadBalancerClass,omitempty"`

	// internalTrafficPolicy controls value of service.spec.internalTrafficPolicy of each node Service.
	// Check Kubernetes corev1.Service documentation about semantic of this field.
	// +optional
	InternalTrafficPolicy *corev1.ServiceInternalTrafficPolicy `json:"internalTrafficPolicy,omitempty"`
}

func (*NodeServiceTemplate) DeepCopy

func (in *NodeServiceTemplate) DeepCopy() *NodeServiceTemplate

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

func (*NodeServiceTemplate) DeepCopyInto

func (in *NodeServiceTemplate) DeepCopyInto(out *NodeServiceTemplate)

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

type NodeServiceType

type NodeServiceType string
const (
	// NodeServiceTypeHeadless means nodes will be exposed via Headless Service.
	NodeServiceTypeHeadless NodeServiceType = "Headless"

	// NodeServiceTypeClusterIP means nodes will be exposed via ClusterIP Service.
	NodeServiceTypeClusterIP NodeServiceType = "ClusterIP"

	// NodeServiceTypeLoadBalancer means nodes will be exposed via LoadBalancer Service.
	NodeServiceTypeLoadBalancer NodeServiceType = "LoadBalancer"
)

type ObjectTemplateMetadata

type ObjectTemplateMetadata struct {
	// labels specify a custom key value map that gets merged with managed object labels.
	// +optional
	Labels map[string]string `json:"labels,omitempty"`

	// annotations specify a custom key value map that gets merged with managed object annotations.
	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`
}

func (*ObjectTemplateMetadata) DeepCopy

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

func (*ObjectTemplateMetadata) DeepCopyInto

func (in *ObjectTemplateMetadata) DeepCopyInto(out *ObjectTemplateMetadata)

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

type OperatorManagedTLSCertificateOptions

type OperatorManagedTLSCertificateOptions struct {
	// additionalDNSNames represents external DNS names that the certificates should be signed for.
	// +optional
	AdditionalDNSNames []string `json:"additionalDNSNames,omitempty"`

	// additionalIPAddresses represents external IP addresses that the certificates should be signed for.
	// +optional
	AdditionalIPAddresses []string `json:"additionalIPAddresses,omitempty"`
}

func (*OperatorManagedTLSCertificateOptions) DeepCopy

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

func (*OperatorManagedTLSCertificateOptions) DeepCopyInto

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

type Placement

type Placement struct {
	// nodeAffinity describes node affinity scheduling rules for the Pod.
	// +optional
	NodeAffinity *corev1.NodeAffinity `json:"nodeAffinity,omitempty"`

	// podAffinity describes Pod affinity scheduling rules.
	// +optional
	PodAffinity *corev1.PodAffinity `json:"podAffinity,omitempty"`

	// podAntiAffinity describes Pod anti-affinity scheduling rules.
	// +optional
	PodAntiAffinity *corev1.PodAntiAffinity `json:"podAntiAffinity,omitempty"`

	// tolerations describe Pod toleration rules.
	// This allows the Pod to tolerate any taint that matches the triple <key,value,effect>
	// using the matching operator.
	// +optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
}

Placement holds configuration options related to scheduling.

func (*Placement) DeepCopy

func (in *Placement) DeepCopy() *Placement

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

func (*Placement) DeepCopyInto

func (in *Placement) DeepCopyInto(out *Placement)

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

type PlacementSpec added in v1.9.0

type PlacementSpec struct {
	// nodeAffinity describes node affinity scheduling rules for the pod.
	// +optional
	NodeAffinity *corev1.NodeAffinity `json:"nodeAffinity,omitempty"`

	// podAffinity describes pod affinity scheduling rules.
	// +optional
	PodAffinity *corev1.PodAffinity `json:"podAffinity,omitempty"`

	// podAntiAffinity describes pod anti-affinity scheduling rules.
	// +optional
	PodAntiAffinity *corev1.PodAntiAffinity `json:"podAntiAffinity,omitempty"`

	// tolerations allow the pod to tolerate any taint that matches the triple <key,value,effect>
	// using the matching operator.
	// +optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
}

PlacementSpec defines pod placement. TODO: move this to corev1.Affinity in v1alpha2

func (*PlacementSpec) DeepCopy added in v1.9.0

func (in *PlacementSpec) DeepCopy() *PlacementSpec

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

func (*PlacementSpec) DeepCopyInto added in v1.9.0

func (in *PlacementSpec) DeepCopyInto(out *PlacementSpec)

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

type PodIPAddressOptions

type PodIPAddressOptions struct {
	// sourceType specifies source of the Pod IP.
	// +kubebuilder:default:="Status"
	Source PodIPSourceType `json:"source"`
}

PodIPAddressOptions hold options related to Pod IP address.

func (*PodIPAddressOptions) DeepCopy

func (in *PodIPAddressOptions) DeepCopy() *PodIPAddressOptions

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

func (*PodIPAddressOptions) DeepCopyInto

func (in *PodIPAddressOptions) DeepCopyInto(out *PodIPAddressOptions)

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

type PodIPInterfaceOptions

type PodIPInterfaceOptions struct {
	// interfaceName specifies interface name within a Pod from which address is taken from.
	InterfaceName string `json:"interfaceName,omitempty"`
}

func (*PodIPInterfaceOptions) DeepCopy

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

func (*PodIPInterfaceOptions) DeepCopyInto

func (in *PodIPInterfaceOptions) DeepCopyInto(out *PodIPInterfaceOptions)

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

type PodIPSourceType

type PodIPSourceType string
const (
	// StatusPodIPSource specifies that the PodIP is taken from Pod.Status.PodIP
	StatusPodIPSource PodIPSourceType = "Status"
)

type PrometheusExposeOptions added in v1.9.0

type PrometheusExposeOptions struct {
	// webInterface specifies expose options for the user web interface.
	// +optional
	WebInterface *HTTPSExposeOptions `json:"webInterface,omitempty"`
}

PrometheusExposeOptions holds options related to exposing Prometheus app.

func (*PrometheusExposeOptions) DeepCopy added in v1.9.0

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

func (*PrometheusExposeOptions) DeepCopyInto added in v1.9.0

func (in *PrometheusExposeOptions) DeepCopyInto(out *PrometheusExposeOptions)

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

type PrometheusSpec added in v1.9.0

type PrometheusSpec struct {
	// placement describes restrictions for the nodes Prometheus is scheduled on.
	// +optional
	Placement *PlacementSpec `json:"placement,omitempty"`

	// resources the Prometheus container will use.
	Resources corev1.ResourceRequirements `json:"resources"`

	// exposeOptions specifies options for exposing Prometheus UI.
	// +optional
	ExposeOptions *PrometheusExposeOptions `json:"exposeOptions,omitempty"`

	// storage describes the underlying storage that Prometheus will consume.
	// +optional
	Storage *Storage `json:"storage"`
}

PrometheusSpec holds the spec prometheus options.

func (*PrometheusSpec) DeepCopy added in v1.9.0

func (in *PrometheusSpec) DeepCopy() *PrometheusSpec

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

func (*PrometheusSpec) DeepCopyInto added in v1.9.0

func (in *PrometheusSpec) DeepCopyInto(out *PrometheusSpec)

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

type RAID0Options added in v1.9.0

type RAID0Options struct {
	// devices defines which devices constitute the raid array.
	Devices DeviceDiscovery `json:"devices"`
}

RAID0Options specifies raid0 options.

func (*RAID0Options) DeepCopy added in v1.9.0

func (in *RAID0Options) DeepCopy() *RAID0Options

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

func (*RAID0Options) DeepCopyInto added in v1.9.0

func (in *RAID0Options) DeepCopyInto(out *RAID0Options)

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

type RAIDConfiguration added in v1.9.0

type RAIDConfiguration struct {
	// name specifies the name of the raid device to be created under in `/dev/md/`.
	Name string `json:"name"`

	// type is a type of raid array.
	Type RAIDType `json:"type"`

	// RAID0 specifies RAID0 options.
	// +optional
	RAID0 *RAID0Options `json:"RAID0,omitempty"`
}

RAIDConfiguration is a configuration of a raid array.

func (*RAIDConfiguration) DeepCopy added in v1.9.0

func (in *RAIDConfiguration) DeepCopy() *RAIDConfiguration

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

func (*RAIDConfiguration) DeepCopyInto added in v1.9.0

func (in *RAIDConfiguration) DeepCopyInto(out *RAIDConfiguration)

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

type RAIDType added in v1.9.0

type RAIDType string

RAIDType is a raid array type.

const (
	// RAID0Type represents RAID0 array type.
	RAID0Type RAIDType = "RAID0"
)

type RackSpec

type RackSpec struct {
	RackTemplate `json:",inline"`

	// name specifies the name of the ScyllaDB Rack. Used as rack name in GossipingPropertyFileSnitch.
	// This field is immutable.
	Name string `json:"name"`
}

RackSpec is the desired state for a ScyllaDB Rack.

func (*RackSpec) DeepCopy

func (in *RackSpec) DeepCopy() *RackSpec

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

func (*RackSpec) DeepCopyInto

func (in *RackSpec) DeepCopyInto(out *RackSpec)

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

type RackStatus

type RackStatus struct {
	// name specifies the name of datacenter this status describes.
	Name string `json:"name,omitempty"`

	// version specifies the current version of ScyllaDB in use.
	CurrentVersion string `json:"currentVersion"`

	// updatedVersion specifies the updated version of ScyllaDB.
	UpdatedVersion string `json:"updatedVersion"`

	// nodes specify the total number of nodes requested in rack.
	// +optional
	Nodes *int32 `json:"nodes,omitempty"`

	// currentNodes specify the total number of nodes created in rack.
	CurrentNodes *int32 `json:"currentNodes,omitempty"`

	// updatedNodes specify the number of nodes matching the current spec in rack.
	// +optional
	UpdatedNodes *int32 `json:"updatedNodes,omitempty"`

	// readyNodes specify the total number of ready nodes in rack.
	// +optional
	ReadyNodes *int32 `json:"readyNodes,omitempty"`

	// availableNodes specify the total number of available nodes in rack.
	// +optional
	AvailableNodes *int32 `json:"availableNodes,omitempty"`

	// stale indicates if the current rack status is collected for a previous generation.
	// stale should eventually become false when the appropriate controller writes a fresh status.
	// +optional
	Stale *bool `json:"stale,omitempty"`
}

RackStatus is the status of a ScyllaDB Rack

func (*RackStatus) DeepCopy

func (in *RackStatus) DeepCopy() *RackStatus

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

func (*RackStatus) DeepCopyInto

func (in *RackStatus) DeepCopyInto(out *RackStatus)

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

type RackTemplate

type RackTemplate struct {
	// nodes specify the desired number of nodes in rack.
	// +optional
	Nodes *int32 `json:"nodes,omitempty"`

	// placement describes restrictions for the nodes ScyllaDB is scheduled on.
	// +optional
	Placement *Placement `json:"placement,omitempty"`

	// topologyLabelSelector specifies a label selector which will be used to target nodes at specified topology constraints.
	// Datacenter topologyLabelSelector is merged with rack topologyLabelSelector and then converted into nodeAffinity
	// targeting nodes having specified topology.
	// +optional
	TopologyLabelSelector map[string]string `json:"topologyLabelSelector,omitempty"`

	// scyllaDB specifies ScyllaDB properties for this rack.
	// These override the settings set on Datacenter level.
	// +optional
	ScyllaDB *ScyllaDBTemplate `json:"scyllaDB,omitempty"`

	// scyllaDBManagerAgent specifies ScyllaDB Manager Agent properties for this rack.
	// These override the settings set on Datacenter level.
	// +optional
	ScyllaDBManagerAgent *ScyllaDBManagerAgentTemplate `json:"scyllaDBManagerAgent,omitempty"`
}

func (*RackTemplate) DeepCopy

func (in *RackTemplate) DeepCopy() *RackTemplate

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

func (*RackTemplate) DeepCopyInto

func (in *RackTemplate) DeepCopyInto(out *RackTemplate)

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

type ScyllaDB

type ScyllaDB struct {
	// image holds a reference to the ScyllaDB container image.
	Image string `json:"image"`

	// externalSeeds specifies the external seeds to propagate to ScyllaDB binary on startup as "seeds" parameter of seed-provider.
	// +optional
	ExternalSeeds []string `json:"externalSeeds,omitempty"`

	// alternatorOptions designates this cluster an Alternator cluster.
	// +optional
	AlternatorOptions *AlternatorOptions `json:"alternatorOptions,omitempty"`

	// additionalScyllaDBArguments specify a list of arguments appended to the ScyllaDB binary during startup.
	// When set, ScyllaDB may behave unexpectedly, and every such setup is considered unsupported.
	// Instead, consider using customConfigMapRef for setting custom ScyllaDB configuration options.
	// +optional
	AdditionalScyllaDBArguments []string `json:"additionalScyllaDBArguments,omitempty"`

	// developerMode determines if the cluster runs in developer-mode.
	// +optional
	EnableDeveloperMode *bool `json:"enableDeveloperMode,omitempty"`
}

ScyllaDB holds configuration options related to ScyllaDB.

func (*ScyllaDB) DeepCopy

func (in *ScyllaDB) DeepCopy() *ScyllaDB

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

func (*ScyllaDB) DeepCopyInto

func (in *ScyllaDB) DeepCopyInto(out *ScyllaDB)

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

type ScyllaDBDatacenter

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

	// spec defines the desired state of this ScyllaDBDatacenter.
	Spec ScyllaDBDatacenterSpec `json:"spec,omitempty"`

	// status specifies the current status of this ScyllaDBDatacenter.
	Status ScyllaDBDatacenterStatus `json:"status,omitempty"`
}

ScyllaDBDatacenter defines a monitoring instance for ScyllaDB clusters.

func (*ScyllaDBDatacenter) DeepCopy

func (in *ScyllaDBDatacenter) DeepCopy() *ScyllaDBDatacenter

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

func (*ScyllaDBDatacenter) DeepCopyInto

func (in *ScyllaDBDatacenter) DeepCopyInto(out *ScyllaDBDatacenter)

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

func (*ScyllaDBDatacenter) DeepCopyObject

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

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

type ScyllaDBDatacenterList

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

func (*ScyllaDBDatacenterList) DeepCopy

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

func (*ScyllaDBDatacenterList) DeepCopyInto

func (in *ScyllaDBDatacenterList) DeepCopyInto(out *ScyllaDBDatacenterList)

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

func (*ScyllaDBDatacenterList) DeepCopyObject

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

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

type ScyllaDBDatacenterSpec

type ScyllaDBDatacenterSpec struct {
	// metadata controls shared metadata for all pods created based on this spec.
	// +optional
	Metadata *ObjectTemplateMetadata `json:"metadata,omitempty"`

	// clusterName specifies the name of the ScyllaDB cluster.
	// When joining two DCs, their cluster name must match.
	// This field is immutable.
	ClusterName string `json:"clusterName"`

	// datacenterName specifies the name of the ScyllaDB datacenter. Used as datacenter name in GossipingPropertyFileSnitch.
	// If empty, it's taken from the 'scylladbdatacenter.metadata.name'.
	// +optional
	DatacenterName *string `json:"datacenterName,omitempty"`

	// scyllaDB holds a specification of ScyllaDB.
	ScyllaDB ScyllaDB `json:"scyllaDB"`

	// scyllaDBManagerAgent holds a specification of ScyllaDB Manager Agent.
	// +optional
	ScyllaDBManagerAgent *ScyllaDBManagerAgent `json:"scyllaDBManagerAgent,omitempty"`

	// imagePullSecrets is an optional list of references to secrets in the same namespace
	// used for pulling any images used by this spec.
	// +optional
	ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`

	// dnsPolicy defines how a pod's DNS will be configured.
	// +optional
	DNSPolicy *corev1.DNSPolicy `json:"dnsPolicy,omitempty"`

	// dnsDomains specifies a list of DNS domains this cluster is reachable by.
	// These domains are used when setting up the infrastructure, like certificates.
	// +optional
	DNSDomains []string `json:"dnsDomains,omitempty"`

	// forceRedeploymentReason specifies the latest redeployment reason.
	// Can be used to force a rolling restart of all racks in this DC by providing a unique string.
	// +optional
	ForceRedeploymentReason *string `json:"forceRedeploymentReason,omitempty"`

	// exposeOptions specifies parameters related to exposing ScyllaDBDatacenter backends.
	// +optional
	ExposeOptions *ExposeOptions `json:"exposeOptions,omitempty"`

	// rackTemplate provides a template for every rack.
	// Every rack inherits properties specified in the template, unless it's overwritten on the rack level.
	// +optional
	RackTemplate *RackTemplate `json:"rackTemplate,omitempty"`

	// racks specify the racks in the datacenter.
	Racks []RackSpec `json:"racks"`

	// disableAutomaticOrphanedNodeReplacement controls if automatic orphan node replacement should be disabled.
	// +optional
	DisableAutomaticOrphanedNodeReplacement *bool `json:"disableAutomaticOrphanedNodeReplacement,omitempty"`

	// minTerminationGracePeriodSeconds specifies minimum duration in seconds to wait before every drained node is
	// terminated. This gives time to potential load balancer in front of a node to notice that node is not ready anymore
	// and stop forwarding new requests.
	// This applies only when node is terminated gracefully.
	// If not provided, Operator will determine this value.
	// EXPERIMENTAL. Do not rely on any particular behaviour controlled by this field.
	// +optional
	MinTerminationGracePeriodSeconds *int32 `json:"minTerminationGracePeriodSeconds,omitempty"`

	// minReadySeconds specifies the minimum number of seconds for which a newly created ScyllaDB node should be ready
	// for it to be considered available.
	// When used to control load balanced traffic, this can give the load balancer in front of a node enough time to
	// notice that the node is ready and start forwarding traffic in time. Because it all depends on timing, the order
	// is not guaranteed and, if possible, you should use readinessGates instead.
	// If not provided, Operator will determine this value.
	// +optional
	MinReadySeconds *int32 `json:"minReadySeconds,omitempty"`

	// readinessGates specifies custom readiness gates that will be evaluated for every ScyllaDB Pod readiness.
	// It's projected into every ScyllaDB Pod as its readinessGate. Refer to upstream documentation to learn more
	// about readiness gates.
	// +optional
	ReadinessGates []corev1.PodReadinessGate `json:"readinessGates,omitempty"`
}

ScyllaDBDatacenterSpec defines the desired state of ScyllaDBDatacenter.

func (*ScyllaDBDatacenterSpec) DeepCopy

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

func (*ScyllaDBDatacenterSpec) DeepCopyInto

func (in *ScyllaDBDatacenterSpec) DeepCopyInto(out *ScyllaDBDatacenterSpec)

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

type ScyllaDBDatacenterStatus

type ScyllaDBDatacenterStatus struct {
	// observedGeneration is the most recent generation observed for this ScyllaDBDatacenter. It corresponds to the
	// ScyllaDBDatacenter's generation, which is updated on mutation by the API Server.
	// +optional
	ObservedGeneration *int64 `json:"observedGeneration,omitempty"`

	// conditions hold conditions describing ScyllaDBDatacenter state.
	// To determine whether a cluster rollout is finished, look for Available=True,Progressing=False,Degraded=False.
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// version specifies the current version of ScyllaDB in use.
	// +optional
	CurrentVersion string `json:"currentVersion,omitempty"`

	// updatedVersion specifies the updated version of ScyllaDB.
	// +optional
	UpdatedVersion string `json:"updatedVersion,omitempty"`

	// nodes specify the total number of nodes requested in datacenter.
	// +optional
	Nodes *int32 `json:"nodes,omitempty"`

	// currentNodes specify the total number of nodes created in datacenter.
	CurrentNodes *int32 `json:"currentNodes,omitempty"`

	// updatedNodes specify the number of nodes matching the current spec in datacenter.
	// +optional
	UpdatedNodes *int32 `json:"updatedNodes,omitempty"`

	// readyNodes specify the total number of ready nodes in datacenter.
	// +optional
	ReadyNodes *int32 `json:"readyNodes,omitempty"`

	// availableNodes specify the total number of available nodes in datacenter.
	// +optional
	AvailableNodes *int32 `json:"availableNodes,omitempty"`

	// racks reflect the status of datacenter racks.
	Racks []RackStatus `json:"racks"`
}

ScyllaDBDatacenterStatus defines the observed state of ScyllaDBDatacenter.

func (*ScyllaDBDatacenterStatus) DeepCopy

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

func (*ScyllaDBDatacenterStatus) DeepCopyInto

func (in *ScyllaDBDatacenterStatus) DeepCopyInto(out *ScyllaDBDatacenterStatus)

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

type ScyllaDBManagerAgent

type ScyllaDBManagerAgent struct {
	// image holds a reference to the ScyllaDB Manager Agent container image.
	// +optional
	Image *string `json:"image,omitempty"`
}

ScyllaDBManagerAgent holds configuration options related to ScyllaDB Manager Agent.

func (*ScyllaDBManagerAgent) DeepCopy

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

func (*ScyllaDBManagerAgent) DeepCopyInto

func (in *ScyllaDBManagerAgent) DeepCopyInto(out *ScyllaDBManagerAgent)

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

type ScyllaDBManagerAgentTemplate

type ScyllaDBManagerAgentTemplate struct {
	// resources specify requirements for the ScyllaDB Manager Agent container
	// +optional
	Resources *corev1.ResourceRequirements `json:"resources,omitempty"`

	// customConfigSecretRef specifies a reference to custom ScyllaDB Manager Agent configuration stored as Secret.
	// +optional
	CustomConfigSecretRef *string `json:"customConfigSecretRef,omitempty"`

	// volumes specify a list of volumes appended to ScyllaDB Pod.
	// +optional
	Volumes []corev1.Volume `json:"volumes,omitempty"`

	// volumeMounts specify a list of volume mounts appended to ScyllaDB Manager Agent container.
	VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"`
}

ScyllaDBManagerAgentTemplate allows to override a subset of ScyllaDBManagerAgent settings.

func (*ScyllaDBManagerAgentTemplate) DeepCopy

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

func (*ScyllaDBManagerAgentTemplate) DeepCopyInto

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

type ScyllaDBMonitoring added in v1.9.0

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

	// spec defines the desired state of this ScyllaDBMonitoring.
	Spec ScyllaDBMonitoringSpec `json:"spec,omitempty"`

	// status is the current status of this ScyllaDBMonitoring.
	Status ScyllaDBMonitoringStatus `json:"status,omitempty"`
}

ScyllaDBMonitoring defines a monitoring instance for ScyllaDB clusters.

func (*ScyllaDBMonitoring) DeepCopy added in v1.9.0

func (in *ScyllaDBMonitoring) DeepCopy() *ScyllaDBMonitoring

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

func (*ScyllaDBMonitoring) DeepCopyInto added in v1.9.0

func (in *ScyllaDBMonitoring) DeepCopyInto(out *ScyllaDBMonitoring)

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

func (*ScyllaDBMonitoring) DeepCopyObject added in v1.9.0

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

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

type ScyllaDBMonitoringList added in v1.9.0

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

ScyllaDBMonitoringList holds a list of ScyllaDBMonitoring.

func (*ScyllaDBMonitoringList) DeepCopy added in v1.9.0

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

func (*ScyllaDBMonitoringList) DeepCopyInto added in v1.9.0

func (in *ScyllaDBMonitoringList) DeepCopyInto(out *ScyllaDBMonitoringList)

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

func (*ScyllaDBMonitoringList) DeepCopyObject added in v1.9.0

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

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

type ScyllaDBMonitoringSpec added in v1.9.0

type ScyllaDBMonitoringSpec struct {
	// endpointsSelector select which Endpoints should be scraped.
	// For local ScyllaDB clusters or datacenters, this is the same selector as if you were trying to select member Services.
	// For remote ScyllaDB clusters, this can select any endpoints that are created manually or for a Service without selectors.
	// +kubebuilder:validation:Required
	EndpointsSelector metav1.LabelSelector `json:"endpointsSelector"`

	// components hold additional config for the monitoring components in use.
	Components *Components `json:"components"`

	// type determines the platform type of the monitoring setup.
	// +kubebuilder:default:="SaaS"
	// +optional
	Type *ScyllaDBMonitoringType `json:"type,omitempty"`
}

ScyllaDBMonitoringSpec defines the desired state of ScyllaDBMonitoring.

func (*ScyllaDBMonitoringSpec) DeepCopy added in v1.9.0

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

func (*ScyllaDBMonitoringSpec) DeepCopyInto added in v1.9.0

func (in *ScyllaDBMonitoringSpec) DeepCopyInto(out *ScyllaDBMonitoringSpec)

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

func (*ScyllaDBMonitoringSpec) GetType

type ScyllaDBMonitoringStatus added in v1.9.0

type ScyllaDBMonitoringStatus struct {
	// observedGeneration is the most recent generation observed for this ScyllaDBMonitoring. It corresponds to the
	// ScyllaDBMonitoring's generation, which is updated on mutation by the API Server.
	// +optional
	ObservedGeneration *int64 `json:"observedGeneration,omitempty"`

	// conditions hold conditions describing ScyllaDBMonitoring state.
	// To determine whether a cluster rollout is finished, look for Available=True,Progressing=False,Degraded=False.
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

ScyllaDBMonitoringStatus defines the observed state of ScyllaDBMonitoring.

func (*ScyllaDBMonitoringStatus) DeepCopy added in v1.9.0

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

func (*ScyllaDBMonitoringStatus) DeepCopyInto added in v1.9.0

func (in *ScyllaDBMonitoringStatus) DeepCopyInto(out *ScyllaDBMonitoringStatus)

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

type ScyllaDBMonitoringType added in v1.9.0

type ScyllaDBMonitoringType string

ScyllaDBMonitoringType describes the platform type of the monitoring setup. +kubebuilder:validation:Enum="SaaS";"Platform"

const (
	// ScyllaDBMonitoringTypePlatform defines ScyllaDB monitoring setup that includes a view of the infrastructure.
	ScyllaDBMonitoringTypePlatform ScyllaDBMonitoringType = "Platform"

	// ScyllaDBMonitoringTypeSAAS defines ScyllaDB monitoring setup focused only on the ScyllaDB service.
	ScyllaDBMonitoringTypeSAAS ScyllaDBMonitoringType = "SaaS"
)

type ScyllaDBTemplate

type ScyllaDBTemplate struct {
	// resources specify requirements for the ScyllaDB container
	// +optional
	Resources *corev1.ResourceRequirements `json:"resources,omitempty"`

	// storage specifies requirements for the containers
	// +optional
	Storage *StorageOptions `json:"storage,omitempty"`

	// customConfigMapRef specifies a reference to custom ScyllaDB configuration stored as ConfigMap.
	// Overrides upper level settings.
	// +optional
	CustomConfigMapRef *string `json:"customConfigMapRef,omitempty"`

	// volumes specify a list of volumes appended to ScyllaDB Pod.
	// +optional
	Volumes []corev1.Volume `json:"volumes,omitempty"`

	// volumeMounts specify a list of volume mounts appended to ScyllaDB container.
	// +optional
	VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"`
}

ScyllaDBTemplate allows overriding a subset of ScyllaDB settings.

func (*ScyllaDBTemplate) DeepCopy

func (in *ScyllaDBTemplate) DeepCopy() *ScyllaDBTemplate

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

func (*ScyllaDBTemplate) DeepCopyInto

func (in *ScyllaDBTemplate) DeepCopyInto(out *ScyllaDBTemplate)

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

type ScyllaOperatorConfig

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

	// spec defines the desired state of the operator.
	Spec ScyllaOperatorConfigSpec `json:"spec,omitempty"`

	// status defines the observed state of the operator.
	Status ScyllaOperatorConfigStatus `json:"status,omitempty"`
}

ScyllaOperatorConfig describes the Scylla Operator configuration.

func (*ScyllaOperatorConfig) DeepCopy

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

func (*ScyllaOperatorConfig) DeepCopyInto

func (in *ScyllaOperatorConfig) DeepCopyInto(out *ScyllaOperatorConfig)

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

func (*ScyllaOperatorConfig) DeepCopyObject

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

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

type ScyllaOperatorConfigList

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

func (*ScyllaOperatorConfigList) DeepCopy

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

func (*ScyllaOperatorConfigList) DeepCopyInto

func (in *ScyllaOperatorConfigList) DeepCopyInto(out *ScyllaOperatorConfigList)

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

func (*ScyllaOperatorConfigList) DeepCopyObject

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

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

type ScyllaOperatorConfigSpec

type ScyllaOperatorConfigSpec struct {
	// scyllaUtilsImage is a ScyllaDB image used for running ScyllaDB utilities.
	ScyllaUtilsImage string `json:"scyllaUtilsImage"`

	// unsupportedBashToolsImageOverride allows to adjust a generic Bash image with extra tools used by the operator
	// for auxiliary purposes.
	// Setting this field renders your cluster unsupported. Use at your own risk.
	// +optional
	UnsupportedBashToolsImageOverride *string `json:"unsupportedBashToolsImageOverride,omitempty"`

	// unsupportedGrafanaImageOverride allows to adjust Grafana image used by the operator
	// for testing, dev or emergencies.
	// Setting this field renders your cluster unsupported. Use at your own risk.
	// +optional
	UnsupportedGrafanaImageOverride *string `json:"unsupportedGrafanaImageOverride,omitempty"`

	// unsupportedPrometheusVersionOverride allows to adjust Prometheus version used by the operator
	// for testing, dev or emergencies.
	// Setting this field renders your cluster unsupported. Use at your own risk.
	// +optional
	UnsupportedPrometheusVersionOverride *string `json:"unsupportedPrometheusVersionOverride,omitempty"`

	// configuredClusterDomain allows users to set the configured Kubernetes cluster domain explicitly, instead of letting Scylla Operator automatically discover it.
	// +optional
	ConfiguredClusterDomain *string `json:"configuredClusterDomain,omitempty"`
}

func (*ScyllaOperatorConfigSpec) DeepCopy

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

func (*ScyllaOperatorConfigSpec) DeepCopyInto

func (in *ScyllaOperatorConfigSpec) DeepCopyInto(out *ScyllaOperatorConfigSpec)

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

type ScyllaOperatorConfigStatus

type ScyllaOperatorConfigStatus struct {
	// observedGeneration is the most recent generation observed for this ScyllaOperatorConfig. It corresponds to the
	// ScyllaOperatorConfig's generation, which is updated on mutation by the API Server.
	// +optional
	ObservedGeneration *int64 `json:"observedGeneration,omitempty"`

	// conditions hold conditions describing ScyllaOperatorConfig state.
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// scyllaDBUtilsImage is the ScyllaDB image used for running ScyllaDB utilities.
	// +optional
	ScyllaDBUtilsImage *string `json:"scyllaDBUtilsImage"`

	// bashToolsImage is a generic Bash image with extra tools used by the operator for auxiliary purposes.
	// +optional
	BashToolsImage *string `json:"bashToolsImage,omitempty"`

	// grafanaImage is the image used by the operator to create a Grafana instance.
	// +optional
	GrafanaImage *string `json:"grafanaImage,omitempty"`

	// prometheusVersion is the Prometheus version used by the operator to create a Prometheus instance.
	// +optional
	PrometheusVersion *string `json:"prometheusVersion"`

	// clusterDomain is the Kubernetes cluster domain used by the Scylla Operator.
	ClusterDomain *string `json:"clusterDomain,omitempty"`
}

func (*ScyllaOperatorConfigStatus) DeepCopy

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

func (*ScyllaOperatorConfigStatus) DeepCopyInto

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

type Storage added in v1.9.0

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

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

	// volumeClaimTemplates is a PVC template defining storage to be used by Prometheus.
	// +optional
	VolumeClaimTemplate corev1.PersistentVolumeClaimTemplate `json:"volumeClaimTemplate,omitempty"`
}

Storage holds the storage options.

func (*Storage) DeepCopy added in v1.9.0

func (in *Storage) DeepCopy() *Storage

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

func (*Storage) DeepCopyInto added in v1.9.0

func (in *Storage) DeepCopyInto(out *Storage)

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

type StorageOptions

type StorageOptions struct {
	// metadata controls shared metadata for the volume claim for this rack.
	// At this point, the values are applied only for the initial claim and are not reconciled during its lifetime.
	// Note that this may get fixed in the future and this behaviour shouldn't be relied on in any way.
	// +optional
	Metadata *ObjectTemplateMetadata `json:"metadata,omitempty"`

	// capacity describes the requested size of each persistent volume.
	Capacity string `json:"capacity"`

	// storageClassName specifies the name of a storageClass to request.
	// +optional
	StorageClassName *string `json:"storageClassName,omitempty"`
}

StorageOptions describes options of storage.

func (*StorageOptions) DeepCopy

func (in *StorageOptions) DeepCopy() *StorageOptions

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

func (*StorageOptions) DeepCopyInto

func (in *StorageOptions) DeepCopyInto(out *StorageOptions)

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

type TLSCertificate

type TLSCertificate struct {
	// type determines the source of this certificate.
	Type TLSCertificateType `json:"type"`

	// userManagedOptions specifies options for certificates manged by users.
	// +optional
	UserManagedOptions *UserManagedTLSCertificateOptions `json:"userManagedOptions,omitempty"`

	// operatorManagedOptions specifies options for certificates manged by the operator.
	// +optional
	OperatorManagedOptions *OperatorManagedTLSCertificateOptions `json:"operatorManagedOptions,omitempty"`
}

func (*TLSCertificate) DeepCopy

func (in *TLSCertificate) DeepCopy() *TLSCertificate

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

func (*TLSCertificate) DeepCopyInto

func (in *TLSCertificate) DeepCopyInto(out *TLSCertificate)

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

type TLSCertificateType

type TLSCertificateType string
const (
	TLSCertificateTypeOperatorManaged TLSCertificateType = "OperatorManaged"
	TLSCertificateTypeUserManaged     TLSCertificateType = "UserManaged"
)

type UserManagedTLSCertificateOptions

type UserManagedTLSCertificateOptions struct {
	// secretName references a kubernetes.io/tls type secret containing the TLS cert and key.
	SecretName string `json:"secretName"`
}

func (*UserManagedTLSCertificateOptions) DeepCopy

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

func (*UserManagedTLSCertificateOptions) DeepCopyInto

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