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();
});
}