diff --git a/application/aam-backend-service/src/main/kotlin/com/aamdigital/aambackendservice/export/controller/TemplateExportController.kt b/application/aam-backend-service/src/main/kotlin/com/aamdigital/aambackendservice/export/controller/TemplateExportController.kt index c96f5974..0625e37e 100644 --- a/application/aam-backend-service/src/main/kotlin/com/aamdigital/aambackendservice/export/controller/TemplateExportController.kt +++ b/application/aam-backend-service/src/main/kotlin/com/aamdigital/aambackendservice/export/controller/TemplateExportController.kt @@ -16,6 +16,7 @@ import com.aamdigital.aambackendservice.export.core.RenderTemplateUseCase import com.fasterxml.jackson.databind.JsonNode import com.fasterxml.jackson.databind.ObjectMapper import org.slf4j.LoggerFactory +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty import org.springframework.http.HttpHeaders import org.springframework.http.HttpStatus import org.springframework.http.MediaType @@ -73,6 +74,12 @@ sealed interface TemplateExportControllerResponse { */ @RestController @RequestMapping("/v1/export") +@ConditionalOnProperty( + prefix = "features.export-api", + name = ["enabled"], + havingValue = "true", + matchIfMissing = false +) @Validated class TemplateExportController( private val createTemplateUseCase: CreateTemplateUseCase, diff --git a/application/aam-backend-service/src/main/kotlin/com/aamdigital/aambackendservice/export/di/AamRenderApiConfiguration.kt b/application/aam-backend-service/src/main/kotlin/com/aamdigital/aambackendservice/export/di/AamRenderApiConfiguration.kt index 05de92fd..4f7d1770 100644 --- a/application/aam-backend-service/src/main/kotlin/com/aamdigital/aambackendservice/export/di/AamRenderApiConfiguration.kt +++ b/application/aam-backend-service/src/main/kotlin/com/aamdigital/aambackendservice/export/di/AamRenderApiConfiguration.kt @@ -3,6 +3,7 @@ package com.aamdigital.aambackendservice.export.di import com.aamdigital.aambackendservice.auth.core.AuthConfig import com.aamdigital.aambackendservice.auth.core.AuthProvider import org.springframework.beans.factory.annotation.Qualifier +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty import org.springframework.boot.context.properties.ConfigurationProperties import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration @@ -12,6 +13,12 @@ import org.springframework.web.client.RestClient @ConfigurationProperties("aam-render-api-client-configuration") +@ConditionalOnProperty( + prefix = "features.export-api", + name = ["enabled"], + havingValue = "true", + matchIfMissing = false +) class AamRenderApiClientConfiguration( val basePath: String, val authConfig: AuthConfig? = null, @@ -19,8 +26,14 @@ class AamRenderApiClientConfiguration( ) @Configuration +@ConditionalOnProperty( + prefix = "features.export-api", + name = ["enabled"], + havingValue = "true", + matchIfMissing = false +) class AamRenderApiConfiguration { - + @Bean(name = ["aam-render-api-client"]) fun aamRenderApiClient( @Qualifier("aam-keycloak") authProvider: AuthProvider, diff --git a/application/aam-backend-service/src/main/kotlin/com/aamdigital/aambackendservice/export/di/UseCaseConfiguration.kt b/application/aam-backend-service/src/main/kotlin/com/aamdigital/aambackendservice/export/di/UseCaseConfiguration.kt index c0c58f3e..1699cbb7 100644 --- a/application/aam-backend-service/src/main/kotlin/com/aamdigital/aambackendservice/export/di/UseCaseConfiguration.kt +++ b/application/aam-backend-service/src/main/kotlin/com/aamdigital/aambackendservice/export/di/UseCaseConfiguration.kt @@ -11,11 +11,18 @@ import com.aamdigital.aambackendservice.export.usecase.DefaultFetchTemplateUseCa import com.aamdigital.aambackendservice.export.usecase.DefaultRenderTemplateUseCase import com.fasterxml.jackson.databind.ObjectMapper import org.springframework.beans.factory.annotation.Qualifier +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration import org.springframework.web.client.RestClient @Configuration +@ConditionalOnProperty( + prefix = "features.export-api", + name = ["enabled"], + havingValue = "true", + matchIfMissing = false +) class UseCaseConfiguration { @Bean(name = ["default-template-storage"]) fun defaultTemplateStorage( diff --git a/application/aam-backend-service/src/main/resources/application.yaml b/application/aam-backend-service/src/main/resources/application.yaml index 1649407e..35b60ad8 100644 --- a/application/aam-backend-service/src/main/resources/application.yaml +++ b/application/aam-backend-service/src/main/resources/application.yaml @@ -46,6 +46,8 @@ management: probability: 1 features: + export-api: + enabled: false skill-api: mode: disabled @@ -58,8 +60,8 @@ events: logging: logback: rollingpolicy: - max-file-size: 100MB - total-size-cap: 100MB + max-file-size: 50MB + total-size-cap: 50MB clean-history-on-start: true --- @@ -130,9 +132,14 @@ skilllab-api-client-configuration: response-timeout-in-seconds: 15 features: + export-api: + enabled: false skill-api: mode: skilllab +crypto-configuration: + secret: super-duper-secret + events: listener: report-calculation: @@ -145,6 +152,10 @@ sentry: logging: enabled: false +# sentry version +application: + version: local-dev-build + management: otlp: tracing: diff --git a/application/aam-backend-service/src/test/resources/application-e2e.yaml b/application/aam-backend-service/src/test/resources/application-e2e.yaml index 83297eca..ba81635a 100644 --- a/application/aam-backend-service/src/test/resources/application-e2e.yaml +++ b/application/aam-backend-service/src/test/resources/application-e2e.yaml @@ -72,6 +72,8 @@ skilllab-api-client-configuration: response-timeout-in-seconds: 15 features: + export-api: + enabled: true skill-api: mode: disabled @@ -90,6 +92,10 @@ sentry: logging: enabled: false +# sentry version +application: + version: application-e2e-test-build + logging: level: - com.aamdigital.aambackendservice: trace + com.aamdigital.aambackendservice: warn