Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the db v1alpha1 API group +kubebuilder:object:generate=true +groupName=db.ibm.com
Index ¶
- Constants
- Variables
- func SetWebhookLogger(l *zap.SugaredLogger)
- func ValidateStorageSecret(logger *zap.SugaredLogger, secret *v1.Secret, storageProvider StorageProvider) error
- type AutoScheduling
- type BackupError
- type CATLSSecret
- type Cassandra
- type CassandraBackup
- func (in *CassandraBackup) DeepCopy() *CassandraBackup
- func (in *CassandraBackup) DeepCopyInto(out *CassandraBackup)
- func (in *CassandraBackup) DeepCopyObject() runtime.Object
- func (cb *CassandraBackup) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (in *CassandraBackup) StorageProvider() StorageProvider
- func (cb *CassandraBackup) ValidateCreate(ctx context.Context, obj runtime.Object) (admission.Warnings, error)
- func (cb *CassandraBackup) ValidateDelete(ctx context.Context, obj runtime.Object) (admission.Warnings, error)
- func (cb *CassandraBackup) ValidateUpdate(ctx context.Context, oldObj, newObj runtime.Object) (admission.Warnings, error)
- type CassandraBackupList
- type CassandraBackupSpec
- type CassandraBackupStatus
- type CassandraCluster
- func (in *CassandraCluster) DeepCopy() *CassandraCluster
- func (in *CassandraCluster) DeepCopyInto(out *CassandraCluster)
- func (in *CassandraCluster) DeepCopyObject() runtime.Object
- func (cc *CassandraCluster) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (cc *CassandraCluster) ValidateCreate(ctx context.Context, obj runtime.Object) (admission.Warnings, error)
- func (cc *CassandraCluster) ValidateDelete(ctx context.Context, obj runtime.Object) (admission.Warnings, error)
- func (cc *CassandraCluster) ValidateUpdate(ctx context.Context, oldObj, newObj runtime.Object) (admission.Warnings, error)
- type CassandraClusterList
- type CassandraClusterSpec
- type CassandraClusterStatus
- type CassandraRestore
- func (in *CassandraRestore) DeepCopy() *CassandraRestore
- func (in *CassandraRestore) DeepCopyInto(out *CassandraRestore)
- func (in *CassandraRestore) DeepCopyObject() runtime.Object
- func (cr *CassandraRestore) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (in *CassandraRestore) StorageProvider() StorageProvider
- func (cr *CassandraRestore) ValidateCreate(ctx context.Context, obj runtime.Object) (admission.Warnings, error)
- func (cr *CassandraRestore) ValidateDelete(ctx context.Context, obj runtime.Object) (admission.Warnings, error)
- func (cr *CassandraRestore) ValidateUpdate(ctx context.Context, oldObj, newObj runtime.Object) (admission.Warnings, error)
- type CassandraRestoreList
- type CassandraRestoreSpec
- type CassandraRestoreStatus
- type ClientEncryption
- type DC
- type DataRate
- type Encryption
- type ExternalRegions
- type HostPort
- type Icarus
- type Ingress
- type Jolokia
- type KeyspaceName
- type Maintenance
- type ManagedRegion
- type Monitoring
- type NetworkPolicies
- type NetworkPolicyRule
- type NodeTLSSecret
- type Persistence
- type PodName
- type Prober
- type Reaper
- type RepairSchedule
- type RepairSchedules
- type RestoreError
- type RestoreImport
- type Retry
- type ServerEncryption
- type ServiceMonitor
- type StorageProvider
- type SystemKeyspaceDC
- type SystemKeyspaces
- type UnmanagedRegion
Constants ¶
const ( CassandraClusterInstance = "cassandra-cluster-instance" CassandraClusterComponent = "cassandra-cluster-component" CassandraClusterDC = "cassandra-cluster-dc" CassandraClusterChecksum = "cassandra-cluster-checksum" CassandraClusterSeed = "cassandra-cluster-seed" CassandraClusterComponentProber = "prober" CassandraClusterComponentReaper = "reaper" CassandraClusterComponentCassandra = "cassandra" CassandraClusterNetworkPolicy = "network-policy" CassandraAgentTlp = "tlp" CassandraAgentInstaclustr = "instaclustr" CassandraAgentDatastax = "datastax" CassandraDefaultRole = "cassandra" CassandraDefaultPassword = "cassandra" CassandraOperatorAdminRole = "admin-role" CassandraOperatorAdminPassword = "admin-password" CassandraOperatorInstance = "operator" CassandraOperatorInstanceName = "mr-cassop" ProberServicePort = 80 JolokiaContainerPort = 8080 ProberContainerPort = 8888 ReaperAppPort = 8080 ReaperAdminPort = 8081 IntraPort = 7000 TlsPort = 7001 JmxPort = 7199 TlpPort = 8090 CqlPort = 9042 DatastaxPort = 9103 InstaclustrPort = 9500 IcarusPort = 4567 ReaperReplicasNumber = 1 InternodeEncryptionNone = "none" HMS = "15:04:05" ISOFormat = "2006-01-02T" + HMS // YYYY-MM-DDThh:mm:ss format (reaper API dates do not include timezone) )
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "db.ibm.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
var CassandraOperatorPodLabels = map[string]string{CassandraOperatorInstance: CassandraOperatorInstanceName}
Functions ¶
func SetWebhookLogger ¶
func SetWebhookLogger(l *zap.SugaredLogger)
func ValidateStorageSecret ¶
func ValidateStorageSecret(logger *zap.SugaredLogger, secret *v1.Secret, storageProvider StorageProvider) error
Types ¶
type AutoScheduling ¶
type AutoScheduling struct {
Enabled bool `json:"enabled,omitempty"`
InitialDelayPeriod string `json:"initialDelayPeriod,omitempty"`
PeriodBetweenPolls string `json:"periodBetweenPolls,omitempty"`
TimeBeforeFirstSchedule string `json:"timeBeforeFirstSchedule,omitempty"`
ScheduleSpreadPeriod string `json:"scheduleSpreadPeriod,omitempty"`
ExcludedKeyspaces []string `json:"excludedKeyspaces,omitempty"`
}
func (*AutoScheduling) DeepCopy ¶
func (in *AutoScheduling) DeepCopy() *AutoScheduling
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoScheduling.
func (*AutoScheduling) DeepCopyInto ¶
func (in *AutoScheduling) DeepCopyInto(out *AutoScheduling)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BackupError ¶
type BackupError struct {
// Name of the node where the error occurred
Source string `json:"source,omitempty"`
// The error message
Message string `json:"message,omitempty"`
}
func (*BackupError) DeepCopy ¶
func (in *BackupError) DeepCopy() *BackupError
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupError.
func (*BackupError) DeepCopyInto ¶
func (in *BackupError) DeepCopyInto(out *BackupError)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CATLSSecret ¶
type CATLSSecret struct {
Name string `json:"name"`
FileKey string `json:"fileKey,omitempty"`
CrtFileKey string `json:"crtFileKey,omitempty"`
}
func (*CATLSSecret) DeepCopy ¶
func (in *CATLSSecret) DeepCopy() *CATLSSecret
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CATLSSecret.
func (*CATLSSecret) DeepCopyInto ¶
func (in *CATLSSecret) DeepCopyInto(out *CATLSSecret)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Cassandra ¶
type Cassandra struct {
Image string `json:"image,omitempty"`
// +kubebuilder:validation:Enum:=Always;Never;IfNotPresent
ImagePullPolicy v1.PullPolicy `json:"imagePullPolicy,omitempty"`
Resources v1.ResourceRequirements `json:"resources,omitempty"`
// +kubebuilder:validation:Enum:=info;debug;trace
LogLevel string `json:"logLevel,omitempty"`
// +kubebuilder:validation:Minimum:=1
NumSeeds int32 `json:"numSeeds,omitempty"`
// +kubebuilder:validation:Minimum:=0
TerminationGracePeriodSeconds *int64 `json:"terminationGracePeriodSeconds,omitempty"`
PurgeGossip *bool `json:"purgeGossip,omitempty"`
Persistence Persistence `json:"persistence,omitempty"`
ZonesAsRacks bool `json:"zonesAsRacks,omitempty"`
JVMOptions []string `json:"jvmOptions,omitempty"`
Sysctls map[string]string `json:"sysctls,omitempty"`
Monitoring Monitoring `json:"monitoring,omitempty"`
ConfigOverrides string `json:"configOverrides,omitempty"`
}
func (*Cassandra) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Cassandra.
func (*Cassandra) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CassandraBackup ¶
type CassandraBackup struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec CassandraBackupSpec `json:"spec"`
Status CassandraBackupStatus `json:"status,omitempty"`
}
CassandraBackup is the Schema for the CassandraBackups API
func (*CassandraBackup) DeepCopy ¶
func (in *CassandraBackup) DeepCopy() *CassandraBackup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CassandraBackup.
func (*CassandraBackup) DeepCopyInto ¶
func (in *CassandraBackup) DeepCopyInto(out *CassandraBackup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CassandraBackup) DeepCopyObject ¶
func (in *CassandraBackup) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*CassandraBackup) SetupWebhookWithManager ¶
func (cb *CassandraBackup) SetupWebhookWithManager(mgr ctrl.Manager) error
func (*CassandraBackup) StorageProvider ¶
func (in *CassandraBackup) StorageProvider() StorageProvider
func (*CassandraBackup) ValidateCreate ¶
func (cb *CassandraBackup) ValidateCreate(ctx context.Context, obj runtime.Object) (admission.Warnings, error)
ValidateCreate implements webhook.CustomValidator so a webhook will be registered for the type
func (*CassandraBackup) ValidateDelete ¶
func (cb *CassandraBackup) ValidateDelete(ctx context.Context, obj runtime.Object) (admission.Warnings, error)
ValidateDelete implements webhook.CustomValidator so a webhook will be registered for the type
func (*CassandraBackup) ValidateUpdate ¶
func (cb *CassandraBackup) ValidateUpdate(ctx context.Context, oldObj, newObj runtime.Object) (admission.Warnings, error)
ValidateUpdate implements webhook.CustomValidator so a webhook will be registered for the type
type CassandraBackupList ¶
type CassandraBackupList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []CassandraBackup `json:"items"`
}
CassandraBackupList contains a list of CassandraBackup
func (*CassandraBackupList) DeepCopy ¶
func (in *CassandraBackupList) DeepCopy() *CassandraBackupList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CassandraBackupList.
func (*CassandraBackupList) DeepCopyInto ¶
func (in *CassandraBackupList) DeepCopyInto(out *CassandraBackupList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CassandraBackupList) DeepCopyObject ¶
func (in *CassandraBackupList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CassandraBackupSpec ¶
type CassandraBackupSpec struct {
// CassandraCluster that is being backed up
CassandraCluster string `json:"cassandraCluster"`
// example: gcp://myBucket
// location where SSTables will be uploaded.
// A value of the storageLocation property has to have exact format which is 'protocol://bucket-name
// protocol is either 'gcp', 's3', 'azure', 'minio', 'ceph' or 'oracle'.
StorageLocation string `json:"storageLocation"`
// Name of the secret from which credentials used for the communication to cloud storage providers are read.
SecretName string `json:"secretName"`
// Tag name that identifies the backup. Defaulted to the name of the CassandraBackup.
SnapshotTag string `json:"snapshotTag,omitempty"`
// Based on this field, there will be throughput per second computed based on what size data we want to upload we have.
// The formula is "size / duration". The lower the duration is, the higher throughput per second we will need and vice versa.
// This will influence e.g. responsiveness of a node to its business requests so one can control how much bandwidth is used for backup purposes in case a cluster is fully operational.
// The format of this field is "amount unit". 'unit' is just a (case-insensitive) java.util.concurrent.TimeUnit enum value.
// If not used, there will not be any restrictions as how fast an upload can be.
Duration string `json:"duration,omitempty"`
// bandwidth used during uploads
Bandwidth *DataRate `json:"bandwidth,omitempty"`
// number of threads used for upload, there might be at most so many uploading threads at any given time, when not set, it defaults to 10
// +kubebuilder:validation:Minimum=1
ConcurrentConnections int64 `json:"concurrentConnections,omitempty"`
// name of datacenter to backup, nodes in the other datacenter(s) will not be involved
DC string `json:"dc,omitempty"`
// database entities to backup, it might be either only keyspaces or only tables (from different keyspaces if needed),
// e.g. 'k1,k2' if one wants to backup whole keyspaces and 'ks1.t1,ks2,t2' if one wants to backup tables.
// These formats can not be used together so 'k1,k2.t2' is invalid. If this field is empty, all keyspaces are backed up.
Entities string `json:"entities,omitempty"`
// number of hours to wait until backup is considered failed if not finished already
// +kubebuilder:validation:Minimum=1
Timeout int64 `json:"timeout,omitempty"`
// Relevant during upload to S3-like bucket only. Specifies whether the metadata is copied from the source object or replaced with metadata provided in the request.
// Defaults to COPY. Consult com.amazonaws.services.s3.model.MetadatDirective for more information.
// +kubebuilder:validation:Enum=COPY;REPLACE
MetadataDirective string `json:"metadataDirective,omitempty"`
// Relevant during upload to S3-like bucket only. If true, communication is done via HTTP instead of HTTPS. Defaults to false.
Insecure bool `json:"insecure,omitempty"`
// Automatically creates a bucket if it does not exist. If a bucket does not exist, backup operation will fail. Defaults to false.
CreateMissingBucket bool `json:"createMissingBucket,omitempty"`
// Do not check the existence of a bucket.
// Some storage providers (e.g. S3) requires a special permissions to be able to list buckets or query their existence which might not be allowed.
// This flag will skip that check. Keep in mind that if that bucket does not exist, the whole backup operation will fail.
SkipBucketVerification bool `json:"skipBucketVerification,omitempty"`
// If set to true, refreshment of an object in a remote bucket (e.g. for s3) will be skipped.
// This might help upon backuping to specific s3 storage providers like Dell ECS storage.
// You will also skip versioning creating new versions when turned off as refreshment creates new version of files as a side effect.
SkipRefreshing bool `json:"skipRefreshing,omitempty"`
Retry Retry `json:"retry,omitempty"`
}
func (*CassandraBackupSpec) DeepCopy ¶
func (in *CassandraBackupSpec) DeepCopy() *CassandraBackupSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CassandraBackupSpec.
func (*CassandraBackupSpec) DeepCopyInto ¶
func (in *CassandraBackupSpec) DeepCopyInto(out *CassandraBackupSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CassandraBackupStatus ¶
type CassandraBackupStatus struct {
// The current state of the backup
State string `json:"state,omitempty"`
// Errors that occurred during backup process. Errors from all nodes are aggregated here
Errors []BackupError `json:"errors,omitempty"`
// A value from 0 to 100 indicating the progress of the backup as a percentage
Progress int `json:"progress,omitempty"`
}
func (*CassandraBackupStatus) DeepCopy ¶
func (in *CassandraBackupStatus) DeepCopy() *CassandraBackupStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CassandraBackupStatus.
func (*CassandraBackupStatus) DeepCopyInto ¶
func (in *CassandraBackupStatus) DeepCopyInto(out *CassandraBackupStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CassandraCluster ¶
type CassandraCluster struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec CassandraClusterSpec `json:"spec"`
Status CassandraClusterStatus `json:"status,omitempty"`
}
CassandraCluster is the Schema for the cassandraclusters API
func (*CassandraCluster) DeepCopy ¶
func (in *CassandraCluster) DeepCopy() *CassandraCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CassandraCluster.
func (*CassandraCluster) DeepCopyInto ¶
func (in *CassandraCluster) DeepCopyInto(out *CassandraCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CassandraCluster) DeepCopyObject ¶
func (in *CassandraCluster) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*CassandraCluster) SetupWebhookWithManager ¶
func (cc *CassandraCluster) SetupWebhookWithManager(mgr ctrl.Manager) error
func (*CassandraCluster) ValidateCreate ¶
func (cc *CassandraCluster) ValidateCreate(ctx context.Context, obj runtime.Object) (admission.Warnings, error)
ValidateCreate implements webhook.CustomValidator so a webhook will be registered for the type
func (*CassandraCluster) ValidateDelete ¶
func (cc *CassandraCluster) ValidateDelete(ctx context.Context, obj runtime.Object) (admission.Warnings, error)
ValidateDelete implements webhook.CustomValidator so a webhook will be registered for the type
func (*CassandraCluster) ValidateUpdate ¶
func (cc *CassandraCluster) ValidateUpdate(ctx context.Context, oldObj, newObj runtime.Object) (admission.Warnings, error)
ValidateUpdate implements webhook.CustomValidator so a webhook will be registered for the type
type CassandraClusterList ¶
type CassandraClusterList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []CassandraCluster `json:"items"`
}
CassandraClusterList contains a list of CassandraCluster
func (*CassandraClusterList) DeepCopy ¶
func (in *CassandraClusterList) DeepCopy() *CassandraClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CassandraClusterList.
func (*CassandraClusterList) DeepCopyInto ¶
func (in *CassandraClusterList) DeepCopyInto(out *CassandraClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CassandraClusterList) DeepCopyObject ¶
func (in *CassandraClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CassandraClusterSpec ¶
type CassandraClusterSpec struct {
// +kubebuilder:validation:MinItems:=1
DCs []DC `json:"dcs"`
// +kubebuilder:validation:MinLength:=1
ImagePullSecretName string `json:"imagePullSecretName"`
CQLConfigMapLabelKey string `json:"cqlConfigMapLabelKey,omitempty"`
Cassandra *Cassandra `json:"cassandra,omitempty"`
// +kubebuilder:validation:MinLength:=1
AdminRoleSecretName string `json:"adminRoleSecretName"`
RolesSecretName string `json:"rolesSecretName,omitempty"`
TopologySpreadByZone *bool `json:"topologySpreadByZone,omitempty"`
Maintenance []Maintenance `json:"maintenance,omitempty" diff:"maintenance"`
SystemKeyspaces SystemKeyspaces `json:"systemKeyspaces,omitempty"`
Ingress Ingress `json:"ingress,omitempty"`
ExternalRegions ExternalRegions `json:"externalRegions,omitempty"`
Icarus Icarus `json:"icarus,omitempty"`
Prober Prober `json:"prober,omitempty"`
Reaper *Reaper `json:"reaper,omitempty"`
HostPort HostPort `json:"hostPort,omitempty"`
// Authentication is always enabled and by default is set to `internal`. Available options: `internal`, `local_files`.
// +kubebuilder:validation:Enum:=local_files;internal
JMXAuth string `json:"jmxAuth,omitempty"`
Encryption Encryption `json:"encryption,omitempty"`
// (Optional) Network policies for C* cluster
// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Network Policies for C* cluster"
// +optional
NetworkPolicies NetworkPolicies `json:"networkPolicies,omitempty"`
}
CassandraClusterSpec defines the desired state of CassandraCluster
func (*CassandraClusterSpec) DeepCopy ¶
func (in *CassandraClusterSpec) DeepCopy() *CassandraClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CassandraClusterSpec.
func (*CassandraClusterSpec) DeepCopyInto ¶
func (in *CassandraClusterSpec) DeepCopyInto(out *CassandraClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CassandraClusterStatus ¶
type CassandraClusterStatus struct {
MaintenanceState []Maintenance `json:"maintenanceState,omitempty"`
Ready bool `json:"ready,omitempty"`
}
CassandraClusterStatus defines the observed state of CassandraCluster
func (*CassandraClusterStatus) DeepCopy ¶
func (in *CassandraClusterStatus) DeepCopy() *CassandraClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CassandraClusterStatus.
func (*CassandraClusterStatus) DeepCopyInto ¶
func (in *CassandraClusterStatus) DeepCopyInto(out *CassandraClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CassandraRestore ¶
type CassandraRestore struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec CassandraRestoreSpec `json:"spec"`
Status CassandraRestoreStatus `json:"status,omitempty"`
}
CassandraRestore is the Schema for the CassandraRestores API
func (*CassandraRestore) DeepCopy ¶
func (in *CassandraRestore) DeepCopy() *CassandraRestore
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CassandraRestore.
func (*CassandraRestore) DeepCopyInto ¶
func (in *CassandraRestore) DeepCopyInto(out *CassandraRestore)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CassandraRestore) DeepCopyObject ¶
func (in *CassandraRestore) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*CassandraRestore) SetupWebhookWithManager ¶
func (cr *CassandraRestore) SetupWebhookWithManager(mgr ctrl.Manager) error
func (*CassandraRestore) StorageProvider ¶
func (in *CassandraRestore) StorageProvider() StorageProvider
func (*CassandraRestore) ValidateCreate ¶
func (cr *CassandraRestore) ValidateCreate(ctx context.Context, obj runtime.Object) (admission.Warnings, error)
ValidateCreate implements webhook.CustomValidator so a webhook will be registered for the type
func (*CassandraRestore) ValidateDelete ¶
func (cr *CassandraRestore) ValidateDelete(ctx context.Context, obj runtime.Object) (admission.Warnings, error)
ValidateDelete implements webhook.CustomValidator so a webhook will be registered for the type
func (*CassandraRestore) ValidateUpdate ¶
func (cr *CassandraRestore) ValidateUpdate(ctx context.Context, oldObj, newObj runtime.Object) (admission.Warnings, error)
ValidateUpdate implements webhook.CustomValidator so a webhook will be registered for the type
type CassandraRestoreList ¶
type CassandraRestoreList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []CassandraRestore `json:"items"`
}
CassandraRestoreList contains a list of CassandraRestore
func (*CassandraRestoreList) DeepCopy ¶
func (in *CassandraRestoreList) DeepCopy() *CassandraRestoreList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CassandraRestoreList.
func (*CassandraRestoreList) DeepCopyInto ¶
func (in *CassandraRestoreList) DeepCopyInto(out *CassandraRestoreList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CassandraRestoreList) DeepCopyObject ¶
func (in *CassandraRestoreList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CassandraRestoreSpec ¶
type CassandraRestoreSpec struct {
CassandraCluster string `json:"cassandraCluster"`
CassandraBackup string `json:"cassandraBackup,omitempty"`
// example: gcp://myBucket
// location of SSTables
// A value of the storageLocation property has to have exact format which is 'protocol://bucket-name
// protocol is either 'gcp', 's3', 'azure', 'minio', 'ceph' or 'oracle'.
// If empty, the value is retrieved from the CassandraBackup spec
StorageLocation string `json:"storageLocation,omitempty"`
// Name of the snapshot tag to restore. Can be used to manually set the snapshot tag. Retrieved from CassandraBackup if not specified
SnapshotTag string `json:"snapshotTag,omitempty"`
// Name of the secret from which credentials used for the communication to cloud storage providers are read.
// The secret from the backup spec is used when empty
SecretName string `json:"secretName,omitempty"`
// number of threads used for download, there might be at most so many downloading threads at any given time,
// when not set, it defaults to 10
// +kubebuilder:validation:Minimum=1
ConcurrentConnections int64 `json:"concurrentConnections,omitempty"`
// Name of datacenter(s) against which restore will be done. It means that nodes in a different DC will not receive restore requests.
// Multiple dcs are separated by comma
DC string `json:"dc,omitempty"`
// database entities to backup, it might be either only keyspaces or only tables (from different keyspaces if needed),
// e.g. 'k1,k2' if one wants to backup whole keyspaces and 'ks1.t1,ks2,t2' if one wants to backup tables.
// These formats can not be used together so 'k1,k2.t2' is invalid. If this field is empty, all keyspaces are backed up.
Entities string `json:"entities,omitempty"`
// flag saying if we should not delete truncated SSTables after they are imported, as part of CLEANUP phase, defaults to false
NoDeleteTruncates bool `json:"noDeleteTruncates,omitempty"`
// flag saying if we should not delete downloaded SSTables from remote location, as part of CLEANUP phase, defaults to false
NoDeleteDownloads bool `json:"noDeleteDownloads,omitempty"`
// flag saying if we should not download data from remote location as we expect them to be there already, defaults to false,
// setting this to true has sense only in case noDeleteDownloads was set to true in previous restoration requests
NoDownloadData bool `json:"noDownloadData,omitempty"`
// object used upon restoration,
// keyspace and table fields do not need to be set when restoration strategy type is IMPORT or HARDLINKS as this object will be initialised for each entities entry with right keyspace and table.
// 'sourceDir' property is used for pointing to a directory where we expect to find downloaded SSTables.
// This in turn means that all SSTables and other meta files will be downloaded into this directory (from which they will be fed to CFSMB).
// All other fields are taken from ColumnFamilyStoreMBean#importNewSSTables
Import RestoreImport `json:"import,omitempty"`
// number of hours to wait until restore is considered failed if not finished already
// +kubebuilder:validation:Minimum=1
Timeout int64 `json:"timeout,omitempty"`
// if set to true, host id of node to restore will be resolved from remote topology file located in a bucket by translating it from provided nodeId of storageLocation field
ResolveHostIdFromTopology bool `json:"resolveHostIdFromTopology,omitempty"`
// Relevant during upload to S3-like bucket only. If true, communication is done via HTTP instead of HTTPS. Defaults to false.
Insecure bool `json:"insecure,omitempty"`
// Do not check the existence of a bucket.
// Some storage providers (e.g. S3) requires a special permissions to be able to list buckets or query their existence which might not be allowed.
// This flag will skip that check. Keep in mind that if that bucket does not exist, the whole backup operation will fail.
SkipBucketVerification bool `json:"skipBucketVerification,omitempty"`
Retry Retry `json:"retry,omitempty"`
// Map of key and values where keys and values are in format "keyspace.table", if key is "ks1.tb1" and value is "ks1.tb2",
// it means that upon restore, table ks1.tb1 will be restored into table ks1.tb2.
// This in practice means that table ks1.tb2 will be truncated and populated with data from ks1.tb1.
// The source table, ks1.tb1, will not be touched. It is expected that user knows that schema of both tables is compatible.
// There is not any check done in this regard.
Rename map[string]string `json:"rename,omitempty"`
// version of schema we want to restore from.
// Upon backup, a schema version is automatically appended to snapshot name and its manifest is uploaded under that name (plus timestamp at the end).
// In case we have two snapshots having same name, we might distinguish between them by this schema version.
// If schema version is not specified, we expect that there will be one and only one backup taken with respective snapshot name.
// This schema version has to match the version of a Cassandra nodes.
SchemaVersion string `json:"schemaVersion,omitempty"`
// flag saying if we indeed want a schema version of a running node match with schema version a snapshot is taken on.
// There might be cases when we want to restore a table for which its CQL schema has not changed,
// but it has changed for other table / keyspace but a schema for that node has changed by doing that.
ExactSchemaVersion bool `json:"exactSchemaVersion,omitempty"`
}
func (*CassandraRestoreSpec) DeepCopy ¶
func (in *CassandraRestoreSpec) DeepCopy() *CassandraRestoreSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CassandraRestoreSpec.
func (*CassandraRestoreSpec) DeepCopyInto ¶
func (in *CassandraRestoreSpec) DeepCopyInto(out *CassandraRestoreSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CassandraRestoreStatus ¶
type CassandraRestoreStatus struct {
State string `json:"state,omitempty"`
Progress int `json:"progress,omitempty"`
Errors []RestoreError `json:"errors,omitempty"`
}
func (*CassandraRestoreStatus) DeepCopy ¶
func (in *CassandraRestoreStatus) DeepCopy() *CassandraRestoreStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CassandraRestoreStatus.
func (*CassandraRestoreStatus) DeepCopyInto ¶
func (in *CassandraRestoreStatus) DeepCopyInto(out *CassandraRestoreStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClientEncryption ¶
type ClientEncryption struct {
// ClientEncryption enables encryption between client and server via CQL and JXM protocols.
Enabled bool `json:"enabled,omitempty"`
// If enabled and optional is set to true both encrypted and unencrypted connections are handled.
Optional bool `json:"optional,omitempty"`
CATLSSecret CATLSSecret `json:"caTLSSecret,omitempty"`
NodeTLSSecret NodeTLSSecret `json:"nodeTLSSecret,omitempty"`
RequireClientAuth *bool `json:"requireClientAuth,omitempty"`
Protocol string `json:"protocol,omitempty"`
Algorithm string `json:"algorithm,omitempty"`
StoreType string `json:"storeType,omitempty"`
CipherSuites []string `json:"cipherSuites,omitempty"`
}
ClientEncryption defines encryption between Cassandra nodes and clients via CQL and JMX protocols for tools like reaper, cqlsh, nodetool and others.
func (*ClientEncryption) DeepCopy ¶
func (in *ClientEncryption) DeepCopy() *ClientEncryption
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientEncryption.
func (*ClientEncryption) DeepCopyInto ¶
func (in *ClientEncryption) DeepCopyInto(out *ClientEncryption)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DC ¶
type DC struct {
// +kubebuilder:validation:MinLength:=1
// +kubebuilder:validation:MaxLength:=63
// +kubebuilder:validation:Pattern:=^[a-z0-9][a-z0-9\-]*$
Name string `json:"name"`
// +kubebuilder:validation:Minimum:=0
Replicas *int32 `json:"replicas"`
Affinity *v1.Affinity `json:"affinity,omitempty"`
Tolerations []v1.Toleration `json:"tolerations,omitempty"`
}
func (*DC) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DC.
func (*DC) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DataRate ¶
type DataRate struct {
// +kubebuilder:validation:Minimum=1
Value int64 `json:"value"`
// +kubebuilder:validation:Enum=BPS;KBPS;MBPS;GBPS
Unit string `json:"unit"`
}
func (*DataRate) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataRate.
func (*DataRate) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Encryption ¶
type Encryption struct {
Server ServerEncryption `json:"server,omitempty"`
Client ClientEncryption `json:"client,omitempty"`
}
func (*Encryption) DeepCopy ¶
func (in *Encryption) DeepCopy() *Encryption
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Encryption.
func (*Encryption) DeepCopyInto ¶
func (in *Encryption) DeepCopyInto(out *Encryption)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExternalRegions ¶
type ExternalRegions struct {
Managed []ManagedRegion `json:"managed,omitempty"`
Unmanaged []UnmanagedRegion `json:"unmanaged,omitempty"`
}
func (*ExternalRegions) DeepCopy ¶
func (in *ExternalRegions) DeepCopy() *ExternalRegions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalRegions.
func (*ExternalRegions) DeepCopyInto ¶
func (in *ExternalRegions) DeepCopyInto(out *ExternalRegions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HostPort ¶
type HostPort struct {
Enabled bool `json:"enabled,omitempty"`
UseExternalHostIP bool `json:"useExternalHostIP,omitempty"`
Ports []string `json:"ports,omitempty"`
}
func (*HostPort) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostPort.
func (*HostPort) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Icarus ¶
type Icarus struct {
Image string `json:"image,omitempty"`
// +kubebuilder:validation:Enum=Always;Never;IfNotPresent
ImagePullPolicy v1.PullPolicy `json:"imagePullPolicy,omitempty"`
Resources v1.ResourceRequirements `json:"resources,omitempty"`
}
func (*Icarus) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Icarus.
func (*Icarus) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Ingress ¶
type Ingress struct {
Domain string `json:"domain,omitempty"`
Secret string `json:"secret,omitempty"`
Annotations map[string]string `json:"annotations,omitempty"`
IngressClassName *string `json:"ingressClassName,omitempty"`
}
func (*Ingress) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Ingress.
func (*Ingress) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Jolokia ¶
type Jolokia struct {
Image string `json:"image,omitempty"`
// +kubebuilder:validation:Enum=Always;Never;IfNotPresent
ImagePullPolicy v1.PullPolicy `json:"imagePullPolicy,omitempty"`
Resources v1.ResourceRequirements `json:"resources,omitempty"`
}
func (*Jolokia) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Jolokia.
func (*Jolokia) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KeyspaceName ¶
type KeyspaceName string
KeyspaceName is the name of a Cassandra keyspace +kubebuilder:validation:MinLength:=1 +kubebuilder:validation:MaxLength:=48 +kubebuilder:validation:Pattern:=^[a-zA-Z]\w+$
type Maintenance ¶
type Maintenance struct {
// Maintenance object temporarily disables C* pods for debugging purposes.
// +kubebuilder:validation:MinLength:=1
// +kubebuilder:validation:MaxLength:=63
// +kubebuilder:validation:Pattern:=^[a-z0-9][a-z0-9\-]*$
DC string `json:"dc"`
Pods []PodName `json:"pods,omitempty"`
}
func (*Maintenance) DeepCopy ¶
func (in *Maintenance) DeepCopy() *Maintenance
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Maintenance.
func (*Maintenance) DeepCopyInto ¶
func (in *Maintenance) DeepCopyInto(out *Maintenance)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ManagedRegion ¶
type ManagedRegion struct {
Domain string `json:"domain"`
Namespace string `json:"namespace,omitempty"`
}
func (*ManagedRegion) DeepCopy ¶
func (in *ManagedRegion) DeepCopy() *ManagedRegion
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedRegion.
func (*ManagedRegion) DeepCopyInto ¶
func (in *ManagedRegion) DeepCopyInto(out *ManagedRegion)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Monitoring ¶
type Monitoring struct {
Enabled bool `json:"enabled,omitempty"`
// +kubebuilder:validation:Enum=instaclustr;datastax;tlp
Agent string `json:"agent,omitempty"`
ServiceMonitor ServiceMonitor `json:"serviceMonitor,omitempty"`
}
func (*Monitoring) DeepCopy ¶
func (in *Monitoring) DeepCopy() *Monitoring
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Monitoring.
func (*Monitoring) DeepCopyInto ¶
func (in *Monitoring) DeepCopyInto(out *Monitoring)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkPolicies ¶
type NetworkPolicies struct {
Enabled bool `json:"enabled,omitempty"`
AllowReaperNodeIPs *bool `json:"allowReaperNodeIPs,omitempty"`
ExtraIngressRules []NetworkPolicyRule `json:"extraIngressRules,omitempty"`
ExtraPrometheusRules []NetworkPolicyRule `json:"extraPrometheusRules,omitempty"`
ExtraCassandraRules []NetworkPolicyRule `json:"extraCassandraRules,omitempty"`
ExtraCassandraIPs []string `json:"extraCassandraIPs,omitempty"`
}
NetworkPolicies enables network policies for C* cluster
func (*NetworkPolicies) DeepCopy ¶
func (in *NetworkPolicies) DeepCopy() *NetworkPolicies
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkPolicies.
func (*NetworkPolicies) DeepCopyInto ¶
func (in *NetworkPolicies) DeepCopyInto(out *NetworkPolicies)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkPolicyRule ¶
type NetworkPolicyRule struct {
PodSelector *metav1.LabelSelector `json:"podSelector,omitempty"`
NamespaceSelector *metav1.LabelSelector `json:"namespaceSelector,omitempty"`
Ports []int32 `json:"ports,omitempty"`
}
func (*NetworkPolicyRule) DeepCopy ¶
func (in *NetworkPolicyRule) DeepCopy() *NetworkPolicyRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkPolicyRule.
func (*NetworkPolicyRule) DeepCopyInto ¶
func (in *NetworkPolicyRule) DeepCopyInto(out *NetworkPolicyRule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodeTLSSecret ¶
type NodeTLSSecret struct {
Name string `json:"name"`
FileKey string `json:"fileKey,omitempty"`
CrtFileKey string `json:"crtFileKey,omitempty"`
CACrtFileKey string `json:"caFileKey,omitempty"`
KeystoreFileKey string `json:"keystoreFileKey,omitempty"`
KeystorePasswordKey string `json:"keystorePasswordKey,omitempty"`
TruststoreFileKey string `json:"truststoreFileKey,omitempty"`
TruststorePasswordKey string `json:"truststorePasswordKey,omitempty"`
GenerateKeystorePassword string `json:"generateKeystorePassword,omitempty"`
}
func (*NodeTLSSecret) DeepCopy ¶
func (in *NodeTLSSecret) DeepCopy() *NodeTLSSecret
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeTLSSecret.
func (*NodeTLSSecret) DeepCopyInto ¶
func (in *NodeTLSSecret) DeepCopyInto(out *NodeTLSSecret)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Persistence ¶
type Persistence struct {
Enabled bool `json:"enabled,omitempty"`
CommitLogVolume bool `json:"commitLogVolume,omitempty"`
Labels map[string]string `json:"labels,omitempty"`
Annotations map[string]string `json:"annotation,omitempty"`
DataVolumeClaimSpec v1.PersistentVolumeClaimSpec `json:"dataVolumeClaimSpec,omitempty"`
CommitLogVolumeClaimSpec v1.PersistentVolumeClaimSpec `json:"commitLogVolumeClaimSpec,omitempty"`
}
func (*Persistence) DeepCopy ¶
func (in *Persistence) DeepCopy() *Persistence
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Persistence.
func (*Persistence) DeepCopyInto ¶
func (in *Persistence) DeepCopyInto(out *Persistence)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodName ¶
type PodName string
PodName is the name of a Pod. Used to define CRD validation +kubebuilder:validation:MinLength:=1 +kubebuilder:validation:MaxLength:=253 +kubebuilder:validation:Pattern:=^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
type Prober ¶
type Prober struct {
Image string `json:"image,omitempty"`
// +kubebuilder:validation:Enum=Always;Never;IfNotPresent
ImagePullPolicy v1.PullPolicy `json:"imagePullPolicy,omitempty"`
Resources v1.ResourceRequirements `json:"resources,omitempty"`
// +kubebuilder:validation:Enum:=info;debug;trace
LogLevel string `json:"logLevel,omitempty"`
// +kubebuilder:validation:Enum:=console;json
LogFormat string `json:"logFormat,omitempty"`
Jolokia Jolokia `json:"jolokia,omitempty"`
ServiceMonitor ServiceMonitor `json:"serviceMonitor,omitempty"`
Tolerations []v1.Toleration `json:"tolerations,omitempty"`
NodeSelector map[string]string `json:"nodeSelector,omitempty"`
Affinity *v1.Affinity `json:"affinity,omitempty"`
}
func (*Prober) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Prober.
func (*Prober) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Reaper ¶
type Reaper struct {
Image string `json:"image,omitempty"`
// +kubebuilder:validation:Enum=Always;Never;IfNotPresent
ImagePullPolicy v1.PullPolicy `json:"imagePullPolicy,omitempty"`
// +kubebuilder:validation:MinLength=1
Keyspace string `json:"keyspace,omitempty"`
Tolerations []v1.Toleration `json:"tolerations,omitempty"`
NodeSelector map[string]string `json:"nodeSelector,omitempty"`
// +kubebuilder:validation:Minimum=1
HangingRepairTimeoutMins int32 `json:"hangingRepairTimeoutMins,omitempty"`
IncrementalRepair bool `json:"incrementalRepair,omitempty"`
RepairIntensity string `json:"repairIntensity,omitempty"` // value between 0.0 and 1.0, but must never be 0.0.
RepairManagerSchedulingIntervalSeconds int32 `json:"repairManagerSchedulingIntervalSeconds,omitempty"`
BlacklistTWCS bool `json:"blacklistTWCS,omitempty"`
Resources v1.ResourceRequirements `json:"resources,omitempty"`
ServiceMonitor ServiceMonitor `json:"serviceMonitor,omitempty"`
RepairSchedules RepairSchedules `json:"repairSchedules,omitempty"`
AutoScheduling AutoScheduling `json:"autoScheduling,omitempty"`
// +kubebuilder:validation:Enum=DATACENTER_AWARE;SEQUENTIAL;PARALLEL
RepairParallelism string `json:"repairParallelism,omitempty"`
// +kubebuilder:validation:Minimum=1
RepairRunThreads int32 `json:"repairRunThreads,omitempty"`
// +kubebuilder:validation:Minimum=1
// +kubebuilder:validation:Maximum=4
RepairThreadCount int32 `json:"repairThreadCount,omitempty"`
// +kubebuilder:validation:Minimum=1
SegmentCountPerNode int32 `json:"segmentCountPerNode,omitempty"`
// +kubebuilder:validation:Minimum=1
MaxParallelRepairs int32 `json:"maxParallelRepairs,omitempty"`
}
func (*Reaper) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Reaper.
func (*Reaper) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RepairSchedule ¶
type RepairSchedule struct {
Keyspace string `json:"keyspace" url:"keyspace"`
Tables []string `json:"tables,omitempty" url:"tables,comma,omitempty"`
SegmentCountPerNode int32 `json:"segmentCountPerNode,omitempty" url:"segmentCountPerNode,omitempty"`
// +kubebuilder:validation:Enum:=SEQUENTIAL;PARALLEL;DATACENTER_AWARE
RepairParallelism string `json:"repairParallelism,omitempty" url:"repairParallelism,omitempty"`
Intensity string `json:"intensity,omitempty" url:"intensity,omitempty"` // value between 0.0 and 1.0, but must never be 0.0.
IncrementalRepair bool `json:"incrementalRepair,omitempty" url:"incrementalRepair,omitempty"`
ScheduleDaysBetween int32 `json:"scheduleDaysBetween,omitempty" url:"scheduleDaysBetween"`
ScheduleTriggerTime string `json:"scheduleTriggerTime,omitempty" url:"scheduleTriggerTime,omitempty"`
Nodes []string `json:"nodes,omitempty" url:"nodes,comma,omitempty"`
Datacenters []string `json:"datacenters,omitempty" url:"datacenters,comma,omitempty"`
BlacklistedTables []string `json:"blacklistedTables,omitempty" url:"blacklistedTables,comma,omitempty"`
// +kubebuilder:validation:Minimum:=1
// +kubebuilder:validation:Maximum:=4
RepairThreadCount int32 `json:"repairThreadCount,omitempty" url:"repairThreadCount,omitempty"`
}
func (*RepairSchedule) DeepCopy ¶
func (in *RepairSchedule) DeepCopy() *RepairSchedule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepairSchedule.
func (*RepairSchedule) DeepCopyInto ¶
func (in *RepairSchedule) DeepCopyInto(out *RepairSchedule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RepairSchedules ¶
type RepairSchedules struct {
Enabled bool `json:"enabled,omitempty"`
Repairs []RepairSchedule `json:"repairs,omitempty"`
}
func (*RepairSchedules) DeepCopy ¶
func (in *RepairSchedules) DeepCopy() *RepairSchedules
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepairSchedules.
func (*RepairSchedules) DeepCopyInto ¶
func (in *RepairSchedules) DeepCopyInto(out *RepairSchedules)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RestoreError ¶
type RestoreError struct {
Source string `json:"source,omitempty"`
Message string `json:"message,omitempty"`
}
func (*RestoreError) DeepCopy ¶
func (in *RestoreError) DeepCopy() *RestoreError
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RestoreError.
func (*RestoreError) DeepCopyInto ¶
func (in *RestoreError) DeepCopyInto(out *RestoreError)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RestoreImport ¶
type RestoreImport struct {
KeepLevel bool `json:"keepLevel,omitempty"`
NoVerify bool `json:"noVerify,omitempty"`
NoVerifyTokens bool `json:"noVerifyTokens,omitempty"`
NoInvalidateCaches bool `json:"noInvalidateCaches,omitempty"`
Quick bool `json:"quick,omitempty"`
ExtendedVerify bool `json:"extendedVerify,omitempty"`
KeepRepaired bool `json:"keepRepaired,omitempty"`
}
func (*RestoreImport) DeepCopy ¶
func (in *RestoreImport) DeepCopy() *RestoreImport
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RestoreImport.
func (*RestoreImport) DeepCopyInto ¶
func (in *RestoreImport) DeepCopyInto(out *RestoreImport)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Retry ¶
type Retry struct {
// Defaults to false if not specified. If false, retry mechanism on upload / download operations in case they fail will not be used.
Enabled bool `json:"enabled,omitempty"`
// Time gap between retries, linear strategy will have always this gap constant, exponential strategy will make the gap bigger exponentially (power of 2) on each attempt
// +kubebuilder:validation:Minimum=1
Interval int64 `json:"interval,omitempty"`
// Strategy how retry should be driven, might be either 'LINEAR' or 'EXPONENTIAL'
// +kubebuilder:validation:Enum=LINEAR;EXPONENTIAL
Strategy string `json:"strategy,omitempty"`
// Number of repetitions of an upload / download operation in case it fails before giving up completely.
// +kubebuilder:validation:Minimum=1
MaxAttempts int64 `json:"maxAttempts,omitempty"`
}
func (*Retry) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Retry.
func (*Retry) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServerEncryption ¶
type ServerEncryption struct {
// InternodeEncryption enables server encryption and by default is set to `none`. Available options: `none`, `rack`, `dc`, `all`.
// +kubebuilder:validation:Enum:=none;rack;dc;all
InternodeEncryption string `json:"internodeEncryption,omitempty"`
CATLSSecret CATLSSecret `json:"caTLSSecret,omitempty"`
NodeTLSSecret NodeTLSSecret `json:"nodeTLSSecret,omitempty"`
RequireEndpointVerification bool `json:"requireEndpointVerification,omitempty"`
RequireClientAuth *bool `json:"requireClientAuth,omitempty"`
Protocol string `json:"protocol,omitempty"`
Algorithm string `json:"algorithm,omitempty"`
StoreType string `json:"storeType,omitempty"`
CipherSuites []string `json:"cipherSuites,omitempty"`
}
ServerEncryption defines encryption between Cassandra nodes
func (*ServerEncryption) DeepCopy ¶
func (in *ServerEncryption) DeepCopy() *ServerEncryption
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerEncryption.
func (*ServerEncryption) DeepCopyInto ¶
func (in *ServerEncryption) DeepCopyInto(out *ServerEncryption)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceMonitor ¶
type ServiceMonitor struct {
Enabled bool `json:"enabled"`
Namespace string `json:"namespace,omitempty"`
Labels map[string]string `json:"labels,omitempty"`
ScrapeInterval string `json:"scrapeInterval,omitempty"`
}
func (*ServiceMonitor) DeepCopy ¶
func (in *ServiceMonitor) DeepCopy() *ServiceMonitor
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceMonitor.
func (*ServiceMonitor) DeepCopyInto ¶
func (in *ServiceMonitor) DeepCopyInto(out *ServiceMonitor)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StorageProvider ¶
type StorageProvider string
const ( StorageProviderS3 StorageProvider = "s3" StorageProviderGCP StorageProvider = "gcp" StorageProviderAzure StorageProvider = "azure" StorageProviderMinio StorageProvider = "minio" StorageProviderCeph StorageProvider = "ceph" StorageProviderOracle StorageProvider = "oracle" )
type SystemKeyspaceDC ¶
type SystemKeyspaceDC struct {
// +kubebuilder:validation:MinLength:=1
// +kubebuilder:validation:MaxLength:=63
// +kubebuilder:validation:Pattern:=^[a-z0-9][a-z0-9\-]*$
Name string `json:"name"`
// +kubebuilder:validation:Minimum:=1
RF int32 `json:"rf"`
}
func (*SystemKeyspaceDC) DeepCopy ¶
func (in *SystemKeyspaceDC) DeepCopy() *SystemKeyspaceDC
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SystemKeyspaceDC.
func (*SystemKeyspaceDC) DeepCopyInto ¶
func (in *SystemKeyspaceDC) DeepCopyInto(out *SystemKeyspaceDC)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SystemKeyspaces ¶
type SystemKeyspaces struct {
Keyspaces []KeyspaceName `json:"keyspaces,omitempty"`
DCs []SystemKeyspaceDC `json:"dcs,omitempty"`
}
func (*SystemKeyspaces) DeepCopy ¶
func (in *SystemKeyspaces) DeepCopy() *SystemKeyspaces
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SystemKeyspaces.
func (*SystemKeyspaces) DeepCopyInto ¶
func (in *SystemKeyspaces) DeepCopyInto(out *SystemKeyspaces)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UnmanagedRegion ¶
type UnmanagedRegion struct {
Seeds []string `json:"seeds"`
DCs []SystemKeyspaceDC `json:"dcs"`
}
func (*UnmanagedRegion) DeepCopy ¶
func (in *UnmanagedRegion) DeepCopy() *UnmanagedRegion
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UnmanagedRegion.
func (*UnmanagedRegion) DeepCopyInto ¶
func (in *UnmanagedRegion) DeepCopyInto(out *UnmanagedRegion)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.