Skip to content

Introduce Namespace level control to the certificate-based-clusters FF

What is this MR about?

Introducing namespace level control on the usage of our certificate_based_clusters FF.

On 15.0 the FF will be disabled globally on .com, but we want to be able to selectively re-enable for certain namespaces.

Rollout plan

Current FF state:

Rollout steps

  1. Immediately, disable the FF globally on .com. This will DEACTIVATE Certificate Based Clusters.
  2. As we receive requests from .com users, we will selectively enable the FF for their namespaces, so that they can see Certificate Based Clusters again.
  3. Once we're comfortable, we'll push an MR to set the FF as disabled by default on the FF yaml file. At this point, this will only be relevant to self-manage instances. To deactivate cert-based clusters for them. Specs shouldn't break because specs set FF to true by default. We don't need to invert that like we were doing here.

How to test this MR

  1. Have created a group and a user project.
  2. On rails c: Feature.remove(:certificate_based_clusters). This will guarantee that the FF is valuable from the default yaml file.
  3. Go to "Menu -> Admin" and check that you can see the "Kubernetes" left menu button.
  4. Go to your group and check that you can see the "Kubernetes" left menu button.
  5. Go to your project, click on the left menu button "Infrastructure -> Kubernetes clusters", then check on the blue button on the top right corner, that the button can be expanded and show the following clickable option "Create a cluster (certificate - deprecated)"
  6. Disable the FF globally Feature.disable(:certificate_based_clusters)
  7. Do all the former steps but now check that:
    • The admin page does not show "kubernetes" left menu button anymore.
    • The Group does not show "kubernetes" left menu button anymore. And the page for the groups clusters returns 404, if you had it open.
    • The project clusters page don't show the option anymore to create clusters for the certificate - deprecated options.
  8. Enable the FF just for your group: Feature.enable(:certificate_based_clusters, group_project.namespace)
    • check that the "kubernetes" left side menu button is back for it, and instance and project are still disabled.
  9. Enable the FF just for the user project and check that the button to add certificate - deprecated clusters shows once more, but the admin page still does not show the "kubernetes" left side menu button.
Edited by João Alexandre Cunha

Merge request reports