diff --git a/helm/Chart.yaml b/helm/Chart.yaml index 8c93cef..a43ae8d 100644 --- a/helm/Chart.yaml +++ b/helm/Chart.yaml @@ -2,8 +2,8 @@ apiVersion: v2 name: gpd-payments-pull description: Microservice pagopa-gpd-payments-pull type: application -version: 0.19.0 -appVersion: 1.1.1 +version: 0.22.0 +appVersion: 1.1.1-3-logging-kibana dependencies: - name: microservice-chart version: 2.8.0 diff --git a/helm/values-dev.yaml b/helm/values-dev.yaml index 43ae15e..272bce6 100644 --- a/helm/values-dev.yaml +++ b/helm/values-dev.yaml @@ -4,7 +4,7 @@ microservice-chart: fullnameOverride: "gpd-payments-pull" image: repository: ghcr.io/pagopa/pagopa-gpd-payments-pull - tag: "1.1.1" + tag: "1.1.1-3-logging-kibana" pullPolicy: Always livenessProbe: httpGet: @@ -69,9 +69,9 @@ microservice-chart: value: "70" fileConfig: {} envConfig: - APP_NAME: "gpd-payments-pull" + APP_NAME: "pagopa-gpd-payments-pull" APP_ENVIRONMENT: "dev" - WEBSITE_SITE_NAME: 'gpd-payments-pull' # required to show cloud role name in application insights + WEBSITE_SITE_NAME: 'pagopa-gpd-payments-pull' # required to show cloud role name in application insights APP_LOGGING_LEVEL: 'DEBUG' DEFAULT_LOGGING_LEVEL: 'INFO' OTEL_RESOURCE_ATTRIBUTES: "service.name=pagopa-gpd-payments-pull,deployment.environment=dev" diff --git a/helm/values-prod.yaml b/helm/values-prod.yaml index aee09e9..561822b 100644 --- a/helm/values-prod.yaml +++ b/helm/values-prod.yaml @@ -4,7 +4,7 @@ microservice-chart: fullnameOverride: "gpd-payments-pull" image: repository: ghcr.io/pagopa/pagopa-gpd-payments-pull - tag: "1.1.1" + tag: "1.1.1-3-logging-kibana" pullPolicy: Always livenessProbe: httpGet: @@ -69,9 +69,9 @@ microservice-chart: value: "70" fileConfig: {} envConfig: - APP_NAME: "gpd-payments-pull" + APP_NAME: "pagopa-gpd-payments-pull" APP_ENVIRONMENT: "prod" - WEBSITE_SITE_NAME: 'gpd-payments-pull' # required to show cloud role name in application insights + WEBSITE_SITE_NAME: 'pagopa-gpd-payments-pull' # required to show cloud role name in application insights APP_LOGGING_LEVEL: 'DEBUG' DEFAULT_LOGGING_LEVEL: 'INFO' OTEL_RESOURCE_ATTRIBUTES: "service.name=pagopa-gpd-payments-pull,deployment.environment=prod" diff --git a/helm/values-uat.yaml b/helm/values-uat.yaml index 3a6205b..40f25f1 100644 --- a/helm/values-uat.yaml +++ b/helm/values-uat.yaml @@ -4,7 +4,7 @@ microservice-chart: fullnameOverride: "gpd-payments-pull" image: repository: ghcr.io/pagopa/pagopa-gpd-payments-pull - tag: "1.1.1" + tag: "1.1.1-3-logging-kibana" pullPolicy: Always livenessProbe: httpGet: @@ -69,9 +69,9 @@ microservice-chart: value: "70" fileConfig: {} envConfig: - APP_NAME: "gpd-payments-pull" + APP_NAME: "pagopa-gpd-payments-pull" APP_ENVIRONMENT: "uat" - WEBSITE_SITE_NAME: 'gpd-payments-pull' # required to show cloud role name in application insights + WEBSITE_SITE_NAME: 'pagopa-gpd-payments-pull' # required to show cloud role name in application insights APP_LOGGING_LEVEL: 'DEBUG' DEFAULT_LOGGING_LEVEL: 'INFO' OTEL_RESOURCE_ATTRIBUTES: "service.name=pagopa-gpd-payments-pull,deployment.environment=uat" diff --git a/infra/04_apim_api.tf b/infra/04_apim_api.tf index 0b67af8..eecaf27 100644 --- a/infra/04_apim_api.tf +++ b/infra/04_apim_api.tf @@ -3,7 +3,7 @@ locals { // GPD Payments Pull display_name = "GPD Payments Pull" description = "API for GPD Payments Pull" - path = "gpd/payments/pull" + path = "pagopa-gpd-payments-pull" subscription_required = true service_url = null } @@ -17,7 +17,7 @@ locals { resource "azurerm_api_management_api_version_set" "api_gpd_payments_pull_api" { - name = format("%s-gpd-payments-pull-api", var.env_short) + name = "pagopa-${var.env_short}-gpd-payments-pull-api" resource_group_name = local.apim.rg api_management_name = local.apim.name display_name = local.apim_gpd_payments_pull.display_name @@ -31,10 +31,10 @@ resource "azurerm_api_management_api_version_set" "api_gpd_payments_pull_api" { module "apim_gpd_payments_pull_api_v1" { source = "git::https://github.com/pagopa/terraform-azurerm-v3.git//api_management_api?ref=v6.4.1" - name = format("%s-gpd-payments-pull-api", var.env_short) + name = "pagopa-${var.env_short}-gpd-payments-pull-api" api_management_name = local.apim.name resource_group_name = local.apim.rg - product_ids = [local.apim.gpd_payments_pull_product_id] + product_ids = [local.apim.gpd_payments_pull_product_id] subscription_required = local.apim_gpd_payments_pull.subscription_required version_set_id = azurerm_api_management_api_version_set.api_gpd_payments_pull_api.id api_version = "v1" @@ -42,11 +42,11 @@ module "apim_gpd_payments_pull_api_v1" { description = local.apim_gpd_payments_pull.description display_name = local.apim_gpd_payments_pull.display_name path = local.apim_gpd_payments_pull.path - protocols = ["https"] + protocols = ["https"] service_url = local.apim_gpd_payments_pull.service_url content_format = "openapi" - content_value = file("../openapi/openapi.json") + content_value = file("../openapi/openapi.json") xml_content = templatefile("./policy/_base_policy.xml", { hostname = local.hostname diff --git a/integration-test/src/config/.env.dev b/integration-test/src/config/.env.dev index 9be8c8c..069516d 100644 --- a/integration-test/src/config/.env.dev +++ b/integration-test/src/config/.env.dev @@ -1,5 +1,5 @@ GPD_HOST=https://api.dev.platform.pagopa.it/gpd/api/v1 -GPD_PULL_HOST=https://api.dev.platform.pagopa.it/gpd/payments/pull/v1 +GPD_PULL_HOST=https://api.dev.platform.pagopa.it/gpd-payments-pull/v1 ORGANIZATIONAL_FISCAL_CODE=77777777777 IUV_OK=11101751670642134 diff --git a/integration-test/src/config/.env.uat b/integration-test/src/config/.env.uat index 70cd0d3..843edc1 100644 --- a/integration-test/src/config/.env.uat +++ b/integration-test/src/config/.env.uat @@ -1,5 +1,5 @@ GPD_HOST=https://api.uat.platform.pagopa.it/gpd/api/v1 -GPD_PULL_HOST=https://api.uat.platform.pagopa.it/gpd/payments/pull/v1 +GPD_PULL_HOST=https://api.uat.platform.pagopa.it/gpd-payments-pull/v1 ORGANIZATIONAL_FISCAL_CODE=77777777777 IUV_OK=03163674189686371 diff --git a/openapi/openapi.json b/openapi/openapi.json index ba50152..4b30556 100644 --- a/openapi/openapi.json +++ b/openapi/openapi.json @@ -4,7 +4,7 @@ "title": "gpd-payments-pull", "description": "GPD Payments Pull Services", "termsOfService": "https://www.pagopa.gov.it/", - "version": "1.1.1" + "version": "1.1.1-3-logging-kibana" }, "servers": [ { @@ -12,7 +12,7 @@ "description": "Localhost base URL" }, { - "url": "https://{host}/gpd/payments/pull/api/v1", + "url": "https://{host}/gpd-payments-pull/api/v1", "description": "Base URL", "variables": { "host": { diff --git a/pom.xml b/pom.xml index e5ae390..107ead2 100644 --- a/pom.xml +++ b/pom.xml @@ -5,9 +5,9 @@ 4.0.0 it.gov.pagopa - gpd-payments-pull - GPD Payments Pull Services - 1.1.1 + pagopa-gpd-payments-pull + PagoPA GPD Payments Pull Services + 1.1.1-3-logging-kibana 0.8.7 @@ -57,11 +57,9 @@ - io.quarkiverse.loggingjson + io.quarkus quarkus-logging-json - 3.0.0 - io.quarkus quarkus-resteasy-reactive-jackson diff --git a/src/main/java/it/gov/pagopa/gpd/payments/pull/App.java b/src/main/java/it/gov/pagopa/gpd/payments/pull/App.java index 38d8d4b..1418ccb 100644 --- a/src/main/java/it/gov/pagopa/gpd/payments/pull/App.java +++ b/src/main/java/it/gov/pagopa/gpd/payments/pull/App.java @@ -28,11 +28,11 @@ info = @Info(title = "GPD Payments Pull Services", version = "${quarkus.application.version}"), servers = { @Server(url = "http://localhost:8080", description = "Localhost base URL"), - @Server(url = "https://{host}/gpd/payments/pull/api/v1", description = "Base URL", + @Server(url = "https://{host}/gpd-payments-pull/api/v1", description = "Base URL", variables = { - @ServerVariable(name = "host", - enumeration = {"api.dev.platform.pagopa.it","api.uat.platform.pagopa.it","api.platform.pagopa.it"}, - defaultValue = "api.dev.platform.pagopa.it")}) + @ServerVariable(name = "host", + enumeration = {"api.dev.platform.pagopa.it", "api.uat.platform.pagopa.it", "api.platform.pagopa.it"}, + defaultValue = "api.dev.platform.pagopa.it")}) }, components = @Components( diff --git a/src/main/java/it/gov/pagopa/gpd/payments/pull/config/LoggingInterceptor.java b/src/main/java/it/gov/pagopa/gpd/payments/pull/config/LoggingInterceptor.java index 677f650..b4ba092 100644 --- a/src/main/java/it/gov/pagopa/gpd/payments/pull/config/LoggingInterceptor.java +++ b/src/main/java/it/gov/pagopa/gpd/payments/pull/config/LoggingInterceptor.java @@ -5,15 +5,14 @@ import it.gov.pagopa.gpd.payments.pull.models.ErrorResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.slf4j.MDC; import javax.interceptor.AroundInvoke; import javax.interceptor.Interceptor; import javax.interceptor.InvocationContext; import java.util.HashMap; import java.util.Map; -import java.util.UUID; -import static io.quarkiverse.loggingjson.providers.KeyValueStructuredArgument.kv; import static it.gov.pagopa.gpd.payments.pull.util.CommonUtil.mapToJSON; @Logged @@ -28,52 +27,45 @@ private static String getParams(InvocationContext context) { for (int i = 0; i < context.getParameters().length; i++) { String name = context.getMethod().getParameters()[i].getName(); Object value = context.getParameters()[i]; - if("taxCode".equals(name) && value != null) { + if ("taxCode".equals(name) && value != null) { value = value.hashCode(); } params.put(name, value); } return mapToJSON(params); - } @AroundInvoke Object logInvocation(InvocationContext context) throws Exception { var startTime = System.currentTimeMillis(); - String args = getParams(context); - Object ret = null; + Object ret; try { ret = context.proceed(); } catch (Exception e) { var endTime = System.currentTimeMillis(); int httpCode = 400; String faultCode = "UNKNOWN"; - if(e instanceof PaymentNoticeException ex) { + if (e instanceof PaymentNoticeException ex) { faultCode = ex.getErrorCode().getErrorCode(); httpCode = ex.getErrorCode().getStatus().getStatusCode(); } - logger.error("Failed API Invocation getPaymentNotices", - kv("method", "getPaymentNotices"), - kv("startTime", startTime), - kv("args", mapToJSON(args)), - kv("responseTime", endTime - startTime), - kv("status", "KO"), - kv("httpCode", httpCode), - kv("requestId", UUID.randomUUID().toString()), - kv("operationId", UUID.randomUUID().toString()), - kv("faultCode", faultCode), - kv("faultDetail", e.getMessage()), - kv("response", mapToJSON(buildErrorResponse(httpCode, faultCode, e.getMessage())))); + MDC.put("responseTime", String.valueOf(endTime - startTime)); + MDC.put("status", "KO"); + MDC.put("httpCode", String.valueOf(httpCode)); + MDC.put("faultCode", faultCode); + MDC.put("faultDetail", e.getMessage()); + MDC.put("args", mapToJSON(args)); + MDC.put("response", mapToJSON(buildErrorResponse(httpCode, faultCode, e.getMessage()))); + logger.error("Failed API Invocation getPaymentNotices"); throw e; } return ret; } - private ErrorResponse buildErrorResponse(int status, String errorCode, String message) { return ErrorResponse.builder() .title(String.valueOf(status)) @@ -82,5 +74,4 @@ private ErrorResponse buildErrorResponse(int status, String errorCode, String me .instance(errorCode) .build(); } - } diff --git a/src/main/java/it/gov/pagopa/gpd/payments/pull/exception/mapper/ExceptionMapper.java b/src/main/java/it/gov/pagopa/gpd/payments/pull/exception/mapper/ExceptionMapper.java index 8038e54..884c801 100644 --- a/src/main/java/it/gov/pagopa/gpd/payments/pull/exception/mapper/ExceptionMapper.java +++ b/src/main/java/it/gov/pagopa/gpd/payments/pull/exception/mapper/ExceptionMapper.java @@ -7,17 +7,24 @@ import org.jboss.resteasy.reactive.server.ServerExceptionMapper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.slf4j.MDC; import javax.ws.rs.NotFoundException; import javax.ws.rs.core.Response; import java.util.List; import static it.gov.pagopa.gpd.payments.pull.exception.PaymentNoticeException.getHttpStatus; +import static it.gov.pagopa.gpd.payments.pull.util.CommonUtil.mapToJSON; import static org.jboss.resteasy.reactive.RestResponse.Status.BAD_REQUEST; import static org.jboss.resteasy.reactive.RestResponse.StatusCode.INTERNAL_SERVER_ERROR; public class ExceptionMapper { + private static final String FAULT_CODE = "faultCode"; + private static final String FAULT_DETAIL = "faultDetail"; + private static final String RESPONSE = "response"; + private static final String STATUS = "status"; + Logger logger = LoggerFactory.getLogger(ExceptionMapper.class); private ErrorResponse buildErrorResponse(Response.Status status, AppErrorCodeEnum errorCode, String message) { @@ -31,14 +38,13 @@ private ErrorResponse buildErrorResponse(Response.Status status, AppErrorCodeEnu @ServerExceptionMapper public Response mapCompositeException(CompositeException exception) { - logger.error(exception.getMessage(), exception); Exception composedException; List causes = exception.getCauses(); composedException = (Exception) causes.get(causes.size() - 1); - if(composedException instanceof NotFoundException ex) { + if (composedException instanceof NotFoundException ex) { return mapNotFoundException(ex); - } else if(composedException instanceof PaymentNoticeException paymentNoticeException) { + } else if (composedException instanceof PaymentNoticeException paymentNoticeException) { return mapPaymentNoticeException(paymentNoticeException); } else { return mapGenericException(exception); @@ -48,29 +54,56 @@ public Response mapCompositeException(CompositeException exception) { @ServerExceptionMapper public Response mapNotFoundException(NotFoundException exception) { + ErrorResponse errorResponse = buildErrorResponse(Response.Status.BAD_REQUEST, AppErrorCodeEnum.PPL_600, + "Invalid parameters on request"); + + MDC.put(FAULT_CODE, "400"); + MDC.put(FAULT_DETAIL, getDetails(exception)); + MDC.put(RESPONSE, mapToJSON(errorResponse)); + MDC.put(STATUS, "KO"); logger.error(exception.getMessage(), exception); + return Response.status(BAD_REQUEST).entity( - buildErrorResponse(Response.Status.BAD_REQUEST, AppErrorCodeEnum.PPL_600, - "Invalid parameters on request")).build(); + errorResponse).build(); } @ServerExceptionMapper public Response mapPaymentNoticeException(PaymentNoticeException exception) { - logger.error(exception.getMessage(), exception); Response.Status status = getHttpStatus(exception); - return Response.status(status).entity(buildErrorResponse(status, - exception.getErrorCode(), exception.getMessage())).build(); + ErrorResponse errorResponse = buildErrorResponse(status, + exception.getErrorCode(), exception.getMessage()); + MDC.put(FAULT_CODE, String.valueOf(exception.getErrorCode())); + MDC.put(FAULT_DETAIL, getDetails(exception)); + MDC.put(RESPONSE, mapToJSON(errorResponse)); + MDC.put(STATUS, "KO"); + logger.error(exception.getMessage(), exception); + return Response.status(status) + .entity(errorResponse) + .build(); } + @ServerExceptionMapper public Response mapGenericException(Exception exception) { + ErrorResponse errorResponse = buildErrorResponse( + Response.Status.INTERNAL_SERVER_ERROR, + AppErrorCodeEnum.PPL_900, + "Unexpected Error"); logger.error(exception.getMessage(), exception); + MDC.put(FAULT_CODE, "500"); + MDC.put(FAULT_DETAIL, getDetails(exception)); + MDC.put(RESPONSE, mapToJSON(errorResponse)); + MDC.put(STATUS, "KO"); return Response.status(INTERNAL_SERVER_ERROR) - .entity(buildErrorResponse( - Response.Status.INTERNAL_SERVER_ERROR, - AppErrorCodeEnum.PPL_900, - "Unexpected Error")) + .entity(errorResponse) .build(); } + private String getDetails(Exception exception) { + String message = exception.getMessage(); + var length = message.length(); + var maxLength = Math.min(length, 200); + return message.substring(0, maxLength); + } + } diff --git a/src/main/java/it/gov/pagopa/gpd/payments/pull/resources/PaymentNotices.java b/src/main/java/it/gov/pagopa/gpd/payments/pull/resources/PaymentNotices.java index e05bed4..b1fae83 100644 --- a/src/main/java/it/gov/pagopa/gpd/payments/pull/resources/PaymentNotices.java +++ b/src/main/java/it/gov/pagopa/gpd/payments/pull/resources/PaymentNotices.java @@ -20,13 +20,19 @@ import org.eclipse.microprofile.openapi.annotations.tags.Tag; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.slf4j.MDC; import javax.inject.Inject; import javax.validation.Valid; import javax.validation.constraints.Max; import javax.validation.constraints.Min; import javax.validation.constraints.Positive; -import javax.ws.rs.*; +import javax.ws.rs.DefaultValue; +import javax.ws.rs.GET; +import javax.ws.rs.HeaderParam; +import javax.ws.rs.Path; +import javax.ws.rs.Produces; +import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import java.time.LocalDate; @@ -35,7 +41,6 @@ import java.util.Map; import java.util.UUID; -import static io.quarkiverse.loggingjson.providers.KeyValueStructuredArgument.kv; import static it.gov.pagopa.gpd.payments.pull.util.CommonUtil.mapToJSON; /** @@ -50,7 +55,9 @@ public class PaymentNotices { private static final String REGEX = "[\n\r]"; private static final String REPLACEMENT = "_"; private static final int FISCAL_CODE_LENGTH = 16; + Logger logger = LoggerFactory.getLogger(PaymentNotices.class); + @Inject PaymentNoticesService paymentNoticeService; @@ -91,7 +98,6 @@ public Uni getPaymentNotices( @Valid @Min(0) @Parameter(description = "Page number. Page value starts from 0") @DefaultValue("0") @QueryParam("page") @Schema(defaultValue = "0") Integer page ) { - var startTime = System.currentTimeMillis(); Map args = new HashMap<>(); args.put("taxCode", taxCode != null ? taxCode.hashCode() : "null"); @@ -99,6 +105,15 @@ public Uni getPaymentNotices( args.put("limit", limit); args.put("page", page); + MDC.put("method", "getPaymentNotices"); + MDC.put("startTime", String.valueOf(startTime)); + MDC.put("args", mapToJSON(args)); + MDC.put("responseTime", String.valueOf(System.currentTimeMillis() - startTime)); + MDC.put("status", "OK"); + MDC.put("httpCode", "200"); + MDC.put("requestId", UUID.randomUUID().toString()); + MDC.put("operationId", UUID.randomUUID().toString()); + if (taxCode == null || taxCode.length() != FISCAL_CODE_LENGTH) { String errMsg = "Fiscal code " + taxCode + " header is null or not valid"; throw new InvalidTaxCodeHeaderException(AppErrorCodeEnum.PPL_601, errMsg); @@ -115,16 +130,9 @@ public Uni getPaymentNotices( })) .onItem() .transform(item -> { - logger.info("Successfully API Invocation getPaymentNotices", - kv("method", "getPaymentNotices"), - kv("startTime", startTime), - kv("args", args), - kv("responseTime", System.currentTimeMillis() - startTime), - kv("status", "OK"), - kv("httpCode", "200"), - kv("requestId", UUID.randomUUID().toString()), - kv("operationId", UUID.randomUUID().toString()), - kv("response", mapToJSON(item))); + MDC.put("response", mapToJSON(item)); + MDC.put("status", "OK"); + logger.info("Successfully API Invocation getPaymentNotices"); return Response.ok().entity(item).build(); }); } diff --git a/src/main/java/it/gov/pagopa/gpd/payments/pull/service/impl/PaymentNoticesServiceImpl.java b/src/main/java/it/gov/pagopa/gpd/payments/pull/service/impl/PaymentNoticesServiceImpl.java index 59e9d8d..650993f 100644 --- a/src/main/java/it/gov/pagopa/gpd/payments/pull/service/impl/PaymentNoticesServiceImpl.java +++ b/src/main/java/it/gov/pagopa/gpd/payments/pull/service/impl/PaymentNoticesServiceImpl.java @@ -9,6 +9,8 @@ import it.gov.pagopa.gpd.payments.pull.repository.PaymentPositionRepository; import it.gov.pagopa.gpd.payments.pull.service.PaymentNoticesService; import org.eclipse.microprofile.config.inject.ConfigProperty; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import javax.enterprise.context.ApplicationScoped; import javax.inject.Inject; @@ -19,25 +21,30 @@ @ApplicationScoped public class PaymentNoticesServiceImpl implements PaymentNoticesService { + Logger logger = LoggerFactory.getLogger(PaymentNoticesServiceImpl.class); + @Inject PaymentPositionRepository paymentPositionRepository; - @ConfigProperty(name = "quarkus.app.payment_pull.keep_aca", defaultValue = "true") + @ConfigProperty(name = "app.payment_pull.keep_aca", defaultValue = "true") Boolean keepAca; @Override public Uni> getPaymentNotices(String taxCode, LocalDate dueDate, Integer limit, Integer page) { return paymentPositionRepository.findPaymentPositionsByTaxCodeAndDueDate(taxCode, dueDate, limit, page) .onFailure().invoke(Unchecked.consumer(throwable -> { - throw new PaymentNoticeException(AppErrorCodeEnum.PPL_700, String.format("Exception thrown during data recovery: %s", throwable)); + throw buildPaymentNoticeException(AppErrorCodeEnum.PPL_700, throwable); })) .onItem().transform(paymentPositions -> paymentPositions.stream() .filter(item -> keepAca || !item.getIupd().contains("ACA")) .map(PaymentNoticeMapper::manNotice) .toList()) .onFailure().invoke(Unchecked.consumer(throwable -> { - throw new PaymentNoticeException(AppErrorCodeEnum.PPL_800, String.format("Exception thrown during data recovery: %s", throwable)); + throw buildPaymentNoticeException(AppErrorCodeEnum.PPL_800, throwable); })); } + private PaymentNoticeException buildPaymentNoticeException(AppErrorCodeEnum errorCodeEnum, Throwable throwable) { + return new PaymentNoticeException(errorCodeEnum, String.format("Exception thrown during data recovery: %s", throwable), throwable); + } } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 89fbbc1..d4576d9 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,30 +1,33 @@ ################### ## CUSTOM ################### -app.name=gpd-payments-pull +app.name=pagopa-gpd-payments-pull app.version=${quarkus.application.version} app.environment=${ENV:local} + ################### ## COMMON OVERRIDE ################### quarkus.default-locale=it-IT quarkus.locales=it-IT quarkus.native.additional-build-args=-H:ResourceConfigurationFiles=resources-config.json + ################### ## LOG ################### quarkus.log.file.json=false quarkus.log.level=${LOG_LEVEL:INFO} -quarkus.log.category."it.gov.pagopa.gpd.payments.pull".level=${LOG_LEVEL:INFO} -quarkus.log.json.log-format=ecs +quarkus.log.category."it.gov.pagopa.gpd.payments.pull".level=${LOG_LEVEL:DEBUG} +quarkus.log.console.format=%d{HH:mm:ss} %-5p [%c{2.}] (%t) %s%e%n quarkus.log.console.json=true -%dev.quarkus.log.console.json=false +%dev.quarkus.log.console.json=true %test.quarkus.log.console.json=false %openapi.quarkus.log.console.json=false %openapi_internal.quarkus.log.console.json=false quarkus.log.console.json.additional-field."service.name".value=${app.name} quarkus.log.console.json.additional-field."service.version".value=${app.version} quarkus.log.console.json.additional-field."service.environment".value=${app.environment} + #################### ## OPENAPI - SWAGGER #################### @@ -39,6 +42,7 @@ quarkus.smallrye-openapi.info-terms-of-service=https://www.pagopa.gov.it/ # Path for the Swagger endpoint and file quarkus.swagger-ui.path=/swagger quarkus.smallrye-openapi.path=/openapi.json + ################## ## DATABASE ## ################## @@ -49,8 +53,9 @@ quarkus.datasource.reactive.url=${GPD_DB_URL} %test.quarkus.datasource.db-kind=h2 %test.quarkus.datasource.username=admin %test.quarkus.datasource.reactive.url=vertx-reactive:h2:tcp://localhost/mem:apd + ################ ## CUSTOM ## ################ -quarkus.app.payment_pull.keep_aca=true -%test.quarkus.app.payment_pull.keep_aca=false +app.payment_pull.keep_aca=true +%test.app.payment_pull.keep_aca=false