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 /app | |
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.
Diffstat (limited to 'app')
-rw-r--r-- | app/models/project_services/kubernetes_service.rb | 12 |
1 files changed, 11 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') |