Пример #1
0
        public async Task WatchingEmptyNamespaceWorks()
        {
            // make sure namespace "test" contains no configmaps
            var configmapsToDelete = await _k8S.ListNamespacedConfigMapAsync(TestNamespace);

            foreach (var configmap in configmapsToDelete.Items)
            {
                await _k8S.DeleteNamespacedConfigMapAsync(configmap.Name(), TestNamespace);
            }

            using var watch = new WatchedResource <V1ConfigMap, V1ConfigMapList>((b, limit) =>
                                                                                 _k8S.ListNamespacedConfigMapWithHttpMessagesAsync(TestNamespace, watch: b, limit: limit));
            var events = new List <(WatchEventType type, V1Namespace entity)>();

            watch.EntityChanged += (type, entity) => { events.Add((type, (V1Namespace)entity)); };
            Thread.Sleep(1000);
            Assert.Empty(events);
            var configmaps = watch.GetAll <V1ConfigMap>().ToList();

            Assert.Empty(configmaps);
        }
        private async Task <bool> DeleteConfigMapAsync(WebPinger pinger)
        {
            var name       = $"wp-{pinger.Metadata.Name}-config";
            var configMaps = await _kubernetes.ListNamespacedConfigMapAsync(
                Program.NamespaceName,
                fieldSelector : $"metadata.name={name}");

            if (configMaps.Items.Any())
            {
                await _kubernetes.DeleteNamespacedConfigMapAsync(name, Program.NamespaceName);

                Console.WriteLine($"** Deleted ConfigMap: {name}, in namespace: {Program.NamespaceName}");
                return(true);
            }
            else
            {
                Console.WriteLine($"** No ConfigMap to delete: {name}, in namespace: {Program.NamespaceName}");
                return(false);
            }
        }
Пример #3
0
 public static async Task <k8s.Models.V1Status> DeleteConfigMapAsync(this LinkedConfigMapCRD crd, Kubernetes client, string @namespace)
 {
     return(await client.DeleteNamespacedConfigMapAsync(crd.Spec.Config.ConfigMapName, @namespace).ConfigureAwait(false));
 }