public Mono undeploy()

in src/main/java/com/epam/aidial/service/DeployService.java [46:57]


    public Mono<Boolean> undeploy(String name) {
        KubernetesClient kubernetesClient = kubernetesService.deployClient();
        String appName = appName(name);
        return kubernetesClient.deleteKnativeService(
                        namespace, appName, kubernetesService.getKnativeServiceVersion())
                // Knative has a default termination grace period and ignores any configured value.
                // Therefore, an extra step is performed to delete pods instantly.
                .flatMap(deleted -> kubernetesClient.getKnativeServicePods(namespace, appName)
                        .flatMapIterable(V1PodList::getItems)
                        .flatMap(pod -> kubernetesClient.deletePod(namespace, pod.getMetadata().getName()))
                        .reduce(deleted, (a, b) -> a || b));
    }