Skip to content

Resolve "Provide zero-configuration domain name for Auto DevOps using nip.io"

See EE counterpart MR

What does this MR do?

Default AUTO_DEVOPS_DOMAIN variable to <ingress-ip>.nip.io.

  • Added DeploymentPlatform#find_cluster so that EE can extend this method
  • Refactors DeploymentPlatform to use find_cluster
  • Moves AUTO_DEVOPS_DOMAIN to project#auto_devops_domain_variable, which is then used in CI::Build#persisted_environment_variables

This follows the following rules of precedence :

  1. cluster(s) IP based domain
  2. Auto DevOps domain or instance domain
  3. CI scoped variables (Settings > CI/CD > Variables, AUTO_DEVOPS_DOMAIN, with any environment scope)

NOTE : The move to deployment_variables basically means that AUTO_DEVOPS_DOMAIN variable will now only be available for the jobs that sets a environment in the gitlab-ci.yaml file.

Are there points in the code the reviewer needs to double check?

Security - how can we trust and verify the value of the external_ip given to GitLab by any ingress status

Any subtle interactions with multiple clusters, if we provide zero-config for this case

Why was this MR needed?

Screenshots (if relevant)

No Kubernetes cluster setup:

Screen_Shot_2018-07-30_at_9.45.09_AM

With Kubernetes cluster setup:

Screen_Shot_2018-07-30_at_9.44.43_AM

Does this MR meet the acceptance criteria?

To Do Backend

  • Get the ingress IP from the the only cluster
  • For multiple clusters
    • Get the ingress IP from the Ingress for the * cluster for the project;
    • [-] Provide ingress IP for other clusters so that we can assemble AUTO_DEVOPS_DOMAIN scoped to the environments
  • Create a domain string by using the IP + 'nip.io'. Use that default domain string for AUTO_DEVOPS_DOMAIN if the ProjectAutoDevops does not have a domain or instance domain set by the user.
  • Update the help text (see also https://gitlab.com/gitlab-org/gitlab-ce/issues/45561)
  • [-] Warn if we cannot use the ingress ? (e.g. ingress address is not IP)

What are the relevant issue numbers?

Closes #45560 (moved)

Edited by 🤖 GitLab Bot 🤖

Merge request reports