Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the k8ssandra.io v1alpha1 API group +kubebuilder:object:generate=true +groupName=k8ssandra.io
Index ¶
- Constants
- Variables
- type AuditLogOptions
- type CassandraClusterTemplate
- type CassandraConfig
- type CassandraDatacenterTemplate
- type DatacenterOptions
- type DecommissionProgress
- type EmbeddedObjectMeta
- type FullQueryLoggerOptions
- type JvmOptions
- type K8ssandraCluster
- func (in *K8ssandraCluster) CassClusterName() string
- func (in *K8ssandraCluster) DeepCopy() *K8ssandraCluster
- func (in *K8ssandraCluster) DeepCopyInto(out *K8ssandraCluster)
- func (in *K8ssandraCluster) DeepCopyObject() runtime.Object
- func (r *K8ssandraCluster) Default()
- func (in *K8ssandraCluster) GetInitializedDatacenters() []CassandraDatacenterTemplate
- func (in *K8ssandraCluster) HasStargates() bool
- func (in *K8ssandraCluster) HasStoppedDatacenters() bool
- func (in *K8ssandraCluster) SanitizedName() string
- func (r *K8ssandraCluster) SetupWebhookWithManager(mgr ctrl.Manager, cCache *clientcache.ClientCache) error
- func (r *K8ssandraCluster) ValidateCreate() error
- func (r *K8ssandraCluster) ValidateDelete() error
- func (r *K8ssandraCluster) ValidateUpdate(old runtime.Object) error
- type K8ssandraClusterCondition
- type K8ssandraClusterConditionType
- type K8ssandraClusterList
- type K8ssandraClusterSpec
- type K8ssandraClusterStatus
- func (in *K8ssandraClusterStatus) DeepCopy() *K8ssandraClusterStatus
- func (in *K8ssandraClusterStatus) DeepCopyInto(out *K8ssandraClusterStatus)
- func (s *K8ssandraClusterStatus) GetConditionStatus(conditionType K8ssandraClusterConditionType) corev1.ConditionStatus
- func (s *K8ssandraClusterStatus) SetCondition(condition K8ssandraClusterCondition)
- type K8ssandraStatus
- type K8ssandraVolumes
- type NetworkingConfig
- type ParameterizedClass
- type ReplicaFilteringProtectionOptions
- type RequestSchedulerOptions
- type ServerDistribution
- type SubnetGroups
- type TrackWarnings
Constants ¶
const ( ResourceHashAnnotation = "k8ssandra.io/resource-hash" // PerNodeConfigHashAnnotation is the annotation used to store the hash of the per-node // ConfigMap into the PodTemplateSpec of the CassandraDatacenter resource. By storing the // ConfigMap hash, the PodTemplateSpec changes when the ConfigMap changes, thus allowing the // changes to the ConfigMap to be properly detected and applied. PerNodeConfigHashAnnotation = "k8ssandra.io/per-node-config-hash" // InitialSystemReplicationAnnotation provides the initial replication of system keyspaces // (system_auth, system_distributed, system_traces) encoded as JSON. This annotation // is set on a K8ssandraCluster when it is first created. The value does not change // regardless of whether the replication of the system keyspaces changes. InitialSystemReplicationAnnotation = "k8ssandra.io/initial-system-replication" // DcReplicationAnnotation tells the operator the replication settings to apply to user // keyspaces when adding a DC to an existing cluster. The value should be serialized // JSON, e.g., {"dc2": {"ks1": 3, "ks2": 3}}. All user keyspaces must be specified; // otherwise, reconciliation will fail with a validation error. If you do not want to // replicate a particular keyspace, specify a value of 0. Replication settings can be // specified for multiple DCs; however, existing DCs won't be modified, and only the DC // currently being added will be updated. Specifying multiple DCs can be useful though // if you add multiple DCs to the cluster at once (Note that the CassandraDatacenters // are still deployed serially). DcReplicationAnnotation = "k8ssandra.io/dc-replication" // RebuildSourceDcAnnotation tells the operation the DC from which to stream when // rebuilding a DC. If not set the operator will choose the first DC. The value for // this annotation must specify the name of a CassandraDatacenter whose Ready // condition is true. RebuildSourceDcAnnotation = "k8ssandra.io/rebuild-src-dc" RebuildDcAnnotation = "k8ssandra.io/rebuild-dc" RebuildLabel = "k8ssandra.io/rebuild" NameLabel = "app.kubernetes.io/name" NameLabelValue = "k8ssandra-operator" InstanceLabel = "app.kubernetes.io/instance" VersionLabel = "app.kubernetes.io/version" ManagedByLabel = "app.kubernetes.io/managed-by" ComponentLabel = "app.kubernetes.io/component" ComponentLabelValueCassandra = "cassandra" ComponentLabelValueStargate = "stargate" ComponentLabelValueReaper = "reaper" ComponentLabelTelemetry = "telemetry" CreatedByLabel = "app.kubernetes.io/created-by" CreatedByLabelValueK8ssandraClusterController = "k8ssandracluster-controller" CreatedByLabelValueStargateController = "stargate-controller" CreatedByLabelValueReaperController = "reaper-controller" CreatedByLabelValueK8ssandraTaskController = "k8ssandratask-controller" PartOfLabel = "app.kubernetes.io/part-of" PartOfLabelValue = "k8ssandra" // ReplicatedByLabel is used to label secrets that should be selected for replication by a ReplicatedSecret. ReplicatedByLabel = "k8ssandra.io/replicated-by" ReplicatedByLabelValue = "k8ssandracluster-controller" K8ssandraClusterNameLabel = "k8ssandra.io/cluster-name" K8ssandraClusterNamespaceLabel = "k8ssandra.io/cluster-namespace" DatacenterLabel = "k8ssandra.io/datacenter" )
const ( ServerDistributionCassandra = ServerDistribution("cassandra") ServerDistributionDse = ServerDistribution("dse") )
Variables ¶
var ( SystemKeyspaces = []string{"system_traces", "system_distributed", "system_auth"} DseKeyspaces = []string{"dse_leases", "dse_perf", "dse_security"} )
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "k8ssandra.io", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
var ( ErrNumTokens = fmt.Errorf("num_tokens value can't be changed") ErrReaperKeyspace = fmt.Errorf("reaper keyspace can not be changed") ErrNoStorageConfig = fmt.Errorf("storageConfig must be defined at cluster level or dc level") ErrNoResourcesSet = fmt.Errorf("softPodAntiAffinity requires Resources to be set") ErrClusterName = fmt.Errorf("cluster name can not be changed") )
Functions ¶
This section is empty.
Types ¶
type AuditLogOptions ¶
type AuditLogOptions struct { Enabled bool `json:"enabled" cass-config:"enabled;retainzero"` Logger *ParameterizedClass `json:"logger,omitempty" cass-config:"logger;recurse"` IncludedKeyspaces *string `json:"included_keyspaces,omitempty" cass-config:"included_keyspaces"` ExcludedKeyspaces *string `json:"excluded_keyspaces,omitempty" cass-config:"excluded_keyspaces"` IncludedCategories *string `json:"included_categories,omitempty" cass-config:"included_categories"` ExcludedCategories *string `json:"excluded_categories,omitempty" cass-config:"excluded_categories"` IncludedUsers *string `json:"included_users,omitempty" cass-config:"included_users"` ExcludedUsers *string `json:"excluded_users,omitempty" cass-config:"excluded_users"` RollCycle *string `json:"roll_cycle,omitempty" cass-config:"roll_cycle"` Block *bool `json:"block,omitempty" cass-config:"block"` MaxQueueWeight *int `json:"max_queue_weight,omitempty" cass-config:"max_queue_weight"` MaxLogSize *int `json:"max_log_size,omitempty" cass-config:"max_log_size"` ArchiveCommand *string `json:"archive_command,omitempty" cass-config:"archive_command"` MaxArchiveRetries *int `json:"max_archive_retries,omitempty" cass-config:"max_archive_retries"` }
func (*AuditLogOptions) DeepCopy ¶
func (in *AuditLogOptions) DeepCopy() *AuditLogOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuditLogOptions.
func (*AuditLogOptions) DeepCopyInto ¶
func (in *AuditLogOptions) DeepCopyInto(out *AuditLogOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CassandraClusterTemplate ¶
type CassandraClusterTemplate struct { DatacenterOptions `json:",inline"` Meta meta.CassandraClusterMeta `json:"metadata,omitempty"` // The reference to the superuser secret to use for Cassandra. If unspecified, a default secret will be generated // with a random password; the generated secret name will be "<cluster_name>-superuser" where <cluster_name> is the // K8ssandraCluster CRD name. // +optional SuperuserSecretRef corev1.LocalObjectReference `json:"superuserSecretRef,omitempty"` // Datacenters a list of the DCs in the cluster. // +optional Datacenters []CassandraDatacenterTemplate `json:"datacenters,omitempty"` // AdditionalSeeds specifies Cassandra node IPs for an existing datacenter. This is // primarily intended for migrations from an existing Cassandra cluster that is not // managed by k8ssandra-operator. Note that this property should NOT be used to set // seeds for a DC that is or will be managed by k8ssandra-operator. k8ssandra-operator // already manages seeds for DCs that it manages. If you have DNS set up such that you // can resolve hostnames for the remote Cassandra cluster, then you can specify hostnames // here; otherwise, use IP addresses. AdditionalSeeds []string `json:"additionalSeeds,omitempty"` // Internode encryption stores which are used by Cassandra and Stargate. // +optional ServerEncryptionStores *encryption.Stores `json:"serverEncryptionStores,omitempty"` // Client encryption stores which are used by Cassandra and Reaper. // +optional ClientEncryptionStores *encryption.Stores `json:"clientEncryptionStores,omitempty"` // Override the Cassandra cluster name. If unspecified, the cluster name will be the same as the K8ssandraCluster // CRD name. // +optional ClusterName string `json:"clusterName,omitempty"` // Server type: "cassandra" or "dse". // +kubebuilder:validation:Enum=cassandra;dse // +kubebuilder:default=cassandra ServerType ServerDistribution `json:"serverType,omitempty"` }
func (*CassandraClusterTemplate) DeepCopy ¶
func (in *CassandraClusterTemplate) DeepCopy() *CassandraClusterTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CassandraClusterTemplate.
func (*CassandraClusterTemplate) DeepCopyInto ¶
func (in *CassandraClusterTemplate) DeepCopyInto(out *CassandraClusterTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CassandraConfig ¶
type CassandraConfig struct { // +optional // +kubebuilder:pruning:PreserveUnknownFields CassandraYaml unstructured.Unstructured `json:"cassandraYaml,omitempty"` // +optional JvmOptions JvmOptions `json:"jvmOptions,omitempty"` // +optional // +kubebuilder:pruning:PreserveUnknownFields DseYaml unstructured.Unstructured `json:"dseYaml,omitempty"` }
func (*CassandraConfig) DeepCopy ¶
func (in *CassandraConfig) DeepCopy() *CassandraConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CassandraConfig.
func (*CassandraConfig) DeepCopyInto ¶
func (in *CassandraConfig) DeepCopyInto(out *CassandraConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CassandraDatacenterTemplate ¶
type CassandraDatacenterTemplate struct { Meta EmbeddedObjectMeta `json:"metadata,omitempty"` K8sContext string `json:"k8sContext,omitempty"` DatacenterOptions `json:",inline"` // Size is the number Cassandra pods to deploy in this datacenter. // This number does not include Stargate instances. // +kubebuilder:validation:Minimum=1 Size int32 `json:"size"` // Stopped means that the datacenter will be stopped. Use this for maintenance or for cost saving. A stopped // CassandraDatacenter will have no running server pods, like using "stop" with traditional System V init scripts. // Other Kubernetes resources will be left intact, and volumes will re-attach when the CassandraDatacenter // workload is resumed. // +optional // +kubebuilder:default=false Stopped bool `json:"stopped,omitempty"` // Stargate defines the desired deployment characteristics for Stargate in this datacenter. Leave nil to skip // deploying Stargate in this datacenter. // +optional Stargate *stargateapi.StargateDatacenterTemplate `json:"stargate,omitempty"` // PerNodeConfigMapRef is a reference to a ConfigMap that contains per-node configuration for // this DC. The ConfigMap is expected to have entries in the following form: // <pod-name>_<file-name>.yaml, where <pod-name> is the name of the pod and <file-name> is the // name of a configuration file (typically, cassandra.yaml). The value of the entry is expected // to be a YAML fragment that contains the per-node configuration for each pod. When the pod is // started, the per-node ConfigMap is mounted and the contents of each entry corresponding to // the pod are merged into their respective configuration files. // +optional PerNodeConfigMapRef corev1.LocalObjectReference `json:"perNodeConfigMapRef,omitempty"` }
func (*CassandraDatacenterTemplate) DeepCopy ¶
func (in *CassandraDatacenterTemplate) DeepCopy() *CassandraDatacenterTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CassandraDatacenterTemplate.
func (*CassandraDatacenterTemplate) DeepCopyInto ¶
func (in *CassandraDatacenterTemplate) DeepCopyInto(out *CassandraDatacenterTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatacenterOptions ¶ added in v1.1.0
type DatacenterOptions struct { // ServerVersion is the Cassandra or DSE version. The following versions are supported: // - Cassandra: 3.11.X and 4.0.X // - DSE: 6.8.X // +kubebuilder:validation:Pattern=(6\.8\.\d+)|(3\.11\.\d+)|(4\.\d+\.\d+) ServerVersion string `json:"serverVersion,omitempty"` // ServerImage is the image for the cassandra container. Note that this should be a // management-api image. If left empty the operator will choose a default image based // on ServerVersion. // +optional ServerImage string `json:"serverImage,omitempty"` // CassandraConfig contains configuration settings that are applied to cassandra.yaml, dse.yaml // and the various jvm*.options files. // +optional CassandraConfig *CassandraConfig `json:"config,omitempty"` // StorageConfig is the persistent storage requirements for each Cassandra pod. This // includes everything under /var/lib/cassandra, namely the commit log and data // directories. // +optional StorageConfig *cassdcapi.StorageConfig `json:"storageConfig,omitempty"` // Networking enables host networking and configures a NodePort ports. // +optional Networking *NetworkingConfig `json:"networking,omitempty"` // Resources is the cpu and memory resources for the cassandra container. // +optional Resources *corev1.ResourceRequirements `json:"resources,omitempty"` // Racks is a list of named racks. Note that racks are used to create node affinity. // // +optional Racks []cassdcapi.Rack `json:"racks,omitempty"` // Deprecated: JMX security is now based on CQL roles. We don't need an init container to configure JMX // authentication anymore. The value of this field will be ignored. JmxInitContainerImage *images.Image `json:"jmxInitContainerImage,omitempty"` // SoftPodAntiAffinity sets whether multiple Cassandra instances can be scheduled on the same node. // This should normally be false to ensure cluster resilience but may be set true for test/dev scenarios to minimise // the number of nodes required. SoftPodAntiAffinity *bool `json:"softPodAntiAffinity,omitempty"` // Tolerations applied to every Cassandra pod. // +optional Tolerations []corev1.Toleration `json:"tolerations,omitempty"` // MgmtAPIHeap defines the amount of memory devoted to the management // api heap. // +optional MgmtAPIHeap *resource.Quantity `json:"mgmtAPIHeap,omitempty"` // Telemetry defines the desired state for telemetry resources in this datacenter. // If telemetry configurations are defined, telemetry resources will be deployed to integrate with // a user-provided monitoring solution (at present, only support for Prometheus is available). // +optional Telemetry *telemetryapi.TelemetrySpec `json:"telemetry,omitempty"` // CDC defines the desired state for CDC integrations. It can be used to feed mutation events from Cassandra into an Apache Pulsar cluster, // from where they can be expored to external systems. // +optional CDC *cassdcapi.CDCConfiguration `json:"cdc,omitempty"` // Containers defines containers to be deployed in each Cassandra pod. // K8ssandra-operator and cass-operator will create their own containers, which can be referenced here to override specific settings, // such as mounts or resources request/limits for example. // Example: // containers: // - name: server-system-logger // - name: custom-container // image: busybox // - name: cassandra // +optional Containers []corev1.Container `json:"containers,omitempty"` // InitContainers defines init-containers to be deployed in each Cassandra pod. // K8ssandra-operator and cass-operator will create their own init-containers, which can be referenced here to control ordering or override specific settings // such as mounts or resources request/limits for example. // Only the name of the k8ssandra-operator/cass-operator init-containers is required, not their full definition which will be created by the operators. // Example: // initContainers: // - name: server-config-init // - name: custom-init-container // image: busybox // - name: medusa-restore // Otherwise init-containers referenced here will be injected in first position // +optional InitContainers []corev1.Container `json:"initContainers,omitempty"` // Volumes defines additional volumes to be added to each Cassandra pod. // If the volume uses a PersistentVolumeClaim, the PVC will be managed by the statefulset. // +optional ExtraVolumes *K8ssandraVolumes `json:"extraVolumes,omitempty"` // +optional DseWorkloads *cassdcapi.DseWorkloads `json:"dseWorkloads,omitempty"` // PodSecurityContext defines the security context for the Cassandra pods. // +optional PodSecurityContext *corev1.PodSecurityContext `json:"podSecurityContext,omitempty"` // ManagementApiAuth defines the authentication settings for the management API in the Cassandra pods. // +optional ManagementApiAuth *cassdcapi.ManagementApiAuthConfig `json:"managementApiAuth,omitempty"` // The image to use in each Cassandra pod for the (short-lived) init container that merges global and perNodeConfig // configuration. This is only useful when PerNodeConfigMapRef is set. // The default is "mikefarah/yq:4". // +optional // +kubebuilder:default="mikefarah/yq:4" PerNodeConfigInitContainerImage string `json:"perNodeConfigInitContainerImage,omitempty"` // The k8s service account to use for the Cassandra pods ServiceAccount string `json:"serviceAccount,omitempty"` // DatacenterName allows to override the name of the Cassandra datacenter. Kubernetes objects will be named after a sanitized version of it if set, and if not metadata.name. In Cassandra the DC name will be overridden by this value. // It may generate some confusion as objects created for the DC will have a different name than the CasandraDatacenter object itself. // This setting can create conflicts if multiple DCs coexist in the same namespace if metadata.name for a DC with no override is set to the same value as the override name of another DC. // Use cautiously. // +optional DatacenterName string `json:"datacenterName,omitempty"` }
DatacenterOptions are configuration settings that are can be set at the Cluster level and overridden for a single DC
func (*DatacenterOptions) DeepCopy ¶ added in v1.1.0
func (in *DatacenterOptions) DeepCopy() *DatacenterOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatacenterOptions.
func (*DatacenterOptions) DeepCopyInto ¶ added in v1.1.0
func (in *DatacenterOptions) DeepCopyInto(out *DatacenterOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DecommissionProgress ¶
type DecommissionProgress string
const ( // CassandraInitialized is set to true when the Cassandra cluster becomes ready for // the first time. During the life time of the C* cluster CassandraDatacenters may have // their readiness condition change back and forth. Once set, this condition however // does not change. CassandraInitialized = "CassandraInitialized" DecommNone DecommissionProgress = "" DecommUpdatingReplication DecommissionProgress = "UpdatingReplication" DecommDeleting DecommissionProgress = "Decommissioning" )
type EmbeddedObjectMeta ¶
type EmbeddedObjectMeta struct { // +optional Namespace string `json:"namespace,omitempty"` Name string `json:"name"` // labels/annotations for the CassandraDatacenter component // +optional meta.Tags `json:",inline"` // labels/annotations that will be applied to all components // created by the CRD // +optional CommonLabels map[string]string `json:"commonLabels,omitempty"` // labels/annotations for the pod components // +optional Pods meta.Tags `json:"pods,omitempty"` // labels/annotations for all of the CassandraDatacenter service components ServiceConfig meta.CassandraDatacenterServicesMeta `json:"services,omitempty"` }
func (*EmbeddedObjectMeta) DeepCopy ¶
func (in *EmbeddedObjectMeta) DeepCopy() *EmbeddedObjectMeta
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EmbeddedObjectMeta.
func (*EmbeddedObjectMeta) DeepCopyInto ¶
func (in *EmbeddedObjectMeta) DeepCopyInto(out *EmbeddedObjectMeta)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FullQueryLoggerOptions ¶
type FullQueryLoggerOptions struct { ArchiveCommand *string `json:"archive_command,omitempty" cass-config:"archive_command"` RollCycle *string `json:"roll_cycle,omitempty" cass-config:"roll_cycle"` Block *bool `json:"block,omitempty" cass-config:"block"` MaxQueueWeight *int `json:"max_queue_weight,omitempty" cass-config:"max_queue_weight"` MaxLogSize *int `json:"max_log_size,omitempty" cass-config:"max_log_size"` MaxArchiveRetries *int `json:"max_archive_retries,omitempty" cass-config:"max_archive_retries"` LogDir *string `json:"log_dir,omitempty" cass-config:"log_dir"` }
func (*FullQueryLoggerOptions) DeepCopy ¶
func (in *FullQueryLoggerOptions) DeepCopy() *FullQueryLoggerOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FullQueryLoggerOptions.
func (*FullQueryLoggerOptions) DeepCopyInto ¶
func (in *FullQueryLoggerOptions) DeepCopyInto(out *FullQueryLoggerOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type JvmOptions ¶
type JvmOptions struct { // Deprecated. Use heap_initial_size and heap_max_size instead. If this field is defined, // it applies to both max_heap_size and initial_heap_size. // +optional HeapSize *resource.Quantity `json:"heapSize,omitempty"` // Disabled by default. // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Cass Config Builder: supported for Cassandra 4.0 in jvm-server.options. // Corresponds to: -Xms. // +optional InitialHeapSize *resource.Quantity `` /* 141-byte string literal not displayed */ // Disabled by default. // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Cass Config Builder: supported for Cassandra 4.0 in jvm-server.options. // Corresponds to: -Xmx. // +optional MaxHeapSize *resource.Quantity `` /* 129-byte string literal not displayed */ // Enable assertions. // Enabled by default. // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Cass Config Builder: supported for Cassandra 4.0 in jvm-server.options. // Corresponds to: -ea. // +optional EnableAssertions *bool `` /* 144-byte string literal not displayed */ // Enable thread priorities. // Enabled by default. // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Cass Config Builder: supported for Cassandra 4.0 in jvm-server.options. // Corresponds to: -XX:+UseThreadPriorities. // +optional EnableThreadPriorities *bool `` /* 159-byte string literal not displayed */ // Enable lowering thread priority without being root on linux. // See CASSANDRA-1181 for details. // Enabled by default. // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Corresponds to: -XX:ThreadPriorityPolicy=42. // +optional EnableNonRootThreadPriority *bool `json:"vm_enable_non_root_thread_priority,omitempty" cass-config:"^3.11.x:jvm-options/thread_priority_policy_42"` // Enabled by default. // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Cass Config Builder: supported for Cassandra 4.0 in jvm-server.options. // Corresponds to: -XX:+HeapDumpOnOutOfMemoryError. // +optional HeapDumpOnOutOfMemoryError *bool `` /* 189-byte string literal not displayed */ // Per-thread stack size. // Defaults to 256Ki. // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Cass Config Builder: supported for Cassandra 4.0 in jvm-server.options. // Corresponds to: -Xss. // +optional PerThreadStackSize *resource.Quantity `` /* 156-byte string literal not displayed */ // The size of interned string table. Larger sizes are beneficial to gossip. // Defaults to 1000003. // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Cass Config Builder: supported for Cassandra 4.0 in jvm-server.options. // Corresponds to: -XX:StringTableSize. // +optional StringTableSize *resource.Quantity `` /* 144-byte string literal not displayed */ // Ensure all memory is faulted and zeroed on startup. // Enabled by default. // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Cass Config Builder: supported for Cassandra 4.0 in jvm-server.options. // Corresponds to: -XX:+AlwaysPreTouch. // +optional AlwaysPreTouch *bool `` /* 141-byte string literal not displayed */ // Disable biased locking to avoid biased lock revocation pauses. // Disabled by default. // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Cass Config Builder: supported for Cassandra 4.0 in jvm-server.options. // Corresponds to: -XX:-UseBiasedLocking. // Note: the Cass Config Builder option is named use_biased_locking, but setting it to true // disables biased locking. // +optional DisableBiasedLocking *bool `` /* 151-byte string literal not displayed */ // Enable thread-local allocation blocks. // Enabled by default. // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Cass Config Builder: supported for Cassandra 4.0 in jvm-server.options. // Corresponds to: -XX:+UseTLAB. // +optional UseTlab *bool `json:"vm_use_tlab,omitempty" cass-config:"^3.11.x:jvm-options/use_tlb;>=4.x,dse@>=6.8.x:jvm-server-options/use_tlb"` // Allow resizing of thread-local allocation blocks. // Enabled by default. // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Cass Config Builder: supported for Cassandra 4.0 in jvm-server.options. // Corresponds to: -XX:+ResizeTLAB. // +optional ResizeTlab *bool `json:"vm_resize_tlab,omitempty" cass-config:"^3.11.x:jvm-options/resize_tlb;>=4.x,dse@>=6.8.x:jvm-server-options/resize_tlb"` // Enabled by default. // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Cass Config Builder: supported for Cassandra 4.0 in jvm-server.options. // Corresponds to: -XX:+PerfDisableSharedMem. // +optional DisablePerfSharedMem *bool `` /* 162-byte string literal not displayed */ // Prefer binding to IPv4 network interfaces. // Enabled by default. // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Cass Config Builder: supported for Cassandra 4.0 in jvm-server.options. // Corresponds to: -Djava.net.preferIPv4Stack=true. // +optional PreferIpv4 *bool `` /* 156-byte string literal not displayed */ // Enabled by default. // Cass Config Builder: supported for Cassandra 4.0 in jvm-server.options. // Corresponds to: -XX:+UseNUMA. // +optional UseNuma *bool `json:"vm_use_numa,omitempty" cass-config:">=4.x,dse@>=6.8.x:jvm-server-options/use_numa"` // Disabled by default. // Cass Config Builder: supported for Cassandra 4.0 in jvm-server.options. // Corresponds to: -Dcassandra.printHeapHistogramOnOutOfMemoryError. // +optional PrintHeapHistogramOnOutOfMemoryError *bool `` /* 158-byte string literal not displayed */ // Disabled by default. // Cass Config Builder: supported for Cassandra 4.0 in jvm-server.options. // Corresponds to: -XX:+ExitOnOutOfMemoryError. // +optional ExitOnOutOfMemoryError *bool `` /* 126-byte string literal not displayed */ // Disabled by default. Requires `exit_on_out_of_memory_error` to be disabled.. // Cass Config Builder: supported for Cassandra 4.0 in jvm-server.options. // Corresponds to: -XX:+CrashOnOutOfMemoryError. // +optional CrashOnOutOfMemoryError *bool `` /* 128-byte string literal not displayed */ // Defaults to 300000 milliseconds. // Cass Config Builder: supported for Cassandra 4.0 in jvm-server.options. // Corresponds to: -XX:GuaranteedSafepointInterval. // +optional GuaranteedSafepointIntervalMs *int `` /* 133-byte string literal not displayed */ // Defaults to 65536. // Cass Config Builder: supported for Cassandra 4.0 in jvm-server.options. // Corresponds to: -Dio.netty.eventLoop.maxPendingTasks. // +optional NettyEventloopMaxPendingTasks *int `` /* 134-byte string literal not displayed */ // Netty setting `io.netty.tryReflectionSetAccessible`. // Defaults to true. // Cass Config Builder: supported for Cassandra 4.0 in jvm11-server.options. // Corresponds to: -Dio.netty.tryReflectionSetAccessible=true. // +optional NettyTryReflectionSetAccessible *bool `` /* 203-byte string literal not displayed */ // Defaults to 1048576. // Cass Config Builder: supported for Cassandra 4.0 in jvm-server.options. // Corresponds to: -Djdk.nio.maxCachedBufferSize. // +optional NioMaxCachedBufferSize *resource.Quantity `json:"nio_maxcachedbuffersize,omitempty" cass-config:">=4.x,dse@>=6.8.x:jvm-server-options/jdk_nio_maxcachedbuffersize"` // Align direct memory allocations on page boundaries. // Enabled by default. // Cass Config Builder: supported for Cassandra 4.0 in jvm-server.options. // Corresponds to: -Dsun.nio.PageAlignDirectMemory=true. // +optional NioAlignDirectMemory *bool `json:"nio_align_direct_memory,omitempty" cass-config:">=4.x,dse@>=6.8.x:jvm-server-options/page-align-direct-memory"` // Allow the current VM to attach to itself. // Defaults to true. // Cass Config Builder: supported for Cassandra 4.0 in jvm11-server.options. // Corresponds to: -Djdk.attach.allowAttachSelf=true. // +optional JdkAllowAttachSelf *bool `` /* 169-byte string literal not displayed */ // Available CPU processors. // Disabled by default. // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Cass Config Builder: supported for Cassandra 4.0 in jvm-server.options. // Corresponds to: -Dcassandra.available_processors. // +optional AvailableProcessors *int `` /* 180-byte string literal not displayed */ // Enable pluggable metrics reporter. // Disabled by default. // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Cass Config Builder: supported for Cassandra 4.0 in jvm-server.options. // Corresponds to: -Dcassandra.metricsReporterConfigFile. // +optional // TODO mountable directory MetricsReporterConfigFile *string `` /* 204-byte string literal not displayed */ // Amount of time in milliseconds that a node waits before joining the ring. // Disabled by default. // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Cass Config Builder: supported for Cassandra 4.0 in jvm-server.options. // Corresponds to: -Dcassandra.ring_delay_ms. // +optional RingDelayMs *int `` /* 159-byte string literal not displayed */ // Default location for the trigger JARs. // Disabled by default. // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Cass Config Builder: supported for Cassandra 4.0 in jvm-server.options. // Corresponds to: -Dcassandra.triggers_dir. // +optional // TODO mountable directory TriggersDirectory *string `` /* 162-byte string literal not displayed */ // For testing new compaction and compression strategies. // Disabled by default. // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Cass Config Builder: supported for Cassandra 4.0 in jvm-server.options. // Corresponds to: -Dcassandra.write_survey. // +optional WriteSurvey *bool `` /* 156-byte string literal not displayed */ // Disable remote configuration via JMX of auth caches. // Disabled by default. // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Cass Config Builder: supported for Cassandra 4.0 in jvm-server.options. // Corresponds to: -Dcassandra.disable_auth_caches_remote_configuration. // +optional DisableAuthCachesRemoteConfiguration *bool `` /* 240-byte string literal not displayed */ // Disable dynamic calculation of the page size used when indexing an entire partition (during // initial index build/rebuild). // Disabled by default. // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Cass Config Builder: supported for Cassandra 4.0 in jvm-server.options. // Corresponds to: -Dcassandra.force_default_indexing_page_size. // +optional ForceDefaultIndexingPageSize *bool `` /* 216-byte string literal not displayed */ // Disabled by default. // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Corresponds to: -Dcassandra.force_3_0_protocol_version=true. // +optional Force30ProtocolVersion *bool `json:"cassandra_force_3_0_protocol_version,omitempty" cass-config:"^3.11.x:jvm-options/cassandra_force_3_0_protocol_version"` // Defines how to handle INSERT requests with TTL exceeding the maximum supported expiration // date. // Possible values include `REJECT`, `CAP`, `CAP_NOWARN`. // Cass Config Builder: supported for Cassandra 4.0 in jvm-server.options. // Corresponds to: -Dcassandra.expiration_date_overflow_policy. // +optional ExpirationDateOverflowPolicy *string `` /* 151-byte string literal not displayed */ // Imposes an upper bound on hint lifetime below the normal min gc_grace_seconds. // Disabled by default. // Cass Config Builder: supported for Cassandra 4.0 in jvm-server.options. // Corresponds to: -Dcassandra.maxHintTTL. // +optional MaxHintTtlSeconds *int `json:"cassandra_max_hint_ttl_seconds,omitempty" cass-config:">=4.x,dse@>=6.8.x:jvm-server-options/cassandra_max_hint_ttl"` // The name of the garbage collector to use. Depending on the Cassandra version, not all values // are supported: Cassandra 3.11 supports only G1GC and CMS; Cassandra 4.0 supports G1GC, ZGC, // Shenandoah and Graal. This option will unlock the corresponding garbage collector with a // default configuration; to further tune the GC settings, use the additional JVM options field. // Use the special value Custom if you intend to use non-standard garbage collectors. // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Cass Config Builder: supported for Cassandra 4.0 in jvm11-server.options. // +kubebuilder:validation:Enum=G1GC;CMS;ZGC;Shenandoah;Graal;Custom // +kubebuilder:default=G1GC // +optional GarbageCollector *string `` /* 166-byte string literal not displayed */ // Deprecated. Use gc_cms_heap_size_young_generation instead. // Valid for CMS garbage collector only + Cassandra 3.11. // +optional HeapNewGenSize *resource.Quantity `json:"heapNewGenSize,omitempty"` // Disabled by default. Can only be used when CMS garbage collector is used. // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Corresponds to: -Xmn. // +optional CmsHeapSizeYoungGeneration *resource.Quantity `json:"gc_cms_heap_size_young_generation,omitempty" cass-config:"^3.11.x:jvm-options/heap_size_young_generation"` // Defaults to 8. Can only be used when CMS garbage collector is used. // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Corresponds to: -XX:SurvivorRatio. // +optional CmsSurvivorRatio *int `json:"gc_cms_survivor_ratio,omitempty" cass-config:"^3.11.x:jvm-options/survivor_ratio"` // Defaults to 1. Can only be used when CMS garbage collector is used. // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Corresponds to: -XX:MaxTenuringThreshold. // +optional CmsMaxTenuringThreshold *int `json:"gc_cms_max_tenuring_threshold,omitempty" cass-config:"^3.11.x:jvm-options/max_tenuring_threshold"` // Defaults to 75. Can only be used when CMS garbage collector is used. // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Corresponds to: -XX:CMSInitiatingOccupancyFraction. // +optional // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=100 CmsInitiatingOccupancyFraction *int `json:"gc_cms_initiating_occupancy_fraction,omitempty" cass-config:"^3.11.x:jvm-options/cms_initiating_occupancy_fraction"` // Defaults to 10000. Can only be used when CMS garbage collector is used. // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Corresponds to: -XX:CMSWaitDuration. // +optional CmsWaitDurationMs *int `json:"gc_cms_wait_duration_ms,omitempty" cass-config:"^3.11.x:jvm-options/cms_wait_duration"` // G1GC Updating Pause Time Percentage. Defaults to 5. Can only be used when G1 garbage collector is used. // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Cass Config Builder: supported for Cassandra 4.0 in jvm11-server.options. // Corresponds to: -XX:G1RSetUpdatingPauseTimePercent. // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=100 // +optional G1RSetUpdatingPauseTimePercent *int `` /* 256-byte string literal not displayed */ // G1GC Max GC Pause in milliseconds. Defaults to 500. Can only be used when G1 garbage collector is used. // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Cass Config Builder: supported for Cassandra 4.0 in jvm11-server.options. // Corresponds to: -XX:MaxGCPauseMillis. // +optional G1MaxGcPauseMs *int `` /* 191-byte string literal not displayed */ // Initiating Heap Occupancy Percentage. Can only be used when G1 garbage collector is used. // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Cass Config Builder: supported for Cassandra 4.0 in jvm11-server.options. // Corresponds to: -XX:InitiatingHeapOccupancyPercent. // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=100 // +optional G1InitiatingHeapOccupancyPercent *int `` /* 251-byte string literal not displayed */ // Parallel GC Threads. Can only be used when G1 garbage collector is used. // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Cass Config Builder: supported for Cassandra 4.0 in jvm11-server.options. // Corresponds to: -XX:ParallelGCThreads. // +optional G1ParallelGcThreads *int `` /* 192-byte string literal not displayed */ // Concurrent GC Threads. Can only be used when G1 garbage collector is used. // Disabled by default. // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Cass Config Builder: supported for Cassandra 4.0 in jvm11-server.options. // Corresponds to: -XX:ConcGCThreads. // +optional G1ConcGcThreads *int `` /* 176-byte string literal not displayed */ // Print GC details. // Disabled by default. // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Corresponds to: -XX:+PrintGCDetails. // +optional PrintDetails *bool `json:"gc_print_details,omitempty" cass-config:"^3.11.x:jvm-options/print_gc_details"` // Print GC Date Stamps. Disabled by default. // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Corresponds to: -XX:+PrintGCDateStamps. // +optional PrintDateStamps *bool `json:"gc_print_date_stamps,omitempty" cass-config:"^3.11.x:jvm-options/print_gc_date_stamps"` // Print Heap at GC. // Disabled by default. // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Corresponds to: -XX:+PrintHeapAtGC. // +optional PrintHeap *bool `json:"gc_print_heap,omitempty" cass-config:"^3.11.x:jvm-options/print_heap_at_gc"` // Print tenuring distribution. // Defaults to false. // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Corresponds to: -XX:+PrintTenuringDistribution. // +optional PrintTenuringDistribution *bool `json:"gc_print_tenuring_distribution,omitempty" cass-config:"^3.11.x:jvm-options/print_tenuring_distribution"` // Print GC Application Stopped Time. // Disabled by default. // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Corresponds to: -XX:+PrintGCApplicationStoppedTime. // +optional PrintApplicationStoppedTime *bool `json:"gc_print_application_stopped_time,omitempty" cass-config:"^3.11.x:jvm-options/print_gc_application_stopped_time"` // Print promotion failure. // Disabled by default. // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Corresponds to: -XX:+PrintPromotionFailure. // +optional PrintPromotionFailure *bool `json:"gc_print_promotion_failure,omitempty" cass-config:"^3.11.x:jvm-options/print_promotion_failure"` // Print FLSS Statistics. // Disabled by default. // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Corresponds to: -XX:PrintFLSStatistics=1. // +optional PrintFlssStatistics *bool `json:"gc_print_flss_statistics,omitempty" cass-config:"^3.11.x:jvm-options/print_flss_statistics"` // Whether to print GC logs to /var/log/cassandra/gc.log. // Disabled by default. // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Corresponds to: -Xloggc:/var/log/cassandra/gc.log. // +optional UseLogFile *bool `json:"gc_print_use_log_file,omitempty" cass-config:"^3.11.x:jvm-options/log_gc"` // Use GC Log File Rotation. // Disabled by default. // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Corresponds to: -XX:+UseGCLogFileRotation. // +optional UseLogFileRotation *bool `json:"gc_print_use_log_file_rotation,omitempty" cass-config:"^3.11.x:jvm-options/use_gc_log_file_rotation"` // Number of GC log files. // Disabled by default. Can only be used when the G1 garbage collector is used. // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Corresponds to: -XX:NumberOfGCLogFiles. // +optional NumberOfLogFiles *int `json:"gc_print_number_of_log_files,omitempty" cass-config:"^3.11.x:jvm-options/number_of_gc_log_files"` // Size of each log file. // Disabled by default. // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Corresponds to: -XX:GCLogFileSize. // +optional LogFileSize *resource.Quantity `json:"gc_print_log_file_size,omitempty" cass-config:"^3.11.x:jvm-options/gc_log_file_size"` // Disabled by default. Defaults to 7199. // TODO Make Reaper aware of the JMX port if a non-default port is used. // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Cass Config Builder: supported for Cassandra 4.0 in jvm-server.options. // +optional JmxPort *int `json:"jmx_port,omitempty" cass-config:"^3.11.x:jvm-options/jmx-port;>=4.x,dse@>=6.8.x:jvm-server-options/jmx-port"` // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Cass Config Builder: supported for Cassandra 4.0 in jvm-server.options. // Possible values for 3.11 include `local-no-auth`, `remote-no-auth`, and `remote-dse-unified-auth`. Defaults to `local-no-auth`. // Possible values for 4.0 include `local-no-auth`, `remote-no-auth`. Defaults to `local-no-auth`. // +optional JmxConnectionType *string `` /* 147-byte string literal not displayed */ // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Cass Config Builder: supported for Cassandra 4.0 in jvm-server.options. // Defaults to false. // Valid only when JmxConnectionType is "remote-no-auth", "remote-dse-unified-auth". // +optional JmxRemoteSsl *bool `` /* 132-byte string literal not displayed */ // Remote SSL options. // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Cass Config Builder: supported for Cassandra 4.0 in jvm-server.options. // +optional JmxRemoteSslOpts *string `` /* 147-byte string literal not displayed */ // Require Client Authentication for remote SSL? Defaults to false. // Cass Config Builder: supported for Cassandra 4.0 in jvm-server.options. // +optional JmxRemoteSslRequireClientAuth *bool `` /* 137-byte string literal not displayed */ // Unlock commercial features. // Disabled by default. // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Cass Config Builder: supported for Cassandra 4.0 in jvm-server.options. // Corresponds to: -XX:+UnlockCommercialFeatures. // +optional UnlockCommercialFeatures *bool `` /* 174-byte string literal not displayed */ // Enable Flight Recorder (Use in production is subject to Oracle licensing). // Disabled by default. // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Cass Config Builder: supported for Cassandra 4.0 in jvm-server.options. // Corresponds to: -XX:+FlightRecorder. // +optional EnableFlightRecorder *bool `` /* 148-byte string literal not displayed */ // Listen for JVM remote debuggers on port 1414. // Disabled by default. // Cass Config Builder: supported for Cassandra 3.11 in jvm.options. // Cass Config Builder: supported for Cassandra 4.0 in jvm-server.options. // Corresponds to: -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=1414". // +optional ListenForRemoteDebuggers *bool `` /* 147-byte string literal not displayed */ // Disable honoring user code @Contended annotations. // Enabled by default. // Cass Config Builder: supported for Cassandra 4.0 in jvm-server.options. // Corresponds to: -XX:-RestrictContended. // +optional DisableContendedAnnotations *bool `json:"debug_disable_contended_annotations,omitempty" cass-config:">=4.x,dse@>=6.8.x:jvm-server-options/restrict-contended"` // Whether the compiler should generate the necessary metadata for the parts of the code not at // safe points as well. For use with Flight Recorder. // Enabled by default. // Cass Config Builder: supported for Cassandra 4.0 in jvm-server.options. // Corresponds to: -XX:+DebugNonSafepoints. // +optional DebugNonSafepoints *bool `json:"debug_non_safepoints,omitempty" cass-config:">=4.x,dse@>=6.8.x:jvm-server-options/debug-non-safepoints"` // Enabled by default. // Cass Config Builder: supported for Cassandra 4.0 in jvm-server.options. // Corresponds to: -XX:+UnlockDiagnosticVMOptions. // +optional UnlockDiagnosticVmOptions *bool `` /* 131-byte string literal not displayed */ // Make Cassandra JVM log internal method compilation (developers only). // Disabled by default. // Cass Config Builder: supported for Cassandra 4.0 in jvm-server.options. // Corresponds to: -XX:+LogCompilation. // +optional LogCompilation *bool `json:"debug_log_compilation,omitempty" cass-config:">=4.x,dse@>=6.8.x:jvm-server-options/log_compilation"` // Preserve Frame Pointer. // Enabled by default. // Cass Config Builder: supported for Cassandra 4.0 in jvm-server.options. // Corresponds to: -XX:+PreserveFramePointer. // +optional PreserveFramePointer *bool `json:"debug_preserve_frame_pointer,omitempty" cass-config:">=4.x,dse@>=6.8.x:jvm-server-options/preserve-frame-pointer"` // Additional, arbitrary JVM options which are written into the cassandra-env.sh file. // +optional AdditionalOptions []string `json:"additionalOptions,omitempty" cass-config:"cassandra-env-sh/additional-jvm-opts"` // Jvm11ServerOptions are additional options that will be passed on to the jvm11-server-options file. // +optional AdditionalJvm11ServerOptions []string `json:"additionalJvm11ServerOptions,omitempty" cass-config:"jvm11-server-options/additional-jvm-opts"` // Jvm8ServerOptions are additional options that will be passed on to the jvm8-server-options file. // +optional AdditionalJvm8ServerOptions []string `json:"additionalJvm8ServerOptions,omitempty" cass-config:"jvm8-server-options/additional-jvm-opts"` // JvmServerOptions are additional options that will be passed on to the jvm-server-options file. // +optional AdditionalJvmServerOptions []string `json:"additionalJvmServerOptions,omitempty" cass-config:"jvm-server-options/additional-jvm-opts"` }
func (*JvmOptions) DeepCopy ¶
func (in *JvmOptions) DeepCopy() *JvmOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JvmOptions.
func (*JvmOptions) DeepCopyInto ¶
func (in *JvmOptions) DeepCopyInto(out *JvmOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type K8ssandraCluster ¶
type K8ssandraCluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec K8ssandraClusterSpec `json:"spec,omitempty"` Status K8ssandraClusterStatus `json:"status,omitempty"` }
K8ssandraCluster is the Schema for the k8ssandraclusters API. The K8ssandraCluster CRD name is also the name of the Cassandra cluster (which corresponds to cluster_name in cassandra.yaml).
func (*K8ssandraCluster) CassClusterName ¶ added in v1.2.1
func (in *K8ssandraCluster) CassClusterName() string
CassClusterName returns the Cassandra cluster name override if it exists, otherwise the k8c object name.
func (*K8ssandraCluster) DeepCopy ¶
func (in *K8ssandraCluster) DeepCopy() *K8ssandraCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new K8ssandraCluster.
func (*K8ssandraCluster) DeepCopyInto ¶
func (in *K8ssandraCluster) DeepCopyInto(out *K8ssandraCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*K8ssandraCluster) DeepCopyObject ¶
func (in *K8ssandraCluster) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*K8ssandraCluster) Default ¶ added in v1.0.0
func (r *K8ssandraCluster) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type
func (*K8ssandraCluster) GetInitializedDatacenters ¶
func (in *K8ssandraCluster) GetInitializedDatacenters() []CassandraDatacenterTemplate
func (*K8ssandraCluster) HasStargates ¶
func (in *K8ssandraCluster) HasStargates() bool
HasStargates returns true if at least one Stargate resource will be created as part of the creation of this K8ssandraCluster object.
func (*K8ssandraCluster) HasStoppedDatacenters ¶ added in v0.5.0
func (in *K8ssandraCluster) HasStoppedDatacenters() bool
HasStoppedDatacenters returns true if at least one DC is flagged as stopped.
func (*K8ssandraCluster) SanitizedName ¶ added in v1.2.0
func (in *K8ssandraCluster) SanitizedName() string
SanitizedName returns a sanitized version of the name returned by CassClusterName()
func (*K8ssandraCluster) SetupWebhookWithManager ¶ added in v1.0.0
func (r *K8ssandraCluster) SetupWebhookWithManager(mgr ctrl.Manager, cCache *clientcache.ClientCache) error
func (*K8ssandraCluster) ValidateCreate ¶ added in v1.0.0
func (r *K8ssandraCluster) ValidateCreate() error
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*K8ssandraCluster) ValidateDelete ¶ added in v1.0.0
func (r *K8ssandraCluster) ValidateDelete() error
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (*K8ssandraCluster) ValidateUpdate ¶ added in v1.0.0
func (r *K8ssandraCluster) ValidateUpdate(old runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
type K8ssandraClusterCondition ¶
type K8ssandraClusterCondition struct { Type K8ssandraClusterConditionType `json:"type"` Status corev1.ConditionStatus `json:"status"` // LastTransitionTime is the last time the condition transited from one status to another. // +optional LastTransitionTime *metav1.Time `json:"lastTransitionTime,omitempty"` }
func (*K8ssandraClusterCondition) DeepCopy ¶
func (in *K8ssandraClusterCondition) DeepCopy() *K8ssandraClusterCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new K8ssandraClusterCondition.
func (*K8ssandraClusterCondition) DeepCopyInto ¶
func (in *K8ssandraClusterCondition) DeepCopyInto(out *K8ssandraClusterCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type K8ssandraClusterConditionType ¶
type K8ssandraClusterConditionType string
type K8ssandraClusterList ¶
type K8ssandraClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []K8ssandraCluster `json:"items"` }
K8ssandraClusterList contains a list of K8ssandraCluster
func (*K8ssandraClusterList) DeepCopy ¶
func (in *K8ssandraClusterList) DeepCopy() *K8ssandraClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new K8ssandraClusterList.
func (*K8ssandraClusterList) DeepCopyInto ¶
func (in *K8ssandraClusterList) DeepCopyInto(out *K8ssandraClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*K8ssandraClusterList) DeepCopyObject ¶
func (in *K8ssandraClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type K8ssandraClusterSpec ¶
type K8ssandraClusterSpec struct { // Whether to enable authentication in this cluster. The default is true; it is highly recommended to always leave // authentication turned on. When enabled, authentication will be enforced not only on Cassandra nodes, but also on // Reaper, Medusa and Stargate nodes, if any. // +optional // +kubebuilder:default=true Auth *bool `json:"auth,omitempty"` // Cassandra is a specification of the Cassandra cluster. This includes everything from // the number of datacenters, the k8s cluster where each DC should be deployed, node // affinity (via racks), individual C* node settings, JVM settings, and more. Cassandra *CassandraClusterTemplate `json:"cassandra,omitempty"` // Stargate defines the desired deployment characteristics for Stargate in this K8ssandraCluster. // If this is non-nil, Stargate will be deployed on every Cassandra datacenter in this K8ssandraCluster. // +optional Stargate *stargateapi.StargateClusterTemplate `json:"stargate,omitempty"` // Reaper defines the desired deployment characteristics for Reaper in this K8ssandraCluster. // If this is non-nil, Reaper will be deployed on every Cassandra datacenter in this K8ssandraCluster. // +optional Reaper *reaperapi.ReaperClusterTemplate `json:"reaper,omitempty"` // Medusa defines the desired deployment characteristics for Medusa in this K8ssandraCluster. // If this is non-nil, Medusa will be deployed in every Cassandra pod in this K8ssandraCluster. // +optional Medusa *medusaapi.MedusaClusterTemplate `json:"medusa,omitempty"` // During a migration the operator should alter keyspaces replication settings including the following external DCs. // This avoids removing replicas from datacenters which are outside of the operator scope (not referenced in the CR). // Replication settings changes will only apply to system_* keyspaces as well as reaper_db and data_endpoint_auth (Stargate). // +optional ExternalDatacenters []string `json:"externalDatacenters,omitempty"` // SecretsProvider defines whether the secrets used for credentials and certs will be backed // by an external secret backend (e.g. vault). This moves the responsibility of generating and // storing secrets from the operators to the user and will rely on a mutating webhook to inject // the secrets into the necessary resources // +kubebuilder:validation:Enum=internal;external // +kubebuilder:default=internal SecretsProvider string `json:"secretsProvider,omitempty"` }
K8ssandraClusterSpec defines the desired state of K8ssandraCluster
func (*K8ssandraClusterSpec) DeepCopy ¶
func (in *K8ssandraClusterSpec) DeepCopy() *K8ssandraClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new K8ssandraClusterSpec.
func (*K8ssandraClusterSpec) DeepCopyInto ¶
func (in *K8ssandraClusterSpec) DeepCopyInto(out *K8ssandraClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (K8ssandraClusterSpec) IsAuthEnabled ¶
func (in K8ssandraClusterSpec) IsAuthEnabled() bool
IsAuthEnabled returns true if auth is not specified by the user (auth by default) or if the user has explicilty set Auth to true in the cluster spec
func (K8ssandraClusterSpec) UseExternalSecrets ¶ added in v1.5.0
func (in K8ssandraClusterSpec) UseExternalSecrets() bool
UseExternalSecrets defines whether the user has specified if credentials and certs will be backed by an external secrets store
type K8ssandraClusterStatus ¶
type K8ssandraClusterStatus struct { // +optional Conditions []K8ssandraClusterCondition `json:"conditions,omitempty"` // Datacenters maps the CassandraDatacenter name to a K8ssandraStatus. The // naming is a bit confusing but the mapping makes sense because we have a // CassandraDatacenter and then define other components like Stargate and Reaper // relative to it. I wanted to inline the field but when I do it won't serialize. // // TODO Figure out how to inline this field Datacenters map[string]K8ssandraStatus `json:"datacenters,omitempty"` // +kubebuilder:default=None Error string `json:"error,omitempty"` }
K8ssandraClusterStatus defines the observed state of K8ssandraCluster
func (*K8ssandraClusterStatus) DeepCopy ¶
func (in *K8ssandraClusterStatus) DeepCopy() *K8ssandraClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new K8ssandraClusterStatus.
func (*K8ssandraClusterStatus) DeepCopyInto ¶
func (in *K8ssandraClusterStatus) DeepCopyInto(out *K8ssandraClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*K8ssandraClusterStatus) GetConditionStatus ¶
func (s *K8ssandraClusterStatus) GetConditionStatus(conditionType K8ssandraClusterConditionType) corev1.ConditionStatus
func (*K8ssandraClusterStatus) SetCondition ¶
func (s *K8ssandraClusterStatus) SetCondition(condition K8ssandraClusterCondition)
type K8ssandraStatus ¶
type K8ssandraStatus struct { DecommissionProgress DecommissionProgress `json:"decommissionProgress,omitempty"` Cassandra *cassdcapi.CassandraDatacenterStatus `json:"cassandra,omitempty"` Stargate *stargateapi.StargateStatus `json:"stargate,omitempty"` Reaper *reaperapi.ReaperStatus `json:"reaper,omitempty"` }
K8ssandraStatus defines the observed of a k8ssandra instance
func (*K8ssandraStatus) DeepCopy ¶
func (in *K8ssandraStatus) DeepCopy() *K8ssandraStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new K8ssandraStatus.
func (*K8ssandraStatus) DeepCopyInto ¶
func (in *K8ssandraStatus) DeepCopyInto(out *K8ssandraStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type K8ssandraVolumes ¶ added in v1.2.0
type K8ssandraVolumes struct { // Volumes defines volumes to be added to each Cassandra pod. // +optional Volumes []corev1.Volume `json:"volumes,omitempty"` // PVCs defines additional volumes to be added to each Cassandra pod and managed by the statefulset. // Such volumes are automatically mounted by cass-operator into the cassandra containers. // +optional PVCs []cassdcapi.AdditionalVolumes `json:"pvcs,omitempty"` }
func (*K8ssandraVolumes) DeepCopy ¶ added in v1.2.0
func (in *K8ssandraVolumes) DeepCopy() *K8ssandraVolumes
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new K8ssandraVolumes.
func (*K8ssandraVolumes) DeepCopyInto ¶ added in v1.2.0
func (in *K8ssandraVolumes) DeepCopyInto(out *K8ssandraVolumes)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkingConfig ¶ added in v1.5.0
type NetworkingConfig struct { NodePort *cassdcapi.NodePortConfig `json:"nodePort,omitempty"` HostNetwork *bool `json:"hostNetwork,omitempty"` }
NetworkingConfig is a copy of cass-operator's NetworkingConfig struct. It is copied here to change the HostNetwork field type from bool to *bool, which makes merging 2 values of this struct more intuitive.
func (*NetworkingConfig) DeepCopy ¶ added in v1.5.0
func (in *NetworkingConfig) DeepCopy() *NetworkingConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkingConfig.
func (*NetworkingConfig) DeepCopyInto ¶ added in v1.5.0
func (in *NetworkingConfig) DeepCopyInto(out *NetworkingConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NetworkingConfig) ToCassNetworkingConfig ¶ added in v1.5.0
func (in *NetworkingConfig) ToCassNetworkingConfig() *cassdcapi.NetworkingConfig
type ParameterizedClass ¶
type ParameterizedClass struct { ClassName string `json:"class_name" cass-config:"class_name"` Parameters *map[string]string `json:"parameters,omitempty" cass-config:"parameters"` }
func (*ParameterizedClass) DeepCopy ¶
func (in *ParameterizedClass) DeepCopy() *ParameterizedClass
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ParameterizedClass.
func (*ParameterizedClass) DeepCopyInto ¶
func (in *ParameterizedClass) DeepCopyInto(out *ParameterizedClass)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReplicaFilteringProtectionOptions ¶
type ReplicaFilteringProtectionOptions struct { CachedRowsWarnThreshold *int `json:"cached_rows_warn_threshold,omitempty" cass-config:"cached_rows_warn_threshold"` CachedRowsFailThreshold *int `json:"cached_rows_fail_threshold,omitempty" cass-config:"cached_rows_fail_threshold"` }
func (*ReplicaFilteringProtectionOptions) DeepCopy ¶
func (in *ReplicaFilteringProtectionOptions) DeepCopy() *ReplicaFilteringProtectionOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplicaFilteringProtectionOptions.
func (*ReplicaFilteringProtectionOptions) DeepCopyInto ¶
func (in *ReplicaFilteringProtectionOptions) DeepCopyInto(out *ReplicaFilteringProtectionOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RequestSchedulerOptions ¶
type RequestSchedulerOptions struct { ThrottleLimit *int `json:"throttle_limit,omitempty" cass-config:"throttle_limit"` DefaultWeight *int `json:"default_weight,omitempty" cass-config:"default_weight"` Weights *map[string]int `json:"weights,omitempty" cass-config:"weights"` }
func (*RequestSchedulerOptions) DeepCopy ¶
func (in *RequestSchedulerOptions) DeepCopy() *RequestSchedulerOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequestSchedulerOptions.
func (*RequestSchedulerOptions) DeepCopyInto ¶
func (in *RequestSchedulerOptions) DeepCopyInto(out *RequestSchedulerOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServerDistribution ¶ added in v1.3.0
type ServerDistribution string
type SubnetGroups ¶
type SubnetGroups struct {
Subnets []string `json:"subnets" cass-config:"subnets"`
}
func (*SubnetGroups) DeepCopy ¶
func (in *SubnetGroups) DeepCopy() *SubnetGroups
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetGroups.
func (*SubnetGroups) DeepCopyInto ¶
func (in *SubnetGroups) DeepCopyInto(out *SubnetGroups)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TrackWarnings ¶
type TrackWarnings struct { Enabled bool `json:"enabled" cass-config:"enabled;retainzero"` CoordinatorReadSize *int `json:"coordinator_read_size,omitempty" cass-config:"coordinator_read_size"` LocalReadSize *int `json:"local_read_size,omitempty" cass-config:"local_read_size"` RowIndexSize *int `json:"row_index_size,omitempty" cass-config:"row_index_size"` }
func (*TrackWarnings) DeepCopy ¶
func (in *TrackWarnings) DeepCopy() *TrackWarnings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrackWarnings.
func (*TrackWarnings) DeepCopyInto ¶
func (in *TrackWarnings) DeepCopyInto(out *TrackWarnings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.