Repository: scylladb/scylla-operator
Pull request #216 (2020-10-26 19:18:06)

Rename Cluster to ScyllaCluster

zimnx: LGTM, let's wait for 0.3 release before merging this.
espindola: > LGTM, let's wait for 0.3 release before merging this.

Anything I can do to help with the 0.3 release?
zimnx: @espindola please rebase the conflicts
espindola: rebased and pushed.

Patch:
diff --git a/config/operator/crd/bases/scylla.scylladb.com_clusters.yaml b/config/operator/crd/bases/scylla.scylladb.com_scyllaclusters.yaml
similarity index 99%
rename from config/operator/crd/bases/scylla.scylladb.com_clusters.yaml
rename to config/operator/crd/bases/scylla.scylladb.com_scyllaclusters.yaml
index 08d1da708..854ca5c5b 100644
--- a/config/operator/crd/bases/scylla.scylladb.com_clusters.yaml
+++ b/config/operator/crd/bases/scylla.scylladb.com_scyllaclusters.yaml
@@ -6,14 +6,14 @@ metadata:
   annotations:
     controller-gen.kubebuilder.io/version: v0.3.0
   creationTimestamp: null
-  name: clusters.scylla.scylladb.com
+  name: scyllaclusters.scylla.scylladb.com
 spec:
   group: scylla.scylladb.com
   names:
-    kind: Cluster
-    listKind: ClusterList
-    plural: clusters
-    singular: cluster
+    kind: ScyllaCluster
+    listKind: ScyllaClusterList
+    plural: scyllaclusters
+    singular: scyllacluster
   scope: Namespaced
   subresources:
     status: {}
diff --git a/config/operator/crd/kustomization.yaml b/config/operator/crd/kustomization.yaml
index 28e10f4dd..91cb1780f 100644
--- a/config/operator/crd/kustomization.yaml
+++ b/config/operator/crd/kustomization.yaml
@@ -2,7 +2,7 @@
 # since it depends on service name and namespace that are out of this kustomize package.
 # It should be run by config/default
 resources:
-- bases/scylla.scylladb.com_clusters.yaml
+- bases/scylla.scylladb.com_scyllaclusters.yaml
 # +kubebuilder:scaffold:crdkustomizeresource
 
 patchesStrategicMerge:
diff --git a/config/operator/crd/patches/cainjection_in_clusters.yaml b/config/operator/crd/patches/cainjection_in_clusters.yaml
index 9e5f5d13b..c6054174d 100644
--- a/config/operator/crd/patches/cainjection_in_clusters.yaml
+++ b/config/operator/crd/patches/cainjection_in_clusters.yaml
@@ -5,4 +5,4 @@ kind: CustomResourceDefinition
 metadata:
   annotations:
     cert-manager.io/inject-ca-from: $(CERTIFICATE_NAMESPACE)/$(CERTIFICATE_NAME)
-  name: clusters.scylla.scylladb.com
+  name: scyllaclusters.scylla.scylladb.com
diff --git a/config/operator/crd/patches/webhook_in_clusters.yaml b/config/operator/crd/patches/webhook_in_clusters.yaml
index bb6b1214d..aa9171d2f 100644
--- a/config/operator/crd/patches/webhook_in_clusters.yaml
+++ b/config/operator/crd/patches/webhook_in_clusters.yaml
@@ -3,7 +3,7 @@
 apiVersion: apiextensions.k8s.io/v1beta1
 kind: CustomResourceDefinition
 metadata:
-  name: clusters.scylla.scylladb.com
+  name: scyllaclusters.scylla.scylladb.com
 spec:
   preserveUnknownFields: false
   conversion:
diff --git a/docs/source/generic.md b/docs/source/generic.md
index d1dc87db1..ead63ea86 100644
--- a/docs/source/generic.md
+++ b/docs/source/generic.md
@@ -87,7 +87,7 @@ We can verify that a Kubernetes object has been created that represents our new
 This is important because it shows that  has successfully extended Kubernetes to make Scylla clusters a first class citizen in the Kubernetes cloud-native environment.
 
 ```console
-kubectl -n scylla get clusters.scylla.scylladb.com
+kubectl -n scylla get ScyllaCluster
 ```
 
 Checking the pods that are created is as easy as:
@@ -126,7 +126,7 @@ kubectl -n scylla get pod -l app=scylla
 You can also track the state of a Scylla cluster from its status. To check the current status of a Cluster, run:
 
 ```console
-kubectl -n scylla describe clusters.scylla.scylladb.com simple-cluster
+kubectl -n scylla describe ScyllaCluster simple-cluster
 ```
 
 Checking the logs of the running scylla instances can be done like this:
@@ -312,13 +312,13 @@ After a restart the operator will use the security token when it interacts with
 
 The operator supports scale up of a rack as well as addition of new racks. To make the changes, you can use:
 ```console
-kubectl -n scylla edit clusters.scylla.scylladb.com simple-cluster
+kubectl -n scylla edit ScyllaCluster simple-cluster
 ```
 * To scale up a rack, change the `Spec.Members` field of the rack to the desired value.
 * To add a new rack, append the `racks` list with a new rack. Remember to choose a different rack name for the new rack.
 * After editing and saving the yaml, check your cluster's Status and Events for information on what's happening:  
 ```console
-kubectl -n scylla describe clusters.scylla.scylladb.com simple-cluster 
+kubectl -n scylla describe ScyllaCluster simple-cluster
 ```
 
 ## Benchmark with cassandra-stress
@@ -375,12 +375,12 @@ kubectl delete -f scripts/cassandra-stress.yaml
 
 The operator supports scale down of a rack. To make the changes, you can use:
 ```console
-kubectl -n scylla edit clusters.scylla.scylladb.com simple-cluster
+kubectl -n scylla edit ScyllaCluster simple-cluster
 ```
 * To scale down a rack, change the `Spec.Members` field of the rack to the desired value.
 * After editing and saving the yaml, check your cluster's Status and Events for information on what's happening:
 ```console
-kubectl -n scylla describe clusters.scylla.scylladb.com simple-cluster
+kubectl -n scylla describe ScyllaCluster simple-cluster
 ```
 
 ## Clean Up
diff --git a/examples/eks/operator.yaml b/examples/eks/operator.yaml
index a741b334b..b51334b6f 100644
--- a/examples/eks/operator.yaml
+++ b/examples/eks/operator.yaml
@@ -12,7 +12,7 @@ metadata:
     cert-manager.io/inject-ca-from: scylla-operator-system/scylla-operator-serving-cert
     controller-gen.kubebuilder.io/version: v0.3.0
   creationTimestamp: null
-  name: clusters.scylla.scylladb.com
+  name: scyllaclusters.scylla.scylladb.com
 spec:
   conversion:
     strategy: Webhook
@@ -24,10 +24,10 @@ spec:
         path: /convert
   group: scylla.scylladb.com
   names:
