From bd2ca65f6716fe6db31ac912c4afb0cf0a2b8d33 Mon Sep 17 00:00:00 2001 From: Martin Weise <martin.weise@tuwien.ac.at> Date: Wed, 24 Feb 2021 19:31:12 +0100 Subject: [PATCH] Refs #6 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add colorful output depending on log severity 🎉 - Improved Dockerfile to use Docker caching better (=as long as pom.xml does not change, doesn't download deps again) - Surpress bulky Spring INFO output - Fix useless "No URLs will be polled" warning through suggested empty config.properties (https://github.com/Netflix/Hystrix/issues/275) - Finally replaced Spring Web MVC with Webflux - CORS Config replacing old Web MVC Config (fixes warning in f622eb3d3a85c082e3306a4b4923cf66abc546cd) --- docker-compose.yml | 48 +++++++------------ fda-container-managing-service/Dockerfile | 7 +-- .../resources/application-docker.properties | 5 +- .../src/main/resources/config.properties | 1 + fda-database-managing-service/Dockerfile | 7 +-- .../resources/application-docker.properties | 5 +- .../src/main/resources/config.properties | 1 + fda-discovery-server/Dockerfile | 3 +- .../resources/application-docker.properties | 3 +- .../src/main/resources/config.properties | 1 + fda-gateway-service/Dockerfile | 3 +- fda-gateway-service/pom.xml | 2 +- .../gatewayservice/config/WebConfig.java | 9 ++-- .../resources/application-docker.properties | 4 +- .../src/main/resources/config.properties | 1 + fda-query-service/Dockerfile | 7 +-- .../resources/application-docker.properties | 5 +- .../src/main/resources/config.properties | 1 + fda-table-service/Dockerfile | 7 +-- .../resources/application-docker.properties | 5 +- .../src/main/resources/config.properties | 1 + 21 files changed, 64 insertions(+), 62 deletions(-) create mode 100644 fda-container-managing-service/rest-service/src/main/resources/config.properties create mode 100644 fda-database-managing-service/rest-service/src/main/resources/config.properties create mode 100644 fda-discovery-server/src/main/resources/config.properties create mode 100644 fda-gateway-service/src/main/resources/config.properties create mode 100644 fda-query-service/rest-service/src/main/resources/config.properties create mode 100644 fda-table-service/rest-service/src/main/resources/config.properties diff --git a/docker-compose.yml b/docker-compose.yml index 22510bd96d..3a33e9c133 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,11 +7,9 @@ services: hostname: fda-discovery-server build: ./fda-discovery-server image: fda-discovery-server - environment: - SPRING_PROFILES_ACTIVE: docker + #environment: + # SPRING_PROFILES_ACTIVE: docker network_mode: bridge - expose: - - 9090 ports: - 9090:9090 @@ -21,10 +19,8 @@ services: build: ./fda-gateway-service image: fda-gateway-service network_mode: bridge - environment: - SPRING_PROFILES_ACTIVE: docker - expose: - - 9095 + #environment: + # SPRING_PROFILES_ACTIVE: docker ports: - 9095:9095 links: @@ -49,10 +45,8 @@ services: context: ./fda-database-managing-service image: fda-database-managing-service network_mode: bridge - environment: - SPRING_PROFILES_ACTIVE: docker - expose: - - 9092 + #environment: + # SPRING_PROFILES_ACTIVE: docker ports: - 9092:9092 links: @@ -70,10 +64,8 @@ services: build: ./fda-container-managing-service image: fda-container-managing-service network_mode: bridge - environment: - SPRING_PROFILES_ACTIVE: docker - expose: - - 9091 + #environment: + # SPRING_PROFILES_ACTIVE: docker ports: - 9091:9091 volumes: @@ -91,10 +83,8 @@ services: build: ./fda-query-service image: fda-query-service network_mode: bridge - environment: - SPRING_PROFILES_ACTIVE: docker - expose: - - 9093 + #environment: + # SPRING_PROFILES_ACTIVE: docker ports: - 9093:9093 volumes: @@ -115,10 +105,8 @@ services: image: fda-table-service network_mode: bridge environment: - SPRING_PROFILES_ACTIVE: docker + # SPRING_PROFILES_ACTIVE: docker multipart.location: /tmp - expose: - - 9094 ports: - 9094:9094 volumes: @@ -138,13 +126,11 @@ services: network_mode: bridge command: sh -c "/wait && flask run" environment: - - EUREKA_SERVER=http://fda-discovery-server:9090/eureka - - WAIT_HOSTS=fda-discovery-server:9090 - - WAIT_HOSTS_TIMEOUT=300 - - WAIT_SLEEP_INTERVAL=30 - - WAIT_HOST_CONNECT_TIMEOUT=30 - expose: - - 5000 + EUREKA_SERVER: http://fda-discovery-server:9090/eureka + WAIT_HOSTS: fda-discovery-server:9090 + WAIT_HOSTS_TIMEOUT: 300 + WAIT_SLEEP_INTERVAL: 30 + WAIT_HOST_CONNECT_TIMEOUT: 30 ports: - 5000:5000 volumes: @@ -161,8 +147,6 @@ services: hostname: fda-ui build: ./fda-ui image: fda-ui - expose: - - 3000 ports: - 3000:3000 links: diff --git a/fda-container-managing-service/Dockerfile b/fda-container-managing-service/Dockerfile index 50fb583bfd..231bd8a475 100644 --- a/fda-container-managing-service/Dockerfile +++ b/fda-container-managing-service/Dockerfile @@ -2,13 +2,14 @@ FROM maven:slim as build MAINTAINER Martin Weise <martin.weise@tuwien.ac.at> -COPY ./api ./api -COPY ./rest-service ./rest-service -COPY ./services ./services COPY ./pom.xml ./ RUN mvn -fn -B dependency:go-offline > /dev/null +COPY ./api ./api +COPY ./rest-service ./rest-service +COPY ./services ./services + RUN mvn -q clean package > /dev/null ###### SECOND STAGE ###### diff --git a/fda-container-managing-service/rest-service/src/main/resources/application-docker.properties b/fda-container-managing-service/rest-service/src/main/resources/application-docker.properties index e2c5a77c39..408cd21f29 100644 --- a/fda-container-managing-service/rest-service/src/main/resources/application-docker.properties +++ b/fda-container-managing-service/rest-service/src/main/resources/application-docker.properties @@ -3,6 +3,7 @@ spring.application.name=fda-container-managing spring.main.banner-mode=off logging.level.root=warn logging.level.at.=info -eureka.instance.hostname=fda-container-managing -eureka.client.serviceUrl.defaultZone=http://fda-discovery-server:9090/eureka/ +logging.pattern.console="%d %highlight(%-5level): %msg%n" +eureka.instance.hostname=fda-discovery-server +eureka.client.serviceUrl.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/ eureka.instance.preferIpAddress=true \ No newline at end of file diff --git a/fda-container-managing-service/rest-service/src/main/resources/config.properties b/fda-container-managing-service/rest-service/src/main/resources/config.properties new file mode 100644 index 0000000000..e993ed9c62 --- /dev/null +++ b/fda-container-managing-service/rest-service/src/main/resources/config.properties @@ -0,0 +1 @@ +# https://github.com/Netflix/Hystrix/issues/275 \ No newline at end of file diff --git a/fda-database-managing-service/Dockerfile b/fda-database-managing-service/Dockerfile index d99df42b89..ab1af5623e 100644 --- a/fda-database-managing-service/Dockerfile +++ b/fda-database-managing-service/Dockerfile @@ -2,13 +2,14 @@ FROM maven:slim as build MAINTAINER Martin Weise <martin.weise@tuwien.ac.at> +COPY ./pom.xml ./ + +RUN mvn -fn -B dependency:go-offline > /dev/null + COPY ./api ./api COPY ./gateways ./gateways COPY ./rest-service ./rest-service COPY ./services ./services -COPY ./pom.xml ./ - -RUN mvn -fn -B dependency:go-offline > /dev/null RUN mvn -q clean package > /dev/null diff --git a/fda-database-managing-service/rest-service/src/main/resources/application-docker.properties b/fda-database-managing-service/rest-service/src/main/resources/application-docker.properties index 3a47b57c45..9996d07cce 100644 --- a/fda-database-managing-service/rest-service/src/main/resources/application-docker.properties +++ b/fda-database-managing-service/rest-service/src/main/resources/application-docker.properties @@ -3,6 +3,7 @@ spring.application.name=fda-database-managing spring.main.banner-mode=off logging.level.root=warn logging.level.at.=info -eureka.instance.hostname=fda-database-managing -eureka.client.serviceUrl.defaultZone=http://fda-discovery-server:9090/eureka/ +logging.pattern.console="%d %highlight(%-5level): %msg%n" +eureka.instance.hostname=fda-discovery-server +eureka.client.serviceUrl.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/ eureka.instance.preferIpAddress=true \ No newline at end of file diff --git a/fda-database-managing-service/rest-service/src/main/resources/config.properties b/fda-database-managing-service/rest-service/src/main/resources/config.properties new file mode 100644 index 0000000000..e993ed9c62 --- /dev/null +++ b/fda-database-managing-service/rest-service/src/main/resources/config.properties @@ -0,0 +1 @@ +# https://github.com/Netflix/Hystrix/issues/275 \ No newline at end of file diff --git a/fda-discovery-server/Dockerfile b/fda-discovery-server/Dockerfile index 9d48888895..c93c53ada9 100644 --- a/fda-discovery-server/Dockerfile +++ b/fda-discovery-server/Dockerfile @@ -2,11 +2,12 @@ FROM maven:slim as build MAINTAINER Martin Weise <martin.weise@tuwien.ac.at> -COPY ./src ./src COPY ./pom.xml ./ RUN mvn -fn -B dependency:go-offline > /dev/null +COPY ./src ./src + RUN mvn -q clean package > /dev/null ###### SECOND STAGE ###### diff --git a/fda-discovery-server/src/main/resources/application-docker.properties b/fda-discovery-server/src/main/resources/application-docker.properties index b4fc2cc7f2..eb2714535c 100644 --- a/fda-discovery-server/src/main/resources/application-docker.properties +++ b/fda-discovery-server/src/main/resources/application-docker.properties @@ -3,8 +3,9 @@ spring.application.name=fda-discovery-server spring.main.banner-mode=off logging.level.root=warn logging.level.at.=info +logging.pattern.console="%d %highlight(%-5level): %msg%n" eureka.client.register-with-eureka=false eureka.client.fetch-registry=false eureka.instance.hostname=fda-discovery-server -eureka.client.serviceUrl.defaultZone=http://fda-discovery-server:9090/eureka/ +eureka.client.serviceUrl.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/ eureka.instance.preferIpAddress=true \ No newline at end of file diff --git a/fda-discovery-server/src/main/resources/config.properties b/fda-discovery-server/src/main/resources/config.properties new file mode 100644 index 0000000000..e993ed9c62 --- /dev/null +++ b/fda-discovery-server/src/main/resources/config.properties @@ -0,0 +1 @@ +# https://github.com/Netflix/Hystrix/issues/275 \ No newline at end of file diff --git a/fda-gateway-service/Dockerfile b/fda-gateway-service/Dockerfile index 57b0b7bde3..ff3ac66872 100644 --- a/fda-gateway-service/Dockerfile +++ b/fda-gateway-service/Dockerfile @@ -2,11 +2,12 @@ FROM maven:slim as build MAINTAINER Martin Weise <martin.weise@tuwien.ac.at> -COPY ./src ./src COPY ./pom.xml ./ RUN mvn -fn -B dependency:go-offline > /dev/null +COPY ./src ./src + RUN mvn -q clean package > /dev/null ###### SECOND STAGE ###### diff --git a/fda-gateway-service/pom.xml b/fda-gateway-service/pom.xml index 731f10f5f0..8432ad081d 100644 --- a/fda-gateway-service/pom.xml +++ b/fda-gateway-service/pom.xml @@ -26,7 +26,7 @@ </dependency> <dependency> <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-web</artifactId> + <artifactId>spring-boot-starter-webflux</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> diff --git a/fda-gateway-service/src/main/java/at/tuwien/gatewayservice/config/WebConfig.java b/fda-gateway-service/src/main/java/at/tuwien/gatewayservice/config/WebConfig.java index 1673c53b18..2b7b0d970b 100644 --- a/fda-gateway-service/src/main/java/at/tuwien/gatewayservice/config/WebConfig.java +++ b/fda-gateway-service/src/main/java/at/tuwien/gatewayservice/config/WebConfig.java @@ -1,14 +1,15 @@ package at.tuwien.gatewayservice.config; import org.springframework.context.annotation.Configuration; -import org.springframework.web.servlet.config.annotation.CorsRegistry; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; +import org.springframework.web.reactive.config.CorsRegistry; +import org.springframework.web.reactive.config.WebFluxConfigurer; @Configuration -public class WebConfig implements WebMvcConfigurer { +public class WebConfig implements WebFluxConfigurer { @Override public void addCorsMappings(CorsRegistry registry) { - registry.addMapping("/**").allowedOrigins("*"); + registry.addMapping("/**") + .allowedOrigins("*"); // FIXME } } diff --git a/fda-gateway-service/src/main/resources/application-docker.properties b/fda-gateway-service/src/main/resources/application-docker.properties index 052b0cd4cb..b3e8aacf58 100644 --- a/fda-gateway-service/src/main/resources/application-docker.properties +++ b/fda-gateway-service/src/main/resources/application-docker.properties @@ -4,5 +4,5 @@ spring.main.banner-mode=off logging.level.root=warn logging.level.at.=info logging.pattern.console="%d %highlight(%-5level): %msg%n" -eureka.instance.hostname=fda-gateway-service -eureka.client.serviceUrl.defaultZone=http://fda-discovery-server:9090/eureka/ \ No newline at end of file +eureka.instance.hostname=fda-discovery-server +eureka.client.serviceUrl.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/ \ No newline at end of file diff --git a/fda-gateway-service/src/main/resources/config.properties b/fda-gateway-service/src/main/resources/config.properties new file mode 100644 index 0000000000..e993ed9c62 --- /dev/null +++ b/fda-gateway-service/src/main/resources/config.properties @@ -0,0 +1 @@ +# https://github.com/Netflix/Hystrix/issues/275 \ No newline at end of file diff --git a/fda-query-service/Dockerfile b/fda-query-service/Dockerfile index a51e7bc2ef..7c86e3e735 100644 --- a/fda-query-service/Dockerfile +++ b/fda-query-service/Dockerfile @@ -2,14 +2,15 @@ FROM maven:slim as build MAINTAINER Martin Weise <martin.weise@tuwien.ac.at> +COPY ./pom.xml ./ + +RUN mvn -fn -B dependency:go-offline > /dev/null + COPY ./api ./api COPY ./gateways ./gateways COPY ./persistence ./persistence COPY ./rest-service ./rest-service COPY ./services ./services -COPY ./pom.xml ./ - -RUN mvn -fn -B dependency:go-offline > /dev/null RUN mvn -q clean package > /dev/null diff --git a/fda-query-service/rest-service/src/main/resources/application-docker.properties b/fda-query-service/rest-service/src/main/resources/application-docker.properties index faabd241e5..270e11f593 100644 --- a/fda-query-service/rest-service/src/main/resources/application-docker.properties +++ b/fda-query-service/rest-service/src/main/resources/application-docker.properties @@ -3,5 +3,6 @@ spring.application.name=fda-query-service spring.main.banner-mode=off logging.level.root=warn logging.level.at.=info -eureka.instance.hostname=fda-query-service -eureka.client.serviceUrl.defaultZone=http://fda-discovery-server:9090/eureka/ +logging.pattern.console="%d %highlight(%-5level): %msg%n" +eureka.instance.hostname=fda-discovery-server +eureka.client.serviceUrl.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/ diff --git a/fda-query-service/rest-service/src/main/resources/config.properties b/fda-query-service/rest-service/src/main/resources/config.properties new file mode 100644 index 0000000000..e993ed9c62 --- /dev/null +++ b/fda-query-service/rest-service/src/main/resources/config.properties @@ -0,0 +1 @@ +# https://github.com/Netflix/Hystrix/issues/275 \ No newline at end of file diff --git a/fda-table-service/Dockerfile b/fda-table-service/Dockerfile index 8f12172844..9a9c4c854a 100644 --- a/fda-table-service/Dockerfile +++ b/fda-table-service/Dockerfile @@ -2,13 +2,14 @@ FROM maven:slim as build MAINTAINER Martin Weise <martin.weise@tuwien.ac.at> +COPY ./pom.xml ./ + +RUN mvn -fn -B dependency:go-offline > /dev/null + COPY ./api ./api COPY ./gateways ./gateways COPY ./rest-service ./rest-service COPY ./services ./services -COPY ./pom.xml ./ - -RUN mvn -fn -B dependency:go-offline > /dev/null RUN mvn -q clean package > /dev/null diff --git a/fda-table-service/rest-service/src/main/resources/application-docker.properties b/fda-table-service/rest-service/src/main/resources/application-docker.properties index 556c1e3dae..bcb6231943 100644 --- a/fda-table-service/rest-service/src/main/resources/application-docker.properties +++ b/fda-table-service/rest-service/src/main/resources/application-docker.properties @@ -3,8 +3,9 @@ spring.application.name=fda-table-service spring.main.banner-mode=off logging.level.root=warn logging.level.at.=info -eureka.instance.hostname=fda-table-service -eureka.client.serviceUrl.defaultZone=http://fda-discovery-server:9090/eureka/ +logging.pattern.console="%d %highlight(%-5level): %msg%n" +eureka.instance.hostname=fda-discovery-server +eureka.client.serviceUrl.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/ spring.servlet.multipart.max-file-size=50MB spring.servlet.multipart.max-request-size=50MB multipart.location=${java.io.tmpdir} \ No newline at end of file diff --git a/fda-table-service/rest-service/src/main/resources/config.properties b/fda-table-service/rest-service/src/main/resources/config.properties new file mode 100644 index 0000000000..e993ed9c62 --- /dev/null +++ b/fda-table-service/rest-service/src/main/resources/config.properties @@ -0,0 +1 @@ +# https://github.com/Netflix/Hystrix/issues/275 \ No newline at end of file -- GitLab