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<Kubernetes> action) { lock (clientLock) { action(client); } } public T Run<T>(Func<Kubernetes, T> action) { lock (clientLock) { return action(client); } } public void Dispose() { client.Dispose(); } } }