namespace KubernetesWorkflow { public class PodLabels { private readonly Dictionary labels = new Dictionary(); public void Add(string key, string value) { labels.Add(key, Format(value)); } public PodLabels Clone() { var result = new PodLabels(); foreach (var entry in labels) result.Add(entry.Key, entry.Value); return result; } public void Clear() { labels.Clear(); } private static string Format(string s) { var result = s.ToLowerInvariant() .Replace(":", "-") .Replace("/", "-") .Replace("\\", "-") .Replace("[", "-") .Replace("]", "-") .Replace(",", "-"); return result.Trim('-'); } internal Dictionary GetLabels() { return labels; } } }