diff options
Diffstat (limited to 'lib/gitlab/kubernetes/default_namespace.rb')
-rw-r--r-- | lib/gitlab/kubernetes/default_namespace.rb | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/lib/gitlab/kubernetes/default_namespace.rb b/lib/gitlab/kubernetes/default_namespace.rb index c95362b024b..c22c2fe394d 100644 --- a/lib/gitlab/kubernetes/default_namespace.rb +++ b/lib/gitlab/kubernetes/default_namespace.rb @@ -36,14 +36,17 @@ module Gitlab end end - def default_project_namespace(slug) - namespace_slug = "#{project.path}-#{project.id}".downcase - - if cluster.namespace_per_environment? - namespace_slug += "-#{slug}" - end + def default_project_namespace(environment_slug) + maybe_environment_suffix = cluster.namespace_per_environment? ? "-#{environment_slug}" : '' + suffix = "-#{project.id}#{maybe_environment_suffix}" + namespace = project_path_slug(63 - suffix.length) + suffix + Gitlab::NamespaceSanitizer.sanitize(namespace) + end - Gitlab::NamespaceSanitizer.sanitize(namespace_slug) + def project_path_slug(max_length) + Gitlab::NamespaceSanitizer + .sanitize(project.path.downcase) + .first(max_length) end ## |