private Mono extractErrorFromLog()

in src/main/java/com/epam/aidial/service/BuildService.java [66:80]


    private Mono<String> extractErrorFromLog(V1PodList podList) {
        KubernetesClient kubernetesClient = kubernetesService.buildClient();
        return Mono.fromCallable(() -> KubernetesUtils.extractFailedContainer(podList))
                .flatMap(container -> kubernetesClient.getContainerLog(
                        namespace, container.getKey(), container.getValue()))
                .map(text -> {
                    int validationErrorIndex = text.indexOf(APP_VALIDATION_ERROR_PREFIX);
                    return validationErrorIndex == StringUtils.INDEX_NOT_FOUND
                            ? "Failed to build image. Logs: %s".formatted(
                                    TextUtils.truncateText(text, maxErrorLogLines, maxErrorLogChars))
                            : "Validation error: %s".formatted(
                                    text.substring(validationErrorIndex + APP_VALIDATION_ERROR_PREFIX.length())).trim();

                });
    }