diff --git a/Dockerfile b/Dockerfile index 43f9eaa..5e34bad 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,19 +1,18 @@ # Builder image -FROM maven:3.5-jdk-8 as builder -ENV MAVEN_OPTS=-Dmaven.repo.local=/srv/.m2/ +FROM maven:3.5-jdk-8-alpine as builder WORKDIR /srv/app/ COPY pom.xml . RUN mvn -B -C -T 1C org.apache.maven.plugins:maven-dependency-plugin:3.0.2:go-offline COPY . . RUN mvn -B -o -T 1C package -DskipTests # Executor image FROM openjdk:8-jre-alpine ARG SERVICE_PORT COPY --from=builder /srv/app/target/*.jar \ /srv/app/app.jar COPY ./src/main/resources/app-keystore.jks /srv/app/app-keystore.jks COPY ./src/main/resources/app-truststore.jks /srv/app/app-truststore.jks WORKDIR /srv/app/ EXPOSE $SERVICE_PORT ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "app.jar"] diff --git a/pom.xml b/pom.xml index 4e09e0d..c18914b 100644 --- a/pom.xml +++ b/pom.xml @@ -1,75 +1,79 @@ 4.0.0 org.wikitolearn.gateway pwa - 0.0.1-SNAPSHOT + 0.0.2-SNAPSHOT jar PWAGateway Progressive Web App Gateway org.springframework.boot spring-boot-starter-parent - 1.5.9.RELEASE - + 2.0.0.RELEASE + UTF-8 UTF-8 1.8 - Edgware.RELEASE + Finchley.M9 org.springframework.cloud spring-cloud-starter-security org.springframework.cloud spring-cloud-starter-oauth2 + + org.springframework.security.oauth.boot + spring-security-oauth2-autoconfigure + org.springframework.cloud - spring-cloud-starter-zuul + spring-cloud-starter-netflix-zuul - + org.projectlombok lombok + true - org.springframework.boot spring-boot-starter-test test org.springframework.cloud spring-cloud-dependencies ${spring-cloud.version} pom import org.springframework.boot spring-boot-maven-plugin diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 7582096..b038b08 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,52 +1,49 @@ # Spring properties spring: application: name: PWAGateway output: ansi: enabled: DETECT # Zuul properties zuul: sslHostnameValidationEnabled: false prefix: /api/v1 sensitive-headers: Cookie,Set-Cookie routes: courses: url: ${COURSE_MIDTIER_URI}/courses path: /courses/** pages: url: ${COURSE_MIDTIER_URI}/pages path: /pages/** # Security properties security: - basic: - enabled: false oauth2: resource: - filter-order: 3 user-info-uri: ${KEYCLOAK_URI}/auth/realms/${KEYCLOAK_AUTH_REALM}/protocol/openid-connect/userinfo token-info-uri: ${KEYCLOAK_URI}/auth/realms/${KEYCLOAK_AUTH_REALM}/protocol/openid-connect/token/introspect prefer-token-info: false jwt: key-uri: ${KEYCLOAK_URI}/auth/realms/${KEYCLOAK_AUTH_REALM} # Loggin properties logging: pattern: file: '%d{"yyyy-MM-dd HH:mm:ss,SSS"} %-5level [%c] \(%thread\) : %msg%n' console: '%d{"yyyy-MM-dd HH:mm:ss,SSS"} %-5level [%c] \(%thread\) : %msg%n' # Server properties server: port: ${SERVICE_PORT} ssl: enabled: ${SSL_ENABLED} key-store: file:./app-keystore.jks key-store-password: changeme key-alias: client key-password: changeme trust-store: file:./app-truststore.jks trust-store-password: changeme client-auth: ${MTLS_STATUS} \ No newline at end of file