using k8s; namespace KubernetesWorkflow { public class K8sClient { private readonly Kubernetes client; private static readonly object clientLock = new object(); public K8sClient(KubernetesClientConfiguration config) { client = new Kubernetes(config); } public void Run(Action action) { lock (clientLock) { action(client); } } public T Run(Func action) { lock (clientLock) { return action(client); } } public void Dispose() { client.Dispose(); } } }