Skip to content

Rename ClusterRing to ControllerRing #429

@timebertt

Description

@timebertt

What would you like to be added:

  • rename the ClusterRing resource to ControllerRing
  • drop the clusterring- part of shard and drain label keys
  • drop kind and namespace params from all shardingv1alpha1.* functions
  • drop the kind-related and namespace labels from metrics
  • drop the shardring.Ring interface

Why is this needed:

Originally, I envisioned that there could be two implementations of a "controller ring" resource: a namespaced one (Ring) and a cluster-scoped one (ClusterRing). The first one would only shard objects in the same namespace, the second one in all namespaces.
With the existing namespaceSelector field of the ClusterRing resource, one can simply implement a namespaced or even multi-namespaced controller ring.
Also, the resulting MutatingWebhookConfiguration is a cluster-scoped object and, thus, can only be owned by other cluster-scoped objects but not by namespaced ones.
Furthermore, implementing both versions of the resource would require one controller each.

In the end, there doesn't seem to be a good reason for implementing a namespaced version of the ClusterRing resource.
Hence, I suggest renaming the resource from ClusterRing to ControllerRing – which is more specific and less confusing.

With this, all places that kept options open for handling namespaced rings can be simplified.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions