From 09fe0a02418b7714f943d644dddd93e9cc76baa0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20=C3=81lvarez=20=C3=81lvarez?= Date: Tue, 23 Apr 2024 11:45:40 +0200 Subject: [PATCH] Ensure that insecure-bank can be deployed as a war --- Dockerfile | 30 +++++++++---------- README.md | 4 +-- build.gradle.kts | 2 ++ .../hdivsamples/InsecureBankApplication.java | 3 +- start.sh | 2 +- 5 files changed, 21 insertions(+), 20 deletions(-) diff --git a/Dockerfile b/Dockerfile index cce47670..4f4c4e9e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,29 +12,27 @@ COPY --chown=gradle:gradle . /home/gradle/src WORKDIR /home/gradle/src RUN gradle :bootWar --no-daemon -FROM openjdk:8u342-jre-slim - -WORKDIR /app +FROM tomcat:8.5.100-jre8 +RUN mkdir /app COPY --from=log4j /home/gradle/src/malicious-server/build/libs/*.jar /app/malicious-server.jar -COPY --from=app /home/gradle/src/build/libs/*.war /app/insecure-bank.war -ADD start.sh /app/start.sh +WORKDIR /usr/local/tomcat +ADD start.sh /usr/local/tomcat/ -RUN chmod +x /app/start.sh +# Copy the application to tomcat +COPY --from=app /home/gradle/src/build/libs/*.war /usr/local/tomcat/webapps/insecure-bank.war # Copy the license file -ADD license.hdiv /app/hdiv/ +ADD license.hdiv /usr/local/tomcat/hdiv/ # Copy the agent jar -ADD hdiv-ee-agent.jar /app/hdiv/ - -ENV JAVA_OPTS="-javaagent:/app/hdiv/hdiv-ee-agent.jar \ - -Dhdiv.config.dir=/app/hdiv/ \ - -Dhdiv.console.url=http://console:8080/hdiv-console-services \ - -Dhdiv.console.token=04db250da579302ca273a958 \ - -Dhdiv.server.name=Testing-Docker \ - -Dhdiv.toolbar.enabled=true" +ADD hdiv-ee-agent.jar /usr/local/tomcat/hdiv/ # Run Tomcat and enjoy! -CMD /app/start.sh +CMD export JAVA_OPTS="-javaagent:hdiv/hdiv-ee-agent.jar \ + -Dhdiv.config.dir=hdiv/ \ + -Dhdiv.console.url=http://console:8080/hdiv-console-services \ + -Dhdiv.console.token=04db250da579302ca273a958 \ + -Dhdiv.server.name=Testing-Docker \ + -Dhdiv.toolbar.enabled=true" && ./start.sh diff --git a/README.md b/README.md index 67e9efed..8edc71e2 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ $ git clone https://github.com/hdiv/insecure-bank.git -2. Run the application: +2. Run the application locally: $ ./gradlew bootRun @@ -22,7 +22,7 @@ Place Hdiv agent and license in the application root folder. $ docker run -p 8080:8080 -d --name insecure-bank-app insecure-bank $ docker logs insecure-bank-app -Open the application in > http://localhost:8080/ +Open the application in > http://localhost:8080/insecure-bank ## Login credentials - Username: john diff --git a/build.gradle.kts b/build.gradle.kts index a6b783f4..63141ad1 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -36,6 +36,8 @@ dependencies { runtimeOnly("javax.servlet:jstl") runtimeOnly("org.apache.tomcat.embed:tomcat-embed-jasper") runtimeOnly("org.hsqldb:hsqldb") + + providedRuntime("org.springframework.boot:spring-boot-starter-tomcat") } tasks.withType { diff --git a/src/main/java/org/hdivsamples/InsecureBankApplication.java b/src/main/java/org/hdivsamples/InsecureBankApplication.java index 0bc23622..d5e155e7 100644 --- a/src/main/java/org/hdivsamples/InsecureBankApplication.java +++ b/src/main/java/org/hdivsamples/InsecureBankApplication.java @@ -2,9 +2,10 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; @SpringBootApplication -public class InsecureBankApplication { +public class InsecureBankApplication extends SpringBootServletInitializer { public static void main(String[] args) { SpringApplication.run(InsecureBankApplication.class, args); diff --git a/start.sh b/start.sh index c319cf7c..4eedd2a1 100755 --- a/start.sh +++ b/start.sh @@ -2,4 +2,4 @@ java -jar /app/malicious-server.jar & -java ${JAVA_OPTS} -jar /app/insecure-bank.war +./bin/catalina.sh run