Skip to content

Move auto devops domain from ci/cd settings to cluster settings

Problem to solve

Currently, auto devops domain is configured on project's settings. This is problematic as it prevents users from setting up multiple domains for multiple clusters in an easy, intuitive way.

With multiple group clusters, we cannot set variables like AUTO_DEVOPS_DOMAIN per environment

Screen_Shot_2018-12-04_at_5.00.06_PM

Further details

Because each cluster has a unique ingress IP, each cluster should provide unique base domain configuration.

Solution

Domain

EE/CE
As an owner or maintainer, I am able to set a domain for both my group and project level clusters.
Group Project
CE-group__operations--kubernetes-domain-applications-installed CE-project__operations--kubernetes-domain-applications-installed

Auto DevOps project settings

EE/CE
As an owner or maintainer, I am no longer able to set a domain within my project Auto DevOps settings
CE-project__settings--ci-cd-autodevops

Instance level domain

Instance level domain will not be changed in this issue and will be addressed when we add instance level clusters.

What does success look like, and how can we measure that?

(If no way to measure success, link to an issue that will implement a way to measure this)

Backend - To do list

  1. Add domain field to Clusters::Cluster - https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/24368
  2. Create migration to move information from ProjectAutoDevOps#domain to Clusters::Cluster#domain
  3. UI modifications to the Cluster show view - https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/24580 && https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/24376
    • Make environment scope field a text_field:
    • Add "base domain" field to Cluster form
      • Display ingress IP + "nip.io" if available
    • Remove 'domain' field from Auto DevOps project settings
  4. Inject KUBE_INGRESS_BASE_DOMAIN (along with AUTO_DEVOPS_DOMAIN) environment variable if present. https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/24580
  5. Modifications to Auto-DevOps.gitlab-ci.yml script to include KUBE_INGRESS_BASE_DOMAIN https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/24741
  6. Deprecate AUTO_DEVOPS_DOMAIN on 12.0 probably in a follow-up issue - https://gitlab.com/gitlab-org/gitlab-ce/issues/56959#note_135775342
  7. Update documentation. https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/24740

Follow up issues

Links / references

This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.

Edited by 🤖 GitLab Bot 🤖