Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the db v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=db.orange.com
Package v1alpha1 contains API Schema definitions for the db v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=db.orange.com
Index ¶
- Constants
- Variables
- func RegisterDefaults(scheme *runtime.Scheme) error
- type CPUAndMem
- type CassandraCluster
- func (cc *CassandraCluster) ComputeLastAppliedConfiguration() ([]byte, error)
- func (in *CassandraCluster) DeepCopy() *CassandraCluster
- func (in *CassandraCluster) DeepCopyInto(out *CassandraCluster)
- func (in *CassandraCluster) DeepCopyObject() runtime.Object
- func (cc *CassandraCluster) FindDCWithNodesTo0() (bool, string, int)
- func (cc *CassandraCluster) FixCassandraRackList(status *CassandraClusterStatus) []string
- func (cc *CassandraCluster) GetDCAndRackFromDCRackName(dcRackName string) (string, string)
- func (cc *CassandraCluster) GetDCFromDCRackName(dcRackName string) string
- func (cc *CassandraCluster) GetDCName(dc int) string
- func (cc *CassandraCluster) GetDCNodesPerRacksFromDCRackName(dcRackName string) int32
- func (cc *CassandraCluster) GetDCNodesPerRacksFromName(dctarget string) (bool, int32)
- func (cc *CassandraCluster) GetDCRackName(dcName string, rackName string) string
- func (cc *CassandraCluster) GetDCRackNames() []string
- func (cc *CassandraCluster) GetDCRackSize() int
- func (cc *CassandraCluster) GetDCSize() int
- func (cc *CassandraCluster) GetNodesPerRacks(dcRackName string) int32
- func (cc *CassandraCluster) GetNumTokensPerRacks(dcRackName string) int32
- func (cc *CassandraCluster) GetRackName(dc int, rack int) string
- func (cc *CassandraCluster) GetRackSize(dc int) int
- func (cc *CassandraCluster) GetRemovedDCName(oldCRD *CassandraCluster) string
- func (cc *CassandraCluster) GetRollingPartitionPerRacks(dcRackName string) int32
- func (cc *CassandraCluster) GetSeedList(seedListTab *[]string) string
- func (cc *CassandraCluster) GetStatusDCRackSize() int
- func (cc *CassandraCluster) InitCassandraRackList() int
- func (cc *CassandraCluster) InitCassandraRackinStatus(status *CassandraClusterStatus, dcName string, rackName string)
- func (cc *CassandraCluster) InitSeedList() []string
- func (cc *CassandraCluster) IsPodInSeedList(podName string) bool
- func (cc *CassandraCluster) IsValidDC(dcName string) bool
- func (cc *CassandraCluster) SetDefaults() bool
- type CassandraClusterList
- type CassandraClusterSpec
- type CassandraClusterStatus
- type CassandraLastAction
- type CassandraRackStatus
- type CassandraResources
- type DC
- type DCSlice
- type PodLastOperation
- type PodPolicy
- type Rack
- type RackSlice
- type Topology
Constants ¶
const ( DefaultCassandraDC string = "dc1" DefaultCassandraRack string = "rack1" DefaultTerminationGracePeriodSeconds = 1800 //DefaultDelayWait: wait 20 seconds (2x resyncPeriod) prior to follow status of an operation DefaultResyncPeriod = 10 DefaultDelayWait = 2 * DefaultResyncPeriod //DefaultDelayWaitForDecommission is the time to wait for the decommission to happen on the Pod //The operator will start again if it is not the case DefaultDelayWaitForDecommission = 120 //DefaultUserID is the default ID to use in cassandra image (RunAsUser) DefaultUserID int64 = 1000 )
const ( AnnotationLastApplied string = "cassandraclusters.db.orange.com/last-applied-configuration" //Phase du Cluster ClusterPhaseInitial string = "Initializing" ClusterPhaseRunning string = "Running" ClusterPhasePending string = "Pending" StatusOngoing string = "Ongoing" // The Action is Ongoing StatusDone string = "Done" // The Action id Done StatusToDo string = "ToDo" // The Action is marked as To-Do StatusFinalizing string = "Finalizing" // The Action is between Ongoing and Done StatusContinue string = "Continue" StatusConfiguring string = "Configuring" StatusManual string = "Manual" StatusError string = "Error" //Available actions ActionUpdateConfigMap string = "UpdateConfigMap" ActionUpdateDockerImage string = "UpdateDockerImage" ActionUpdateSeedList string = "UpdateSeedList" ActionRollingRestart string = "RollingRestart" ActionUpdateResources string = "UpdateResources" ActionUpdateStatefulSet string = "UpdateStatefulSet" ActionScaleUp string = "ScaleUp" ActionScaleDown string = "ScaleDown" ActionDeleteDC string = "ActionDeleteDC" ActionDeleteRack string = "ActionDeleteRack" ActionCorrectCRDConfig string = "CorrectCRDConfig" //The Operator has correct a bad CRD configuration //List of Pods Operations OperationUpgradeSSTables string = "upgradesstables" OperationCleanup string = "cleanup" OperationDecommission string = "decommission" OperationRebuild string = "rebuild" OperationRemove string = "remove" )
Variables ¶
var ( // SchemeGroupVersion is group version used to register these objects SchemeGroupVersion = schema.GroupVersion{Group: "db.orange.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} )
Functions ¶
func RegisterDefaults ¶
RegisterDefaults adds defaulters functions to the given scheme. Public to allow building arbitrary schemes. All generated defaulters are covering - they call all nested defaulters.
Types ¶
type CPUAndMem ¶
CPUAndMem defines how many cpu and ram the container will request/limit
func (*CPUAndMem) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPUAndMem.
func (*CPUAndMem) DeepCopyInto ¶
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,omitempty"` Status CassandraClusterStatus `json:"status,omitempty"` }
CassandraCluster is the Schema for the cassandraclusters API +k8s:openapi-gen=true
func (*CassandraCluster) ComputeLastAppliedConfiguration ¶
func (cc *CassandraCluster) ComputeLastAppliedConfiguration() ([]byte, error)
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) FindDCWithNodesTo0 ¶
func (cc *CassandraCluster) FindDCWithNodesTo0() (bool, string, int)
FindDCWithNodesTo0
func (*CassandraCluster) FixCassandraRackList ¶
func (cc *CassandraCluster) FixCassandraRackList(status *CassandraClusterStatus) []string
FixCassandraRackList will remove additional rack-list that don't exists anymore in Topology we recalculate new dcrackStatus from actual topology and we apply diff to original
func (*CassandraCluster) GetDCAndRackFromDCRackName ¶
func (cc *CassandraCluster) GetDCAndRackFromDCRackName(dcRackName string) (string, string)
GetDCAndRackFromDCRackName send dc and rack from dcRackName (dc-rack)
func (*CassandraCluster) GetDCFromDCRackName ¶
func (cc *CassandraCluster) GetDCFromDCRackName(dcRackName string) string
GetDCFromDCRackName send dc name from dcRackName (dc-rack)
func (*CassandraCluster) GetDCName ¶
func (cc *CassandraCluster) GetDCName(dc int) string
GetDCName return the name of the DC a indice dc or defaultName
func (*CassandraCluster) GetDCNodesPerRacksFromDCRackName ¶
func (cc *CassandraCluster) GetDCNodesPerRacksFromDCRackName(dcRackName string) int32
GetDCNodesPerRacksFromDCRackName send NodesPerRack used for the given dcRackName
func (*CassandraCluster) GetDCNodesPerRacksFromName ¶
func (cc *CassandraCluster) GetDCNodesPerRacksFromName(dctarget string) (bool, int32)
GetDCNodesPerRacksFromName send NodesPerRack which is applied for the specified dc name return true if we found, and false if not
func (*CassandraCluster) GetDCRackName ¶
func (cc *CassandraCluster) GetDCRackName(dcName string, rackName string) string
GetDCRackName compute dcName + RackName to be used in statefulsets, services.. it return empty if the name don't match with kubernetes domain name validation regexp
func (*CassandraCluster) GetDCRackNames ¶
func (cc *CassandraCluster) GetDCRackNames() []string
GetDCNodesPerRacksFromDCRackName send NodesPerRack used for the given dcRackName
func (*CassandraCluster) GetDCRackSize ¶
func (cc *CassandraCluster) GetDCRackSize() int
func (*CassandraCluster) GetDCSize ¶
func (cc *CassandraCluster) GetDCSize() int
GetDCSize Return the Numbers of declared DC
func (*CassandraCluster) GetNodesPerRacks ¶
func (cc *CassandraCluster) GetNodesPerRacks(dcRackName string) int32
GetNodesPerRacks sends back the number of cassandra nodes to uses for this dc-rack
func (*CassandraCluster) GetNumTokensPerRacks ¶
func (cc *CassandraCluster) GetNumTokensPerRacks(dcRackName string) int32
GetNodesPerRacks sends back the number of cassandra nodes to uses for this dc-rack
func (*CassandraCluster) GetRackName ¶
func (cc *CassandraCluster) GetRackName(dc int, rack int) string
GetRackName return the Name of the rack for DC at indice dc and Rack at indice rack
func (*CassandraCluster) GetRackSize ¶
func (cc *CassandraCluster) GetRackSize(dc int) int
GetRAckSize return the numbers of the Rack in the DCat indice dc
func (*CassandraCluster) GetRemovedDCName ¶
func (cc *CassandraCluster) GetRemovedDCName(oldCRD *CassandraCluster) string
func (*CassandraCluster) GetRollingPartitionPerRacks ¶
func (cc *CassandraCluster) GetRollingPartitionPerRacks(dcRackName string) int32
GetRollingPartitionPerRacks return rollingPartition defined in spec.topology.dc[].rack[].rollingPartition
func (*CassandraCluster) GetSeedList ¶
func (cc *CassandraCluster) GetSeedList(seedListTab *[]string) string
func (*CassandraCluster) GetStatusDCRackSize ¶
func (cc *CassandraCluster) GetStatusDCRackSize() int
func (*CassandraCluster) InitCassandraRackList ¶
func (cc *CassandraCluster) InitCassandraRackList() int
InitCassandraRackList initiate the Status structure for CassandraRack
func (*CassandraCluster) InitCassandraRackinStatus ¶
func (cc *CassandraCluster) InitCassandraRackinStatus(status *CassandraClusterStatus, dcName string, rackName string)
InitCassandraRack Initialisation of a CassandraRack Structure which is appended to the CRD status In this method we create it in status var instead of directly in cc object This is because except for init the cc, ca always work with a separate status which updates the cc in a defer statement in Reconcile method
func (*CassandraCluster) InitSeedList ¶
func (cc *CassandraCluster) InitSeedList() []string
Initialisation of the Cassandra SeedList We want 3 sides nodes for each DC
func (*CassandraCluster) IsPodInSeedList ¶
func (cc *CassandraCluster) IsPodInSeedList(podName string) bool
func (*CassandraCluster) IsValidDC ¶
func (cc *CassandraCluster) IsValidDC(dcName string) bool
IsValidDC returns true if dcName is known
func (*CassandraCluster) SetDefaults ¶
func (cc *CassandraCluster) SetDefaults() bool
SetDefaults sets the default values for the cassandra spec and returns true if the spec was changed
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 { // Number of nodes to deploy for a Cassandra deployment in each Racks. // Default: 1. // If NodesPerRacks = 2 and there is 3 racks, the cluster will have 6 Cassandra Nodes NodesPerRacks int32 `json:"nodesPerRacks,omitempty"` // Base image to use for a Cassandra deployment. BaseImage string `json:"baseImage"` // Version of Cassandra to be deployed. Version string `json:"version"` //ImagePullPolicy define the pull poicy for C* docker image ImagePullPolicy v1.PullPolicy `json:"imagepullpolicy"` //RunAsUser define the id of the user to run in the Cassandra image RunAsUser *int64 `json:"runAsUser"` // Pod defines the policy for pods owned by cassandra operator. // This field cannot be updated once the CR is created. //Pod *PodPolicy `json:"pod,omitempty"` Resources CassandraResources `json:"resources,omitempty"` // HardAntiAffinity defines if the PodAntiAffinity of the // statefulsets has to be hard (it's soft by default) HardAntiAffinity bool `json:"hardAntiAffinity,omitempty"` //DeletePVC defines if the PVC must be deleted when the cluster is deleted //it is false by default DeletePVC bool `json:"deletePVC,omitempty"` //AutoPilot defines if the Operator can fly alone or if we need human action to trigger //Actions on specific Cassandra nodes //If autoPilot=true, the operator will set labels pod-operation-status=To-Do on Pods which allows him to // automatically triggers Action //If autoPilot=false, the operator will set labels pod-operation-status=Manual on Pods which won't automatically triggers Action AutoPilot bool `json:"autoPilot,omitempty"` NoCheckStsAreEqual bool `json:"noCheckStsAreEqual,omitempty"` //GCStdout set the parameter CASSANDRA_GC_STDOUT which configure the JVM -Xloggc: true by default GCStdout bool `json:"gcStdout,omitempty" default:"true"` //AutoUpdateSeedList defines if the Operator automatically update the SeedList according to new cluster CRD topology //by default a boolean is false AutoUpdateSeedList bool `json:"autoUpdateSeedList,omitempty"` //Very special Flag to hack CassKop reconcile loop - use with really good Care UnlockNextOperation bool `json:"_unlockNextOperation,omitempty"` //Define the Capacity for Persistent Volume Claims in the local storage DataCapacity string `json:"dataCapacity,omitempty"` //Define StorageClass for Persistent Volume Claims in the local storage. DataStorageClass string `json:"dataStorageClass,omitempty"` // Name of the ConfigMap for Cassandra configuration (cassandra.yaml) // If this is empty, operator will uses default cassandra.yaml from the baseImage // If this is not empty, operator will uses the cassandra.yaml from the Configmap instead ConfigMapName string `json:"configMapName,omitempty"` // Name of the secret to uses to authenticate on Docker registries // If this is empty, operator do nothing // If this is not empty, propagate the imagePullSecrets to the statefulsets ImagePullSecret v1.LocalObjectReference `json:"imagePullSecret,omitempty"` // JMX Secret if Set is used to set JMX_USER and JMX_PASSWORD ImageJolokiaSecret v1.LocalObjectReference `json:"imageJolokiaSecret,omitempty"` //Topology to create Cassandra DC and Racks and to target appropriate Kubernetes Nodes Topology Topology `json:"topology,omitempty"` }
CassandraClusterSpec defines the configuration 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 { // Phase indicates the state this Cassandra cluster jumps in. // Phase goes as one way as below: // Initial -> Running <-> updating Phase string `json:"phase,omitempty"` // Store last action at cluster level LastClusterAction string `json:"lastClusterAction,omitempty"` LastClusterActionStatus string `json:"lastClusterActionStatus,omitempty"` //seeList to be used in Cassandra's Pods (computed by the Operator) SeedList []string `json:"seedlist,omitempty"` //CassandraRackStatusList list les Status pour chaque Racks CassandraRackStatus map[string]*CassandraRackStatus `json:"cassandraRackStatus,omitempty"` }
CassandraClusterStatus defines Global 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 CassandraLastAction ¶
type CassandraLastAction struct { // Action is the specific actions that can be done on a Cassandra Cluster // such as cleanup, upgradesstables.. Status string `json:"status,omitempty"` // Type d'action a effectuer : UpdateVersion, UpdateBaseImage, UpdateConfigMap.. Name string `json:"Name,omitempty"` StartTime *metav1.Time `json:"startTime,omitempty"` EndTime *metav1.Time `json:"endTime,omitempty"` // PodNames of updated Cassandra nodes. Updated means the Cassandra container image version // matches the spec's version. UpdatedNodes []string `json:"updatedNodes,omitempty"` }
CassandraLastAction defines status of the CassandraStatefulset
func (*CassandraLastAction) DeepCopy ¶
func (in *CassandraLastAction) DeepCopy() *CassandraLastAction
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CassandraLastAction.
func (*CassandraLastAction) DeepCopyInto ¶
func (in *CassandraLastAction) DeepCopyInto(out *CassandraLastAction)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CassandraRackStatus ¶
type CassandraRackStatus struct { // Phase indicates the state this Cassandra cluster jumps in. // Phase goes as one way as below: // Initial -> Running <-> updating Phase string `json:"phase,omitempty"` // CassandraLastAction is the set of Cassandra State & Actions: Active, Standby.. CassandraLastAction CassandraLastAction `json:"cassandraLastAction,omitempty"` // PodLastOperation manage status for Pod Operation (nodetool cleanup, upgradesstables..) PodLastOperation PodLastOperation `json:"podLastOperation,omitempty"` }
CassandraRackStatus defines states of Cassandra for 1 rack (1 statefulset)
func (*CassandraRackStatus) DeepCopy ¶
func (in *CassandraRackStatus) DeepCopy() *CassandraRackStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CassandraRackStatus.
func (*CassandraRackStatus) DeepCopyInto ¶
func (in *CassandraRackStatus) DeepCopyInto(out *CassandraRackStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CassandraResources ¶
type CassandraResources struct { Requests CPUAndMem `json:"requests,omitempty"` Limits CPUAndMem `json:"limits,omitempty"` }
CassandraClusterResources sets the limits and requests for a container
func (*CassandraResources) DeepCopy ¶
func (in *CassandraResources) DeepCopy() *CassandraResources
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CassandraResources.
func (*CassandraResources) DeepCopyInto ¶
func (in *CassandraResources) DeepCopyInto(out *CassandraResources)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DC ¶
type DC struct { //Name of the CassandraDC Name string `json:"name,omitempty"` //Labels used to target Kubernetes nodes Labels map[string]string `json:"labels,omitempty"` //List of Racks defined in the Cassandra DC Rack RackSlice `json:"rack,omitempty"` // Number of nodes to deploy for a Cassandra deployment in each Racks. // Default: 1. // Optional, if not filled, used value define in CassandraClusterSpec NodesPerRacks *int32 `json:"nodesPerRacks,omitempty"` //NumTokens : configure the CASSANDRA_NUM_TOKENS parameter which can be different for each DD NumTokens *int32 `json:"numTokens,omitempty"` }
DC allow to configure Cassandra RC according to kubernetes nodeselector labels
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 DCSlice ¶
type DCSlice []DC
func (DCSlice) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DCSlice.
func (DCSlice) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodLastOperation ¶
type PodLastOperation struct { Name string `json:"Name,omitempty"` Status string `json:"status,omitempty"` StartTime *metav1.Time `json:"startTime,omitempty"` EndTime *metav1.Time `json:"endTime,omitempty"` //List of pods running an operation Pods []string `json:"pods,omitempty"` //List of pods that run an operation successfully PodsOK []string `json:"podsOK,omitempty"` //List of pods that fail to run an operation PodsKO []string `json:"podsKO,omitempty"` // Name of operator OperatorName string `json:"operatorName,omitempty"` }
PodLastOperation is managed via labels on Pods set by an administrator
func (*PodLastOperation) DeepCopy ¶
func (in *PodLastOperation) DeepCopy() *PodLastOperation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodLastOperation.
func (*PodLastOperation) DeepCopyInto ¶
func (in *PodLastOperation) DeepCopyInto(out *PodLastOperation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodPolicy ¶
type PodPolicy struct { // Resources is the resource requirements for the containers. Resources v1.ResourceRequirements `json:"resources,omitempty"` }
PodPolicy defines the policy for pods owned by vault operator.
func (*PodPolicy) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodPolicy.
func (*PodPolicy) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Rack ¶
type Rack struct { //Name of the Rack Name string `json:"name,omitempty"` // Flag to tell the operator to trigger a rolling restart of the Rack RollingRestart bool `json:"rollingRestart,omitempty"` //The Partition to control the Statefulset Upgrade RollingPartition int32 `json:"rollingPartition,omitempty"` //Labels used to target Kubernetes nodes Labels map[string]string `json:"labels,omitempty"` }
Rack allow to configure Cassandra Rack according to kubernetes nodeselector labels
func (*Rack) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Rack.
func (*Rack) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RackSlice ¶
type RackSlice []Rack
func (RackSlice) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RackSlice.
func (RackSlice) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Topology ¶
type Topology struct { //Liste of DC defined in the CassandraCluster DC DCSlice `json:"dc,omitempty"` }
Topology allow to configure the Cassandra Topology according to kubernetes Nodes labels
func (*Topology) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Topology.
func (*Topology) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.