Add workspaces external URL config

Issue: Add option in GitLab Helm Chart to configure do... (#6099 - closed)

What does this MR do?

  • Adds GitLab config to set the hostname that workspaces will be available on
  • Creates an ingress resource to handle traffic on the workspace hostname (with option for TLS provision)

NOTE: We are holding off on documenting this configuration update to a user-facing audience as it is still a WIP.

Related issues

Author checklist

Testing

General test guide for workspace-KAS integration on CNG

Follow manual testing steps for the helm chart

MR specific test guide

  • Install the Helm chart with global.workspaces.enabled value set to true, but with no workspaces hostname entry under global.hosts

Output:

(gitlab/charts/gitlab/charts/webservice/templates/deployment.yaml:53:28): Missing required workspaces host. Make sure to set `.Values.global.hosts.workspaces.name`
  • With global.workspaces.enabled value set to true and global.hosts.workspaces.name set to a domain name
  • Access the rails console via the toolbox pod (kubectl exec -it gitlab-toolbox-{pod_hash} --namespace=<namespace> -- gitlab-rails console)

Output:

Gitlab.config.workspaces
=> #<GitlabSettings::Options:0x00007f7aca521628 @options={"hostname"=>"< value of global.host.workspaces.name>", "enabled"=>true}>

With global.workspaces.enabled set to false and no global.hosts.workspaces.name set, helm install should proceed without any errors.

Required

For anything in this list which will not be completed, please provide a reason in the MR discussion.

  • Merge Request Title and Description are up to date, accurate, and descriptive.
  • MR targeting the appropriate branch.
  • MR has a green pipeline.
  • Documentation created/updated.
  • Tests added/updated, and test plan for scenarios not covered by automated tests.
  • Equivalent MR/issue for omnibus-gitlab opened.

Reviewers checklist

Edited by Safwan Ahmed

Merge request reports

Loading