-    kind: Cluster
-    listKind: ClusterList
-    plural: clusters
-    singular: cluster
+    kind: ScyllaCluster
+    listKind: ScyllaClusterList
+    plural: scyllaclusters
+    singular: scyllacluster
   preserveUnknownFields: false
   scope: Namespaced
   subresources:
diff --git a/examples/generic/operator.yaml b/examples/generic/operator.yaml
index a741b334b..b51334b6f 100644
--- a/examples/generic/operator.yaml
+++ b/examples/generic/operator.yaml
@@ -12,7 +12,7 @@ metadata:
     cert-manager.io/inject-ca-from: scylla-operator-system/scylla-operator-serving-cert
     controller-gen.kubebuilder.io/version: v0.3.0
   creationTimestamp: null
-  name: clusters.scylla.scylladb.com
+  name: scyllaclusters.scylla.scylladb.com
 spec:
   conversion:
     strategy: Webhook
@@ -24,10 +24,10 @@ spec:
         path: /convert
   group: scylla.scylladb.com
   names:
-    kind: Cluster
-    listKind: ClusterList
-    plural: clusters
-    singular: cluster
+    kind: ScyllaCluster
+    listKind: ScyllaClusterList
+    plural: scyllaclusters
+    singular: scyllacluster
   preserveUnknownFields: false
   scope: Namespaced
   subresources:
diff --git a/examples/gke/operator.yaml b/examples/gke/operator.yaml
index a741b334b..b51334b6f 100644
--- a/examples/gke/operator.yaml
+++ b/examples/gke/operator.yaml
@@ -12,7 +12,7 @@ metadata:
     cert-manager.io/inject-ca-from: scylla-operator-system/scylla-operator-serving-cert
     controller-gen.kubebuilder.io/version: v0.3.0
   creationTimestamp: null
-  name: clusters.scylla.scylladb.com
+  name: scyllaclusters.scylla.scylladb.com
 spec:
   conversion:
     strategy: Webhook
@@ -24,10 +24,10 @@ spec:
         path: /convert
   group: scylla.scylladb.com
   names:
-    kind: Cluster
-    listKind: ClusterList
-    plural: clusters
-    singular: cluster
+    kind: ScyllaCluster
+    listKind: ScyllaClusterList
+    plural: scyllaclusters
+    singular: scyllacluster
   preserveUnknownFields: false
   scope: Namespaced
   subresources:
