summaryrefslogtreecommitdiff
path: root/app/models/project_services/kubernetes_service.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/project_services/kubernetes_service.rb')
-rw-r--r--app/models/project_services/kubernetes_service.rb12
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')