private Mono getPods()

in src/main/java/com/epam/aidial/kubernetes/KubernetesClient.java [146:173]


    private Mono<V1PodList> getPods(String namespace, String label) {
        return Mono.create(sink -> {
            CoreV1Api coreV1Api = new CoreV1Api(apiClient);
            log.info("Querying pods with label {}", label);
            try {
                coreV1Api.listNamespacedPod(namespace)
                        .labelSelector(label)
                        .executeAsync(new NoProgressApiCallback<>() {
                            @Override
                            public void onFailure(ApiException e, int i, Map<String, List<String>> map) {
                                sink.error(e);
                            }

                            @Override
                            public void onSuccess(V1PodList state, int i, Map<String, List<String>> map) {
                                if (state.getItems().isEmpty()) {
                                    log.info("No pods with label {}", label);
                                } else {
                                    log.info("Received a pod list for label {}", label);
                                }
                                sink.success(state);
                            }
                        });
            } catch (ApiException e) {
                sink.error(e);
            }
        });
    }