feat: add strip_email_domain to normalization of namespace

This commit is contained in:
Adrien Raffin-Caboisse 2022-02-23 14:03:07 +01:00
parent 7e4709c13f
commit 4f1f235a2e
6 changed files with 61 additions and 21 deletions

View file

@ -268,10 +268,15 @@ func (n *Namespace) toProto() *v1.Namespace {
// NormalizeNamespaceName will replace forbidden chars in namespace
// it can also return an error if the namespace doesn't respect RFC 952 and 1123.
func NormalizeNamespaceName(name string) (string, error) {
func NormalizeNamespaceName(name string, stripEmailDomain bool) (string, error) {
name = strings.ToLower(name)
name = strings.ReplaceAll(name, "@", ".")
name = strings.ReplaceAll(name, "'", "")
if stripEmailDomain {
idx := strings.Index(name, "@")
name = name[:idx]
} else {
name = strings.ReplaceAll(name, "@", ".")
}
name = invalidCharsInNamespaceRegex.ReplaceAllString(name, "-")
for _, elt := range strings.Split(name, ".") {