K8sNameUtils.cs
1 namespace KubernetesWorkflow 2 { 3 public static class K8sNameUtils 4 { 5 public static string Format(string s) 6 { 7 return Format(s, 62); 8 } 9 10 public static string FormatPortName(string s) 11 { 12 return Format(s, 15); 13 } 14 15 private static string Format(string s, int maxLength) 16 { 17 var result = s.ToLowerInvariant() 18 .Replace("_", "-") 19 .Replace(" ", "-") 20 .Replace(":", "-") 21 .Replace("/", "-") 22 .Replace("\\", "-") 23 .Replace("[", "-") 24 .Replace("]", "-") 25 .Replace(",", "-") 26 .Replace("(", "-") 27 .Replace(")", "-"); 28 29 if (result.Length > maxLength) result = result.Substring(0, maxLength); 30 result = result.Trim('-'); 31 32 return result; 33 } 34 } 35 }