Draft: wmcs: Support WMCS Magnum as a k8s provider
Note this change was developed during an experiment spike and is meant to illustrate the viability of running gitlab-cloud-runner resources on WMCS Magnum. It should be broken up into smaller changes and further refactored.
-
buildkit: Allow configuration of storage class and whether autoscaling should be enabled (we won't need to autoscale on WMCS). Also remove the configuration of a s3 based cache which has never been utilized. -
gitlab: Remove node selector/tolerations and parameterize s3 cache server configuration. -
digitalocean: Define outputs for configuration that can vary between k8s providers such k8s auth info, s3 server, and ingress cluster IP. Remove unused variables. -
wmcs: Introduce new module for WMCS Magnum based k8s provisioning. Outputs are all consistent with thedigitaloceanmodule so either can be used in the main cluster config. -
externaldns: Refactor to use the newer version. -
externaldns-designate: New module for DNS management via OpenStack Designate. This gives us host names for externally facing services (e.g. registry.gitlab-runners-staging.wmcloud.org). -
cluster: Select k8s provider module based on newcluster_providervariable and set aclusterlocal for provider module outputs. Refactor old references todigitaloceanproperties and uselocal.clusterinstead. Move provider specific resources intowmcs.tfanddigitalocean.tf.
Bug: T403125