diff options
author | Mircea Danila Dumitrescu <mircea@statustoday.com> | 2017-10-02 20:32:36 +0000 |
---|---|---|
committer | Mircea Danila Dumitrescu <mircea@statustoday.com> | 2017-10-04 12:43:59 +0100 |
commit | a1b3cd40647e8f7768b6db0bc64179e60f5d5937 (patch) | |
tree | a78afdc26f237ec35b77828217b12b13a64a4c12 | |
parent | 4d5ea927d6e3a91c1b89f8978dbd5fb67e723452 (diff) | |
download | gitlab-ce-a1b3cd40647e8f7768b6db0bc64179e60f5d5937.tar.gz |
namespace should be lowercased in kubernetes. This is also true for the scenario where the namespace is generated from the project group-name.
-rw-r--r-- | app/models/project_services/kubernetes_service.rb | 12 | ||||
-rw-r--r-- | changelogs/unreleased/mr-14642.yml | 6 |
2 files changed, 17 insertions, 1 deletions
diff --git a/app/models/project_services/kubernetes_service.rb b/app/models/project_services/kubernetes_service.rb index 8ba07173c74..45a544e3674 100644 --- a/app/models/project_services/kubernetes_service.rb +++ b/app/models/project_services/kubernetes_service.rb @@ -153,7 +153,17 @@ class KubernetesService < DeploymentService end def default_namespace - "#{project.path}-#{project.id}" if project.present? + return unless project + + # 1. lowercase + # 2. replace non kubernetes characters with dash + # 3. trim dash from the beginning and end + + slugified = "#{project.path}-#{project.id}" + slugified.downcase! + slugified.gsub!(/[^a-z0-9]/, '-') + slugified.gsub!(/^-+|-+$/, '') + slugified end def build_kubeclient!(api_path: 'api', api_version: 'v1') diff --git a/changelogs/unreleased/mr-14642.yml b/changelogs/unreleased/mr-14642.yml new file mode 100644 index 00000000000..048cc79e323 --- /dev/null +++ b/changelogs/unreleased/mr-14642.yml @@ -0,0 +1,6 @@ +--- +title: Auto Devops kubernetes default namespace is now correctly built out of gitlab + project group-name +merge_request: 14642 +author: Mircea Danila Dumitrescu +type: fixed |