diff --git a/pkg/api/v1alpha1/cluster_types.go b/pkg/api/v1alpha1/cluster_types.go
index 3a489ee8d..456daba5a 100644
--- a/pkg/api/v1alpha1/cluster_types.go
+++ b/pkg/api/v1alpha1/cluster_types.go
@@ -253,7 +253,7 @@ const (
 // +kubebuilder:subresource:status
 
 // Cluster is the Schema for the clusters API
-type Cluster struct {
+type ScyllaCluster struct {
 	metav1.TypeMeta   `json:",inline"`
 	metav1.ObjectMeta `json:"metadata,omitempty"`
 
@@ -264,10 +264,10 @@ type Cluster struct {
 // +kubebuilder:object:root=true
 
 // ClusterList contains a list of Cluster
-type ClusterList struct {
+type ScyllaClusterList struct {
 	metav1.TypeMeta `json:",inline"`
 	metav1.ListMeta `json:"metadata,omitempty"`
-	Items           []Cluster `json:"items"`
+	Items           []ScyllaCluster `json:"items"`
 }
 
 // Version of scylla docker starting from which passing arguments via entry-point is supported
@@ -279,5 +279,5 @@ func init() {
 	if ScyllaVersionThatSupportsArgs, err = semver.Parse(ScyllaVersionThatSupportsArgsText); err != nil {
 		panic(err)
 	}
-	SchemeBuilder.Register(&Cluster{}, &ClusterList{})
+	SchemeBuilder.Register(&ScyllaCluster{}, &ScyllaClusterList{})
 }
diff --git a/pkg/api/v1alpha1/cluster_validation.go b/pkg/api/v1alpha1/cluster_validation.go
index 20057dfec..835a05f9a 100644
--- a/pkg/api/v1alpha1/cluster_validation.go
+++ b/pkg/api/v1alpha1/cluster_validation.go
@@ -8,7 +8,7 @@ import (
 	"k8s.io/apimachinery/pkg/util/sets"
 )
 
-func checkValues(c *Cluster) error {
+func checkValues(c *ScyllaCluster) error {
 	rackNames := sets.NewString()
 
 	if len(c.Spec.ScyllaArgs) > 0 {
@@ -59,7 +59,7 @@ func checkValues(c *Cluster) error {
 	return nil
 }
 
-func checkTransitions(old, new *Cluster) error {
+func checkTransitions(old, new *ScyllaCluster) error {
 	oldVersion, err := semver.Parse(old.Spec.Version)
 	if err != nil {
 		return errors.Errorf("invalid old semantic version, err=%s", err)
diff --git a/pkg/api/v1alpha1/cluster_webhook.go b/pkg/api/v1alpha1/cluster_webhook.go
index f5d0fbb41..8c9bb54ce 100644
--- a/pkg/api/v1alpha1/cluster_webhook.go
+++ b/pkg/api/v1alpha1/cluster_webhook.go
@@ -27,7 +27,7 @@ import (
 // log is for logging in this package.
 var clusterlog = logf.Log.WithName("cluster-resource")
 
-func (r *Cluster) SetupWebhookWithManager(mgr ctrl.Manager) error {
+func (r *ScyllaCluster) SetupWebhookWithManager(mgr ctrl.Manager) error {
 	return ctrl.NewWebhookManagedBy(mgr).
 		For(r).
 		Complete()
@@ -37,12 +37,12 @@ func (r *Cluster) SetupWebhookWithManager(mgr ctrl.Manager) error {
 //
 
 // +kubebuilder:webhook:path=/validate-scylla-scylladb-com-v1alpha1-cluster,failurePolicy=fail,groups=scylla.scylladb.com,resources=clusters,verbs=create;update,versions=v1alpha1,name=webhook.scylla.scylladb.com,mutating=false
-var _ webhook.Validator = &Cluster{}
+var _ webhook.Validator = &ScyllaCluster{}
 
 // +kubebuilder:webhook:path=/mutate-scylla-scylladb-com-v1alpha1-cluster,failurePolicy=fail,groups=scylla.scylladb.com,resources=clusters,verbs=create;update,versions=v1alpha1,name=webhook.scylla.scylladb.com,mutating=true
-var _ webhook.Defaulter = &Cluster{}
+var _ webhook.Defaulter = &ScyllaCluster{}
 
-func (c *Cluster) Default() {
+func (c *ScyllaCluster) Default() {
 	for i, repairTask := range c.Spec.Repairs {
 		if repairTask.StartDate == nil {
 			c.Spec.Repairs[i].StartDate = pointer.StringPtr("now")
@@ -75,7 +75,7 @@ func (c *Cluster) Default() {
 }
 
 // ValidateCreate implements webhook.Validator so a webhook will be registered for the type
-func (r *Cluster) ValidateCreate() error {
+func (r *ScyllaCluster) ValidateCreate() error {
 	clusterlog.Info("validate create", "name", r.Name)
 
 	// First, check the values
@@ -87,7 +87,7 @@ func (r *Cluster) ValidateCreate() error {
 }
 
 // ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
-func (r *Cluster) ValidateUpdate(old runtime.Object) error {
+func (r *ScyllaCluster) ValidateUpdate(old runtime.Object) error {
 	clusterlog.Info("validate update", "name", r.Name)
 
 	// First, check the values
@@ -95,7 +95,7 @@ func (r *Cluster) ValidateUpdate(old runtime.Object) error {
 		return err
 	}
 
-	if err := checkTransitions(old.(*Cluster), r); err != nil {
+	if err := checkTransitions(old.(*ScyllaCluster), r); err != nil {
 		return err
 	}
 
@@ -103,7 +103,7 @@ func (r *Cluster) ValidateUpdate(old runtime.Object) error {
 }
 
 // ValidateDelete implements webhook.Validator so a webhook will be registered for the type
-func (r *Cluster) ValidateDelete() error {
+func (r *ScyllaCluster) ValidateDelete() error {
 	clusterlog.Info("validate delete", "name", r.Name)
 	// no validation during delete
 	return nil
diff --git a/pkg/api/v1alpha1/zz_generated.deepcopy.go b/pkg/api/v1alpha1/zz_generated.deepcopy.go
index 40f37de00..21619cd6c 100644
--- a/pkg/api/v1alpha1/zz_generated.deepcopy.go
+++ b/pkg/api/v1alpha1/zz_generated.deepcopy.go
@@ -107,65 +107,6 @@ func (in *BackupTaskStatus) DeepCopy() *BackupTaskStatus {
 	return out
 }
 
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *Cluster) DeepCopyInto(out *Cluster) {
-	*out = *in
-	out.TypeMeta = in.TypeMeta
-	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
-	in.Spec.DeepCopyInto(&out.Spec)
-	in.Status.DeepCopyInto(&out.Status)
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Cluster.
-func (in *Cluster) DeepCopy() *Cluster {
-	if in == nil {
-		return nil
-	}
-	out := new(Cluster)
-	in.DeepCopyInto(out)
-	return out
-}
-
-// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
-func (in *Cluster) DeepCopyObject() runtime.Object {
-	if c := in.DeepCopy(); c != nil {
-		return c
-	}
-	return nil
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *ClusterList) DeepCopyInto(out *ClusterList) {
-	*out = *in
-	out.TypeMeta = in.TypeMeta
-	in.ListMeta.DeepCopyInto(&out.ListMeta)
-	if in.Items != nil {
-		in, out := &in.Items, &out.Items
-		*out = make([]Cluster, len(*in))
-		for i := range *in {
-			(*in)[i].DeepCopyInto(&(*out)[i])
-		}
-	}
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterList.
-func (in *ClusterList) DeepCopy() *ClusterList {
-	if in == nil {
-		return nil
-	}
-	out := new(ClusterList)
-	in.DeepCopyInto(out)
-	return out
-}
-
-// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
-func (in *ClusterList) DeepCopyObject() runtime.Object {
-	if c := in.DeepCopy(); c != nil {
-		return c
-	}
-	return nil
-}
-
 // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
 func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec) {
 	*out = *in
@@ -520,6 +461,65 @@ func (in *SchedulerTaskSpec) DeepCopy() *SchedulerTaskSpec {
 	return out
 }
 
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *ScyllaCluster) DeepCopyInto(out *ScyllaCluster) {
+	*out = *in
+	out.TypeMeta = in.TypeMeta
+	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
+	in.Spec.DeepCopyInto(&out.Spec)
+	in.Status.DeepCopyInto(&out.Status)
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScyllaCluster.
+func (in *ScyllaCluster) DeepCopy() *ScyllaCluster {
+	if in == nil {
+		return nil
+	}
+	out := new(ScyllaCluster)
+	in.DeepCopyInto(out)
+	return out
+}
+
+// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
+func (in *ScyllaCluster) DeepCopyObject() runtime.Object {
+	if c := in.DeepCopy(); c != nil {
+		return c
+	}
+	return nil
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *ScyllaClusterList) DeepCopyInto(out *ScyllaClusterList) {
+	*out = *in
+	out.TypeMeta = in.TypeMeta
+	in.ListMeta.DeepCopyInto(&out.ListMeta)
+	if in.Items != nil {
+		in, out := &in.Items, &out.Items
+		*out = make([]ScyllaCluster, len(*in))
+		for i := range *in {
+			(*in)[i].DeepCopyInto(&(*out)[i])
+		}
+	}
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScyllaClusterList.
+func (in *ScyllaClusterList) DeepCopy() *ScyllaClusterList {
+	if in == nil {
+		return nil
+	}
+	out := new(ScyllaClusterList)
+	in.DeepCopyInto(out)
+	return out
+}
+
+// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
+func (in *ScyllaClusterList) DeepCopyObject() runtime.Object {
+	if c := in.DeepCopy(); c != nil {
+		return c
+	}
+	return nil
+}
+
 // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
 func (in *StorageSpec) DeepCopyInto(out *StorageSpec) {
 	*out = *in
diff --git a/pkg/cmd/operator.go b/pkg/cmd/operator.go
index 9889f1cca..71fb42060 100644
--- a/pkg/cmd/operator.go
+++ b/pkg/cmd/operator.go
@@ -55,7 +55,7 @@ func newOperatorCmd(ctx context.Context, logger log.Logger, level zap.AtomicLeve
 
 			// Enable webhook if requested
 			if opts.EnableAdmissionWebhook {
-				if err = (&v1alpha1.Cluster{}).SetupWebhookWithManager(mgr); err != nil {
+				if err = (&v1alpha1.ScyllaCluster{}).SetupWebhookWithManager(mgr); err != nil {
 					logger.Fatal(ctx, "unable to add web hook to manager", "error", err)
 				}
 			}
diff --git a/pkg/controllers/cluster/actions/create.go b/pkg/controllers/cluster/actions/create.go
index f923877f0..742b4a976 100644
--- a/pkg/controllers/cluster/actions/create.go
+++ b/pkg/controllers/cluster/actions/create.go
@@ -21,11 +21,11 @@ var _ Action = &RackCreate{}
 
 type RackCreate struct {
 	Rack          scyllav1alpha1.RackSpec
-	Cluster       *scyllav1alpha1.Cluster
+	Cluster       *scyllav1alpha1.ScyllaCluster
 	OperatorImage string
 }
 
-func NewRackCreateAction(r scyllav1alpha1.RackSpec, c *scyllav1alpha1.Cluster, image string) *RackCreate {
+func NewRackCreateAction(r scyllav1alpha1.RackSpec, c *scyllav1alpha1.ScyllaCluster, image string) *RackCreate {
 	return &RackCreate{
 		Rack:          r,
 		Cluster:       c,
diff --git a/pkg/controllers/cluster/actions/scale_down.go b/pkg/controllers/cluster/actions/scale_down.go
index 1baf931f8..4ea1333a4 100644
--- a/pkg/controllers/cluster/actions/scale_down.go
+++ b/pkg/controllers/cluster/actions/scale_down.go
@@ -19,10 +19,10 @@ var _ Action = &RackScaleDown{}
 
 type RackScaleDown struct {
 	Rack    scyllav1alpha1.RackSpec
-	Cluster *scyllav1alpha1.Cluster
+	Cluster *scyllav1alpha1.ScyllaCluster
 }
 
-func NewRackScaleDownAction(r scyllav1alpha1.RackSpec, c *scyllav1alpha1.Cluster) *RackScaleDown {
+func NewRackScaleDownAction(r scyllav1alpha1.RackSpec, c *scyllav1alpha1.ScyllaCluster) *RackScaleDown {
 	return &RackScaleDown{
 		Rack:    r,
 		Cluster: c,
diff --git a/pkg/controllers/cluster/actions/scale_up.go b/pkg/controllers/cluster/actions/scale_up.go
index b40f4f600..700fbf073 100644
--- a/pkg/controllers/cluster/actions/scale_up.go
+++ b/pkg/controllers/cluster/actions/scale_up.go
@@ -19,10 +19,10 @@ var _ Action = &RackScaleUp{}
 
 type RackScaleUp struct {
 	Rack    scyllav1alpha1.RackSpec
-	Cluster *scyllav1alpha1.Cluster
+	Cluster *scyllav1alpha1.ScyllaCluster
 }
 
-func NewRackScaleUpAction(r scyllav1alpha1.RackSpec, c *scyllav1alpha1.Cluster) *RackScaleUp {
+func NewRackScaleUpAction(r scyllav1alpha1.RackSpec, c *scyllav1alpha1.ScyllaCluster) *RackScaleUp {
 	return &RackScaleUp{
 		Rack:    r,
 		Cluster: c,
diff --git a/pkg/controllers/cluster/actions/upgrade_version.go b/pkg/controllers/cluster/actions/upgrade_version.go
index df8df0bc7..95b181ac2 100644
--- a/pkg/controllers/cluster/actions/upgrade_version.go
+++ b/pkg/controllers/cluster/actions/upgrade_version.go
@@ -19,11 +19,11 @@ const (
 )
 
 type ClusterVersionUpgrade struct {
-	Cluster *scyllav1alpha1.Cluster
+	Cluster *scyllav1alpha1.ScyllaCluster
 	logger  log.Logger
 }
 
-func NewClusterVersionUpgradeAction(c *scyllav1alpha1.Cluster, l log.Logger) *ClusterVersionUpgrade {
+func NewClusterVersionUpgradeAction(c *scyllav1alpha1.ScyllaCluster, l log.Logger) *ClusterVersionUpgrade {
 	return &ClusterVersionUpgrade{
 		Cluster: c,
 		logger:  l,
diff --git a/pkg/controllers/cluster/cleanup.go b/pkg/controllers/cluster/cleanup.go
index 7e5d696d6..7985e7ecc 100644
--- a/pkg/controllers/cluster/cleanup.go
+++ b/pkg/controllers/cluster/cleanup.go
@@ -14,7 +14,7 @@ import (
 )
 
 // cleanup deletes all resources remaining because of cluster scale downs
-func (cc *ClusterReconciler) cleanup(ctx context.Context, c *scyllav1alpha1.Cluster) error {
+func (cc *ClusterReconciler) cleanup(ctx context.Context, c *scyllav1alpha1.ScyllaCluster) error {
 	svcList := &corev1.ServiceList{}
 	sts := &appsv1.StatefulSet{}
 	logger := cc.Logger.With("cluster", c.Namespace+"/"+c.Name, "resourceVersion", c.ResourceVersion)
@@ -68,7 +68,7 @@ func (cc *ClusterReconciler) cleanup(ctx context.Context, c *scyllav1alpha1.Clus
 // Currently those are :
 //  - A PVC
 //  - A ClusterIP Service
-func (cc *ClusterReconciler) cleanupMemberResources(ctx context.Context, memberService *corev1.Service, r scyllav1alpha1.RackSpec, c *scyllav1alpha1.Cluster) error {
+func (cc *ClusterReconciler) cleanupMemberResources(ctx context.Context, memberService *corev1.Service, r scyllav1alpha1.RackSpec, c *scyllav1alpha1.ScyllaCluster) error {
 	memberName := memberService.Name
 	logger := util.LoggerForCluster(c)
 	logger.Info(ctx, "Cleaning up resources for member", "name", memberName)
diff --git a/pkg/controllers/cluster/cluster_controller.go b/pkg/controllers/cluster/cluster_controller.go
index 73788f9f2..0780eadd0 100644
--- a/pkg/controllers/cluster/cluster_controller.go
+++ b/pkg/controllers/cluster/cluster_controller.go
@@ -94,7 +94,7 @@ func (cc *ClusterReconciler) Reconcile(request ctrl.Request) (ctrl.Result, error
 	ctx := log.WithNewTraceID(context.Background())
 	cc.Logger.Debug(ctx, "Reconcile request", "request", request.String())
 	// Fetch the Cluster instance
-	c := &scyllav1alpha1.Cluster{}
+	c := &scyllav1alpha1.ScyllaCluster{}
 	err := cc.UncachedClient.Get(ctx, request.NamespacedName, c)
 	if err != nil {
 		if apierrors.IsNotFound(err) {
@@ -144,8 +144,8 @@ func (r *ClusterReconciler) SetupWithManager(mgr ctrl.Manager) error {
 	//////////////////////////////////
 	clusterSpecChangedPredicate := predicate.Funcs{
 		UpdateFunc: func(e event.UpdateEvent) bool {
-			oldCluster := e.ObjectOld.(*scyllav1alpha1.Cluster)
-			newCluster := e.ObjectNew.(*scyllav1alpha1.Cluster)
+			oldCluster := e.ObjectOld.(*scyllav1alpha1.ScyllaCluster)
+			newCluster := e.ObjectNew.(*scyllav1alpha1.ScyllaCluster)
 			if reflect.DeepEqual(oldCluster, newCluster) {
 				return false
 			}
@@ -154,7 +154,7 @@ func (r *ClusterReconciler) SetupWithManager(mgr ctrl.Manager) error {
 	}
 
 	err = c.Watch(
-		&source.Kind{Type: &scyllav1alpha1.Cluster{}},
+		&source.Kind{Type: &scyllav1alpha1.ScyllaCluster{}},
 		&handler.EnqueueRequestForObject{},
 		predicate.ResourceVersionChangedPredicate{},
 		clusterSpecChangedPredicate,
@@ -171,7 +171,7 @@ func (r *ClusterReconciler) SetupWithManager(mgr ctrl.Manager) error {
 		&source.Kind{Type: &appsv1.StatefulSet{}},
 		&handler.EnqueueRequestForOwner{
 			IsController: true,
-			OwnerType:    &scyllav1alpha1.Cluster{},
+			OwnerType:    &scyllav1alpha1.ScyllaCluster{},
 		},
 		predicate.ResourceVersionChangedPredicate{},
 	)
@@ -187,7 +187,7 @@ func (r *ClusterReconciler) SetupWithManager(mgr ctrl.Manager) error {
 		&source.Kind{Type: &corev1.Service{}},
 		&handler.EnqueueRequestForOwner{
 			IsController: true,
-			OwnerType:    &scyllav1alpha1.Cluster{},
+			OwnerType:    &scyllav1alpha1.ScyllaCluster{},
 		},
 		predicate.ResourceVersionChangedPredicate{},
 	)
diff --git a/pkg/controllers/cluster/resource/resource.go b/pkg/controllers/cluster/resource/resource.go
index 9a1f51c4e..b0f651997 100644
--- a/pkg/controllers/cluster/resource/resource.go
+++ b/pkg/controllers/cluster/resource/resource.go
@@ -20,7 +20,7 @@ const (
 	officialScyllaManagerAgentRepo = "scylladb/scylla-manager-agent"
 )
 
-func HeadlessServiceForCluster(c *scyllav1alpha1.Cluster) *corev1.Service {
+func HeadlessServiceForCluster(c *scyllav1alpha1.ScyllaCluster) *corev1.Service {
 	return &corev1.Service{
 		ObjectMeta: metav1.ObjectMeta{
 			Name:            naming.HeadlessServiceNameForCluster(c),
@@ -42,7 +42,7 @@ func HeadlessServiceForCluster(c *scyllav1alpha1.Cluster) *corev1.Service {
 	}
 }
 
-func MemberServiceForPod(pod *corev1.Pod, cluster *scyllav1alpha1.Cluster) *corev1.Service {
+func MemberServiceForPod(pod *corev1.Pod, cluster *scyllav1alpha1.ScyllaCluster) *corev1.Service {
 	labels := naming.ClusterLabels(cluster)
 	labels[naming.DatacenterNameLabel] = pod.Labels[naming.DatacenterNameLabel]
 	labels[naming.RackNameLabel] = pod.Labels[naming.RackNameLabel]
@@ -66,7 +66,7 @@ func MemberServiceForPod(pod *corev1.Pod, cluster *scyllav1alpha1.Cluster) *core
 	}
 }
 
-func memberServicePorts(cluster *scyllav1alpha1.Cluster) []corev1.ServicePort {
+func memberServicePorts(cluster *scyllav1alpha1.ScyllaCluster) []corev1.ServicePort {
 	ports := []corev1.ServicePort{
 		{
 			Name: "inter-node-communication",
@@ -105,7 +105,7 @@ func memberServicePorts(cluster *scyllav1alpha1.Cluster) []corev1.ServicePort {
 	return ports
 }
 
-func StatefulSetForRack(r scyllav1alpha1.RackSpec, c *scyllav1alpha1.Cluster, sidecarImage string) *appsv1.StatefulSet {
+func StatefulSetForRack(r scyllav1alpha1.RackSpec, c *scyllav1alpha1.ScyllaCluster, sidecarImage string) *appsv1.StatefulSet {
 	rackLabels := naming.RackLabels(r, c)
 	placement := r.Placement
 	if placement == nil {
@@ -362,7 +362,7 @@ func StatefulSetForRack(r scyllav1alpha1.RackSpec, c *scyllav1alpha1.Cluster, si
 	return sts
 }
 
-func containerPorts(c *scyllav1alpha1.Cluster) []corev1.ContainerPort {
+func containerPorts(c *scyllav1alpha1.ScyllaCluster) []corev1.ContainerPort {
 	ports := []corev1.ContainerPort{
 		{
 			Name:          "intra-node",
@@ -433,7 +433,7 @@ func sysctlInitContainer(sysctls []string) *corev1.Container {
 	}
 }
 
-func agentContainer(c *scyllav1alpha1.Cluster) *corev1.Container {
+func agentContainer(c *scyllav1alpha1.ScyllaCluster) *corev1.Container {
 	return &corev1.Container{
 		Name:            "scylla-manager-agent",
 		Image:           agentImageForCluster(c),
@@ -474,7 +474,7 @@ func agentContainer(c *scyllav1alpha1.Cluster) *corev1.Container {
 	}
 }
 
-func ImageForCluster(c *scyllav1alpha1.Cluster) string {
+func ImageForCluster(c *scyllav1alpha1.ScyllaCluster) string {
 	repo := officialScyllaRepo
 	if c.Spec.Repository != nil {
 		repo = *c.Spec.Repository
@@ -482,7 +482,7 @@ func ImageForCluster(c *scyllav1alpha1.Cluster) string {
 	return fmt.Sprintf("%s:%s", repo, c.Spec.Version)
 }
 
-func agentImageForCluster(c *scyllav1alpha1.Cluster) string {
+func agentImageForCluster(c *scyllav1alpha1.ScyllaCluster) string {
 	repo := officialScyllaManagerAgentRepo
 	if c.Spec.AgentRepository != nil {
 		repo = *c.Spec.AgentRepository
diff --git a/pkg/controllers/cluster/service.go b/pkg/controllers/cluster/service.go
index f22b4115b..d1af9f5ba 100644
--- a/pkg/controllers/cluster/service.go
+++ b/pkg/controllers/cluster/service.go
@@ -15,7 +15,7 @@ import (
 // syncClusterHeadlessService checks if a Headless Service exists
 // for the given Cluster, in order for the StatefulSets to utilize it.
 // If it doesn't exists, then create it.
-func (cc *ClusterReconciler) syncClusterHeadlessService(ctx context.Context, c *scyllav1alpha1.Cluster) error {
+func (cc *ClusterReconciler) syncClusterHeadlessService(ctx context.Context, c *scyllav1alpha1.ScyllaCluster) error {
 	clusterHeadlessService := resource.HeadlessServiceForCluster(c)
 	_, err := controllerutil.CreateOrUpdate(ctx, cc.Client, clusterHeadlessService, serviceMutateFn(ctx, clusterHeadlessService, cc.Client))
 	if err != nil {
@@ -29,7 +29,7 @@ func (cc *ClusterReconciler) syncClusterHeadlessService(ctx context.Context, c *
 // which will serve as a static ip.
 // If it doesn't exist, it creates it.
 // It also assigns the first two members of each rack as seeds.
-func (cc *ClusterReconciler) syncMemberServices(ctx context.Context, c *scyllav1alpha1.Cluster) error {
+func (cc *ClusterReconciler) syncMemberServices(ctx context.Context, c *scyllav1alpha1.ScyllaCluster) error {
 	podlist := &corev1.PodList{}
 
 	// For every Pod of the cluster that exists, check that a
diff --git a/pkg/controllers/cluster/status.go b/pkg/controllers/cluster/status.go
index 1af691693..a3f437d4e 100644
--- a/pkg/controllers/cluster/status.go
+++ b/pkg/controllers/cluster/status.go
@@ -17,7 +17,7 @@ import (
 // UpdateStatus updates the status of the given Scylla Cluster.
 // It doesn't post the result to the API Server yet.
 // That will be done at the end of the sync loop.
-func (cc *ClusterReconciler) updateStatus(ctx context.Context, cluster *scyllav1alpha1.Cluster) error {
+func (cc *ClusterReconciler) updateStatus(ctx context.Context, cluster *scyllav1alpha1.ScyllaCluster) error {
 	cluster.Status.Racks = map[string]scyllav1alpha1.RackStatus{}
 
 	sts := &appsv1.StatefulSet{}
diff --git a/pkg/controllers/cluster/sync.go b/pkg/controllers/cluster/sync.go
index f0c53f2eb..d7c4ebf08 100644
--- a/pkg/controllers/cluster/sync.go
+++ b/pkg/controllers/cluster/sync.go
@@ -24,7 +24,7 @@ const (
 
 // sync attempts to sync the given Scylla Cluster.
 // NOTE: the Cluster Object is a DeepCopy. Modify at will.
-func (cc *ClusterReconciler) sync(c *scyllav1alpha1.Cluster) error {
+func (cc *ClusterReconciler) sync(c *scyllav1alpha1.ScyllaCluster) error {
 	ctx := log.WithNewTraceID(context.Background())
 	logger := cc.Logger.With("cluster", c.Namespace+"/"+c.Name, "resourceVersion", c.ResourceVersion)
 	logger.Info(ctx, "Starting reconciliation...")
@@ -78,7 +78,7 @@ func (cc *ClusterReconciler) sync(c *scyllav1alpha1.Cluster) error {
 	return nil
 }
 
-func (cc *ClusterReconciler) nextAction(ctx context.Context, cluster *scyllav1alpha1.Cluster) actions.Action {
+func (cc *ClusterReconciler) nextAction(ctx context.Context, cluster *scyllav1alpha1.ScyllaCluster) actions.Action {
 	logger := cc.Logger.With("cluster", cluster.Namespace+"/"+cluster.Name, "resourceVersion", cluster.ResourceVersion)
 
 	// Check if any rack isn't created
diff --git a/pkg/controllers/cluster/util/util.go b/pkg/controllers/cluster/util/util.go
index 785a0d463..5886552de 100644
--- a/pkg/controllers/cluster/util/util.go
+++ b/pkg/controllers/cluster/util/util.go
@@ -19,7 +19,7 @@ import (
 
 // LoggerForCluster returns a logger that will log with context
 // about the current cluster
-func LoggerForCluster(c *scyllav1alpha1.Cluster) log.Logger {
+func LoggerForCluster(c *scyllav1alpha1.ScyllaCluster) log.Logger {
 	l, _ := log.NewProduction(log.Config{
 		Level: zapcore.DebugLevel,
 	})
@@ -30,7 +30,7 @@ func LoggerForCluster(c *scyllav1alpha1.Cluster) log.Logger {
 // have been observed by the StatefulSet controller.
 // If they haven't, their status might be stale, so it's better to wait
 // and process them later.
-func AreStatefulSetStatusesStale(ctx context.Context, c *scyllav1alpha1.Cluster, client client.Client) (bool, error) {
+func AreStatefulSetStatusesStale(ctx context.Context, c *scyllav1alpha1.ScyllaCluster, client client.Client) (bool, error) {
 	sts := &appsv1.StatefulSet{}
 	for _, r := range c.Spec.Datacenter.Racks {
 		err := client.Get(ctx, naming.NamespacedName(naming.StatefulSetNameForRack(r, c), c.Namespace), sts)
@@ -47,7 +47,7 @@ func AreStatefulSetStatusesStale(ctx context.Context, c *scyllav1alpha1.Cluster,
 	return false, nil
 }
 
-func GetMemberServicesForRack(ctx context.Context, r scyllav1alpha1.RackSpec, c *scyllav1alpha1.Cluster, cl client.Client) ([]corev1.Service, error) {
+func GetMemberServicesForRack(ctx context.Context, r scyllav1alpha1.RackSpec, c *scyllav1alpha1.ScyllaCluster, cl client.Client) ([]corev1.Service, error) {
 	svcList := &corev1.ServiceList{}
 	err := cl.List(ctx, svcList, &client.ListOptions{
 		LabelSelector: naming.RackSelector(r, c),
@@ -89,7 +89,7 @@ func VerifyOwner(obj, owner metav1.Object) error {
 
 // NewControllerRef returns an OwnerReference to
 // the provided Cluster Object
-func NewControllerRef(c *scyllav1alpha1.Cluster) metav1.OwnerReference {
+func NewControllerRef(c *scyllav1alpha1.ScyllaCluster) metav1.OwnerReference {
 	return *metav1.NewControllerRef(c, schema.GroupVersionKind{
 		Group:   "scylla.scylladb.com",
 		Version: "v1alpha1",
diff --git a/pkg/controllers/manager/manager_controller.go b/pkg/controllers/manager/manager_controller.go
index baadd23ff..3b38d7e99 100644
--- a/pkg/controllers/manager/manager_controller.go
+++ b/pkg/controllers/manager/manager_controller.go
@@ -114,7 +114,7 @@ func (r *Reconciler) Reconcile(req ctrl.Request) (ctrl.Result, error) {
 		return ctrl.Result{}, nil
 	}
 
-	var cluster v1alpha1.Cluster
+	var cluster v1alpha1.ScyllaCluster
 	if err := r.UncachedClient.Get(ctx, req.NamespacedName, &cluster); err != nil {
 		if apierrors.IsNotFound(err) {
 			// Object not found, return.  Created objects are automatically garbage collected.
@@ -250,7 +250,7 @@ func (r *Reconciler) managerState(ctx context.Context, clusterID string) (*state
 	}, nil
 }
 
-func (r *Reconciler) getAuthToken(ctx context.Context, cluster *v1alpha1.Cluster) (string, error) {
+func (r *Reconciler) getAuthToken(ctx context.Context, cluster *v1alpha1.ScyllaCluster) (string, error) {
 	const agentConfigKey = "scylla-manager-agent.yaml"
 	secret := &v1.Secret{}
 	agentSecretName := cluster.Spec.Datacenter.Racks[0].ScyllaAgentConfig
@@ -277,6 +277,6 @@ func (r *Reconciler) getAuthToken(ctx context.Context, cluster *v1alpha1.Cluster
 
 func (r *Reconciler) SetupWithManager(mgr ctrl.Manager) error {
 	return ctrl.NewControllerManagedBy(mgr).
-		For(&v1alpha1.Cluster{}).
+		For(&v1alpha1.ScyllaCluster{}).
 		Complete(r)
 }
diff --git a/pkg/controllers/manager/sync.go b/pkg/controllers/manager/sync.go
index dbc0e56f5..97ad7bed8 100644
--- a/pkg/controllers/manager/sync.go
+++ b/pkg/controllers/manager/sync.go
@@ -21,7 +21,7 @@ type state struct {
 	BackupTasks []*BackupTask
 }
 
-func sync(ctx context.Context, cluster *v1alpha1.Cluster, authToken string, state *state) ([]action, bool, error) {
+func sync(ctx context.Context, cluster *v1alpha1.ScyllaCluster, authToken string, state *state) ([]action, bool, error) {
 	var actions []action
 	requeue := false
 	clusterID := ""
@@ -76,7 +76,7 @@ func sync(ctx context.Context, cluster *v1alpha1.Cluster, authToken string, stat
 	return actions, requeue, nil
 }
 
-func syncTasks(clusterID string, cluster *v1alpha1.Cluster, state *state) ([]action, error) {
+func syncTasks(clusterID string, cluster *v1alpha1.ScyllaCluster, state *state) ([]action, error) {
 	syncer := newStateCache(cluster, state)
 
 	var actions []action
@@ -116,7 +116,7 @@ func syncTasks(clusterID string, cluster *v1alpha1.Cluster, state *state) ([]act
 	return actions, nil
 }
 
-func syncBackupTasks(clusterID string, cluster *v1alpha1.Cluster, syncer stateCache, managerState *state) ([]action, error) {
+func syncBackupTasks(clusterID string, cluster *v1alpha1.ScyllaCluster, syncer stateCache, managerState *state) ([]action, error) {
 	var actions []action
 
 	for _, bt := range cluster.Spec.Backups {
@@ -159,7 +159,7 @@ func syncBackupTasks(clusterID string, cluster *v1alpha1.Cluster, syncer stateCa
 	return actions, nil
 }
 
-func syncRepairTasks(clusterID string, cluster *v1alpha1.Cluster, syncer stateCache, managerState *state) ([]action, error) {
+func syncRepairTasks(clusterID string, cluster *v1alpha1.ScyllaCluster, syncer stateCache, managerState *state) ([]action, error) {
 	var actions []action
 
 	for _, rt := range cluster.Spec.Repairs {
@@ -208,7 +208,7 @@ type stateCache struct {
 	statusIDNameMapping map[string]string
 }
 
-func newStateCache(cluster *v1alpha1.Cluster, state *state) stateCache {
+func newStateCache(cluster *v1alpha1.ScyllaCluster, state *state) stateCache {
 	s := stateCache{
 		stateTasks:          strset.New(),
 		specTasks:           strset.New(),
diff --git a/pkg/controllers/sidecar/config/config.go b/pkg/controllers/sidecar/config/config.go
index 5dcf206e4..8155ae995 100644
--- a/pkg/controllers/sidecar/config/config.go
+++ b/pkg/controllers/sidecar/config/config.go
@@ -195,7 +195,7 @@ func (s *ScyllaConfig) setupEntrypoint(ctx context.Context) (*exec.Cmd, error) {
 
 	// Check if we need to run in developer mode
 	devMode := "0"
-	cluster := &v1alpha1.Cluster{}
+	cluster := &v1alpha1.ScyllaCluster{}
 	err = s.Get(ctx, naming.NamespacedName(s.member.Cluster, s.member.Namespace), cluster)
 	if err != nil {
 		return nil, errors.Wrap(err, "error getting cluster")
diff --git a/pkg/naming/labels.go b/pkg/naming/labels.go
index bf9d91e77..0f8fd0859 100644
--- a/pkg/naming/labels.go
+++ b/pkg/naming/labels.go
@@ -10,7 +10,7 @@ import (
 
 // ClusterLabels returns a map of label keys and values
 // for the given Cluster.
-func ClusterLabels(c *scyllav1alpha1.Cluster) map[string]string {
+func ClusterLabels(c *scyllav1alpha1.ScyllaCluster) map[string]string {
 	labels := recommendedLabels()
 	labels[ClusterNameLabel] = c.Name
 	return labels
@@ -18,7 +18,7 @@ func ClusterLabels(c *scyllav1alpha1.Cluster) map[string]string {
 
 // DatacenterLabels returns a map of label keys and values
 // for the given Datacenter.
-func DatacenterLabels(c *scyllav1alpha1.Cluster) map[string]string {
+func DatacenterLabels(c *scyllav1alpha1.ScyllaCluster) map[string]string {
 	recLabels := recommendedLabels()
 	dcLabels := ClusterLabels(c)
 	dcLabels[DatacenterNameLabel] = c.Spec.Datacenter.Name
@@ -28,7 +28,7 @@ func DatacenterLabels(c *scyllav1alpha1.Cluster) map[string]string {
 
 // RackLabels returns a map of label keys and values
 // for the given Rack.
-func RackLabels(r scyllav1alpha1.RackSpec, c *scyllav1alpha1.Cluster) map[string]string {
+func RackLabels(r scyllav1alpha1.RackSpec, c *scyllav1alpha1.ScyllaCluster) map[string]string {
 	recLabels := recommendedLabels()
 	rackLabels := DatacenterLabels(c)
 	rackLabels[RackNameLabel] = r.Name
@@ -45,7 +45,7 @@ func StatefulSetPodLabel(name string) map[string]string {
 }
 
 // RackSelector returns a LabelSelector for the given rack.
-func RackSelector(r scyllav1alpha1.RackSpec, c *scyllav1alpha1.Cluster) labels.Selector {
+func RackSelector(r scyllav1alpha1.RackSpec, c *scyllav1alpha1.ScyllaCluster) labels.Selector {
 
 	rackLabelsSet := labels.Set(RackLabels(r, c))
 	sel := labels.SelectorFromSet(rackLabelsSet)
diff --git a/pkg/naming/names.go b/pkg/naming/names.go
index d5ccf1eeb..e43525f6d 100644
--- a/pkg/naming/names.go
+++ b/pkg/naming/names.go
@@ -26,23 +26,23 @@ func NamespacedNameForObject(obj metav1.Object) client.ObjectKey {
 	}
 }
 
-func StatefulSetNameForRack(r scyllav1alpha1.RackSpec, c *scyllav1alpha1.Cluster) string {
+func StatefulSetNameForRack(r scyllav1alpha1.RackSpec, c *scyllav1alpha1.ScyllaCluster) string {
 	return fmt.Sprintf("%s-%s-%s", c.Name, c.Spec.Datacenter.Name, r.Name)
 }
 
-func ServiceAccountNameForMembers(c *scyllav1alpha1.Cluster) string {
+func ServiceAccountNameForMembers(c *scyllav1alpha1.ScyllaCluster) string {
 	return fmt.Sprintf("%s-member", c.Name)
 }
 
-func HeadlessServiceNameForCluster(c *scyllav1alpha1.Cluster) string {
+func HeadlessServiceNameForCluster(c *scyllav1alpha1.ScyllaCluster) string {
 	return fmt.Sprintf("%s-client", c.Name)
 }
 
-func CrossNamespaceServiceNameForCluster(c *scyllav1alpha1.Cluster) string {
+func CrossNamespaceServiceNameForCluster(c *scyllav1alpha1.ScyllaCluster) string {
 	return fmt.Sprintf("%s.%s.svc.cluster.local", HeadlessServiceNameForCluster(c), c.Namespace)
 }
 
-func ManagerClusterName(c *scyllav1alpha1.Cluster) string {
+func ManagerClusterName(c *scyllav1alpha1.ScyllaCluster) string {
 	return c.Namespace + "/" + c.Name
 }
 


Test patch:
diff --git a/pkg/api/v1alpha1/cluster_validation_test.go b/pkg/api/v1alpha1/cluster_validation_test.go
index 523079f97..e5c02cdca 100644
--- a/pkg/api/v1alpha1/cluster_validation_test.go
+++ b/pkg/api/v1alpha1/cluster_validation_test.go
@@ -25,7 +25,7 @@ func TestCheckValues(t *testing.T) {
 
 	tests := []struct {
 		name    string
-		obj     *v1alpha1.Cluster
+		obj     *v1alpha1.ScyllaCluster
 		allowed bool
 	}{
 		{
@@ -55,8 +55,8 @@ func TestCheckValues(t *testing.T) {
 func TestCheckTransitions(t *testing.T) {
 	tests := []struct {
 		name    string
-		old     *v1alpha1.Cluster
-		new     *v1alpha1.Cluster
+		old     *v1alpha1.ScyllaCluster
+		new     *v1alpha1.ScyllaCluster
 		allowed bool
 	}{
 		{
@@ -140,24 +140,24 @@ func TestCheckTransitions(t *testing.T) {
 	}
 }
 
-func placementChanged(c *v1alpha1.Cluster) *v1alpha1.Cluster {
+func placementChanged(c *v1alpha1.ScyllaCluster) *v1alpha1.ScyllaCluster {
 	c.Spec.Datacenter.Racks[0].Placement = &v1alpha1.PlacementSpec{}
 	return c
 }
 
-func resourceChanged(c *v1alpha1.Cluster) *v1alpha1.Cluster {
+func resourceChanged(c *v1alpha1.ScyllaCluster) *v1alpha1.ScyllaCluster {
 	c.Spec.Datacenter.Racks[0].Resources.Requests = map[corev1.ResourceName]resource.Quantity{
 		corev1.ResourceCPU: *resource.NewMilliQuantity(1000, resource.DecimalSI),
 	}
 	return c
 }
 
-func rackDeleted(c *v1alpha1.Cluster) *v1alpha1.Cluster {
+func rackDeleted(c *v1alpha1.ScyllaCluster) *v1alpha1.ScyllaCluster {
 	c.Spec.Datacenter.Racks = nil
 	return c
 }
 
-func sidecarImageChanged(c *v1alpha1.Cluster) *v1alpha1.Cluster {
+func sidecarImageChanged(c *v1alpha1.ScyllaCluster) *v1alpha1.ScyllaCluster {
 	c.Spec.SidecarImage = &v1alpha1.ImageSpec{
 		Version:    "1.0.0",
 		Repository: "my-private-repo",
@@ -165,7 +165,7 @@ func sidecarImageChanged(c *v1alpha1.Cluster) *v1alpha1.Cluster {
 	return c
 }
 
-func storageChanged(c *v1alpha1.Cluster) *v1alpha1.Cluster {
+func storageChanged(c *v1alpha1.ScyllaCluster) *v1alpha1.ScyllaCluster {
 	c.Spec.Datacenter.Racks[0].Storage.Capacity = "15Gi"
 	return c
 }
diff --git a/pkg/api/v1alpha1/export_test.go b/pkg/api/v1alpha1/export_test.go
index 6f51df6e8..302a9193b 100644
--- a/pkg/api/v1alpha1/export_test.go
+++ b/pkg/api/v1alpha1/export_test.go
@@ -2,10 +2,10 @@
 
 package v1alpha1
 
-func CheckValues(c *Cluster) error {
+func CheckValues(c *ScyllaCluster) error {
 	return checkValues(c)
 }
 
-func CheckTransitions(old, new *Cluster) error {
+func CheckTransitions(old, new *ScyllaCluster) error {
 	return checkTransitions(old, new)
 }
diff --git a/pkg/controllers/cluster/sync_test.go b/pkg/controllers/cluster/sync_test.go
index 6ab0fd61b..3f6f14ea4 100644
--- a/pkg/controllers/cluster/sync_test.go
+++ b/pkg/controllers/cluster/sync_test.go
@@ -54,7 +54,7 @@ func TestNextAction(t *testing.T) {
 
 	tests := []struct {
 		name           string
-		cluster        *scyllav1alpha1.Cluster
+		cluster        *scyllav1alpha1.ScyllaCluster
 		expectedAction string
 		expectNoAction bool
 	}{
diff --git a/pkg/controllers/manager/sync_test.go b/pkg/controllers/manager/sync_test.go
index 961cfe3fa..c0e4b0ac1 100644
--- a/pkg/controllers/manager/sync_test.go
+++ b/pkg/controllers/manager/sync_test.go
@@ -285,7 +285,7 @@ func TestManagerSynchronization(t *testing.T) {
 		test := tcs[i]
 		t.Run(test.Name, func(t *testing.T) {
 			ctx := context.Background()
-			cluster := &v1alpha1.Cluster{
+			cluster := &v1alpha1.ScyllaCluster{
 				ObjectMeta: metav1.ObjectMeta{Name: name, Namespace: namespace},
 				Spec:       test.Spec,
 				Status:     test.Status,
diff --git a/pkg/test/unit/helpers.go b/pkg/test/unit/helpers.go
index 71d6ae4b3..f5acc772f 100644
--- a/pkg/test/unit/helpers.go
+++ b/pkg/test/unit/helpers.go
@@ -6,12 +6,12 @@ import (
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 )
 
-func NewSingleRackCluster(members int32) *scyllav1alpha1.Cluster {
+func NewSingleRackCluster(members int32) *scyllav1alpha1.ScyllaCluster {
 	return NewDetailedSingleRackCluster("test-cluster", "test-ns", "repo", "2.3.1", "test-dc", "test-rack", members)
 }
 
-func NewDetailedSingleRackCluster(name, namespace, repo, version, dc, rack string, members int32) *scyllav1alpha1.Cluster {
-	return &scyllav1alpha1.Cluster{
+func NewDetailedSingleRackCluster(name, namespace, repo, version, dc, rack string, members int32) *scyllav1alpha1.ScyllaCluster {
+	return &scyllav1alpha1.ScyllaCluster{
 		ObjectMeta: metav1.ObjectMeta{
 			Name:      name,
 			Namespace: namespace,