Skip to content

Allow deployments to specify custom k8s clusters

This extends the DeploymentsConfig with the ability to specify, on a per-deployment (i.e., namespace) basis, the list of k8s clusters where its releases should be deployed.

This per-deployment list supersedes the default provided by the k8s_clusters scap configuration field.

This, together with the earlier change to select the cluster-relevant helmfile.d subdir, should allow us to support deployments to arbitrary k8s clusters.

To align the nomenclature used within the k8s-related portion of scap with that now exposed externally via DeploymentsConfig, this also drops the use of "datacenter" in favor of the more accurate "cluster."

Although wikikube cluster names do coincide with datacenter names for historical reasons, it would be awkward / confusing to continue to use the "datacenter" term to refer to clusters that follow the newer naming scheme (e.g., "dse-k8s-eqiad").

Why not adopt "environment" instead? While these do correspond to helmfile environment names, that's more an implementation detail of how we select cluster-specific configuration when operating on k8s services, and "cluster" more clearly reflects the meaning of these values.

Even so, the relationship with environment is still explicitly noted in the DeploymentsConfig docstring.

Bug: T388761

Merge request reports

Loading