From 43c4083d0d382ee2da3925b2a71aa497b14d16c6 Mon Sep 17 00:00:00 2001 From: Avgustin Marinov Date: Mon, 2 Dec 2024 15:13:46 +0200 Subject: [PATCH] Add MaridDB java client into runtimes (#2111) And remove dedicated mysql image - as the driver is available into the default one Signed-off-by: Avgustin Marinov --- .3rd-party/DEPENDENCIES | 21 +++--- .../docker-compose-micro-services-mysql.yml | 6 +- ...se-micro-services-with-simple-ui-mysql.yml | 2 +- docker/docker-compose-monolith-mysql.yml | 2 +- ...-compose-monolith-with-simple-ui-mysql.yml | 2 +- docker/docker_build/Dockerfile-mysql | 72 ------------------- docker/docker_build/Dockerfile_dev-mysql | 56 --------------- docker/docker_build/KEY-mysql | 40 ----------- docker/docker_build/README.md | 42 +---------- docker/docker_build/build_all_dev.sh | 18 ++--- hawkbit-ddi/hawkbit-ddi-server/pom.xml | 9 ++- hawkbit-dmf/hawkbit-dmf-server/pom.xml | 4 ++ hawkbit-mgmt/hawkbit-mgmt-server/pom.xml | 9 ++- .../hawkbit-update-server/pom.xml | 9 ++- site/content/guides/runhawkbit.md | 10 --- 15 files changed, 37 insertions(+), 265 deletions(-) delete mode 100644 docker/docker_build/Dockerfile-mysql delete mode 100644 docker/docker_build/Dockerfile_dev-mysql delete mode 100644 docker/docker_build/KEY-mysql diff --git a/.3rd-party/DEPENDENCIES b/.3rd-party/DEPENDENCIES index 114bf0563c..68b146f70f 100644 --- a/.3rd-party/DEPENDENCIES +++ b/.3rd-party/DEPENDENCIES @@ -12,8 +12,8 @@ maven/mavencentral/com.fasterxml.jackson.datatype/jackson-datatype-jsr310/2.17.2 maven/mavencentral/com.fasterxml.jackson.module/jackson-module-parameter-names/2.17.2, Apache-2.0, approved, #15122 maven/mavencentral/com.fasterxml/classmate/1.7.0, Apache-2.0, approved, clearlydefined maven/mavencentral/com.github.ben-manes.caffeine/caffeine/3.1.8, Apache-2.0, approved, clearlydefined -maven/mavencentral/com.github.stephenc.jcip/jcip-annotations/1.0-1, Apache-2.0, approved, CQ21949 -maven/mavencentral/com.google.code.findbugs/jsr305/3.0.2, CC-BY-2.5, approved, #15220 +maven/mavencentral/com.github.waffle/waffle-jna/3.3.0, MIT, approved, clearlydefined +maven/mavencentral/com.google.code.findbugs/jsr305/3.0.2, Apache-2.0 and CC-BY-2.5, approved, #15220 maven/mavencentral/com.google.code.gson/gson/2.10.1, Apache-2.0, approved, #6159 maven/mavencentral/com.google.errorprone/error_prone_annotations/2.21.1, Apache-2.0, approved, #9834 maven/mavencentral/com.h2database/h2/2.2.224, (EPL-1.0 OR MPL-2.0) AND (LGPL-3.0-or-later OR EPL-1.0 OR MPL-2.0), approved, #9322 @@ -21,10 +21,6 @@ maven/mavencentral/com.helger.commons/ph-commons/11.1.0, Apache-2.0, approved, # maven/mavencentral/com.helger/ph-css/7.0.1, Apache-2.0, approved, #12134 maven/mavencentral/com.jayway.jsonpath/json-path/2.9.0, Apache-2.0, approved, clearlydefined maven/mavencentral/com.microsoft.sqlserver/mssql-jdbc/12.6.4.jre11, MIT, approved, clearlydefined -maven/mavencentral/com.nimbusds/content-type/2.2, Apache-2.0, approved, clearlydefined -maven/mavencentral/com.nimbusds/lang-tag/1.7, Apache-2.0, approved, clearlydefined -maven/mavencentral/com.nimbusds/nimbus-jose-jwt/9.37.3, Apache-2.0, approved, #11701 -maven/mavencentral/com.nimbusds/oauth2-oidc-sdk/9.43.4, Apache-2.0, approved, clearlydefined maven/mavencentral/com.rabbitmq/amqp-client/5.21.0, Apache-2.0 OR GPL-2.0-only OR MPL-2.0, approved, #16484 maven/mavencentral/com.vaadin.external.atmosphere/atmosphere-runtime/3.0.4.slf4jvaadin1, Apache-2.0, approved, #12113 maven/mavencentral/com.vaadin.external.gwt/gwt-elemental/2.8.2.vaadin2, Apache-2.0, approved, clearlydefined @@ -128,9 +124,9 @@ maven/mavencentral/jakarta.validation/jakarta.validation-api/3.0.2, Apache-2.0, maven/mavencentral/jakarta.xml.bind/jakarta.xml.bind-api/4.0.2, BSD-3-Clause, approved, ee4j.jaxb maven/mavencentral/javax.activation/javax.activation-api/1.2.0, (CDDL-1.1 OR GPL-2.0 WITH Classpath-exception-2.0) AND Apache-2.0, approved, CQ18740 maven/mavencentral/javax.xml.bind/jaxb-api/2.3.1, CDDL-1.1 OR GPL-2.0-only WITH Classpath-exception-2.0, approved, CQ16911 +maven/mavencentral/net.java.dev.jna/jna-platform/5.13.0, Apache-2.0 OR LGPL-2.1-or-later, approved, #6707 +maven/mavencentral/net.java.dev.jna/jna/5.13.0, Apache-2.0 AND LGPL-2.1-or-later, approved, #15196 maven/mavencentral/net.jodah/typetools/0.6.2, Apache-2.0, approved, clearlydefined -maven/mavencentral/net.minidev/accessors-smart/2.5.1, Apache-2.0, approved, clearlydefined -maven/mavencentral/net.minidev/json-smart/2.5.1, Apache-2.0, approved, clearlydefined maven/mavencentral/org.antlr/ST4/4.3.3, BSD-3-Clause, approved, #1495 maven/mavencentral/org.antlr/antlr-runtime/3.5.2, BSD-3-Clause, approved, #8916 maven/mavencentral/org.antlr/antlr4-runtime/4.13.0, BSD-3-Clause, approved, #10767 @@ -155,7 +151,9 @@ maven/mavencentral/org.bouncycastle/bcprov-jdk18on/1.78, MIT AND CC0-1.0, approv maven/mavencentral/org.checkerframework/checker-qual/3.37.0, MIT, approved, clearlydefined maven/mavencentral/org.checkerframework/checker-qual/3.42.0, MIT, approved, clearlydefined maven/mavencentral/org.flywaydb/flyway-core/10.10.0, Apache-2.0, approved, #14163 +maven/mavencentral/org.flywaydb/flyway-database-postgresql/10.10.0, Apache-2.0, approved, #14158 maven/mavencentral/org.flywaydb/flyway-mysql/10.10.0, Apache-2.0, approved, #16487 +maven/mavencentral/org.flywaydb/flyway-sqlserver/10.10.0, Apache-2.0, approved, clearlydefined maven/mavencentral/org.hibernate.orm/hibernate-core/6.5.3.Final, LGPL-2.1-only AND (EPL-2.0 OR BSD-3-Clause) AND LGPL-2.1-or-later AND MIT, approved, #15118 maven/mavencentral/org.hibernate.validator/hibernate-validator/8.0.1.Final, Apache-2.0, approved, clearlydefined maven/mavencentral/org.javassist/javassist/3.28.0-GA, Apache-2.0 OR LGPL-2.1-or-later OR MPL-1.1, approved, #327 @@ -167,11 +165,13 @@ maven/mavencentral/org.jetbrains/annotations/13.0, Apache-2.0, approved, clearly maven/mavencentral/org.jline/jline/3.24.1, BSD-3-Clause AND Apache-2.0, approved, #13732 maven/mavencentral/org.json/json/20240303, LicenseRef-Public-Domain, approved, #16490 maven/mavencentral/org.jsoup/jsoup/1.18.1, MIT AND Apache-2.0, approved, #15683 +maven/mavencentral/org.mariadb.jdbc/mariadb-java-client/3.3.3, LGPL-2.1-only AND LGPL-2.1-or-later AND CC0-1.0, approved, #17584 maven/mavencentral/org.ow2.asm/asm/9.6, BSD-3-Clause, approved, #10776 maven/mavencentral/org.postgresql/postgresql/42.7.4, BSD-2-Clause AND Apache-2.0, approved, #11681 maven/mavencentral/org.projectlombok/lombok/1.18.34, MIT, approved, #15192 maven/mavencentral/org.reactivestreams/reactive-streams/1.0.4, CC0-1.0, approved, CQ16332 maven/mavencentral/org.reflections/reflections/0.10.2, Apache-2.0 AND WTFPL, approved, clearlydefined +maven/mavencentral/org.slf4j/jcl-over-slf4j/2.0.16, MIT AND Apache-2.0, approved, #11889 maven/mavencentral/org.slf4j/jul-to-slf4j/2.0.16, MIT, approved, #7698 maven/mavencentral/org.slf4j/slf4j-api/2.0.16, MIT, approved, #5915 maven/mavencentral/org.springdoc/springdoc-openapi-starter-common/2.6.0, Apache-2.0, approved, clearlydefined @@ -187,8 +187,6 @@ maven/mavencentral/org.springframework.boot/spring-boot-starter-hateoas/3.3.5, A maven/mavencentral/org.springframework.boot/spring-boot-starter-jdbc/3.3.5, Apache-2.0, approved, #16885 maven/mavencentral/org.springframework.boot/spring-boot-starter-json/3.3.5, Apache-2.0, approved, clearlydefined maven/mavencentral/org.springframework.boot/spring-boot-starter-logging/3.3.5, Apache-2.0, approved, #16886 -maven/mavencentral/org.springframework.boot/spring-boot-starter-oauth2-client/3.3.5, Apache-2.0, approved, clearlydefined -maven/mavencentral/org.springframework.boot/spring-boot-starter-oauth2-resource-server/3.3.5, Apache-2.0, approved, clearlydefined maven/mavencentral/org.springframework.boot/spring-boot-starter-reactor-netty/3.3.5, Apache-2.0, approved, clearlydefined maven/mavencentral/org.springframework.boot/spring-boot-starter-security/3.3.5, Apache-2.0, approved, #16894 maven/mavencentral/org.springframework.boot/spring-boot-starter-tomcat/3.3.5, Apache-2.0, approved, clearlydefined @@ -221,10 +219,7 @@ maven/mavencentral/org.springframework.security/spring-security-aspects/6.3.4, A maven/mavencentral/org.springframework.security/spring-security-config/6.3.4, Apache-2.0, approved, clearlydefined maven/mavencentral/org.springframework.security/spring-security-core/6.3.4, Apache-2.0, approved, clearlydefined maven/mavencentral/org.springframework.security/spring-security-crypto/6.3.4, Apache-2.0, approved, clearlydefined -maven/mavencentral/org.springframework.security/spring-security-oauth2-client/6.3.4, Apache-2.0, approved, #16891 maven/mavencentral/org.springframework.security/spring-security-oauth2-core/6.3.4, Apache-2.0, approved, #16892 -maven/mavencentral/org.springframework.security/spring-security-oauth2-jose/6.3.4, Apache-2.0, approved, #16884 -maven/mavencentral/org.springframework.security/spring-security-oauth2-resource-server/6.3.4, Apache-2.0, approved, #16888 maven/mavencentral/org.springframework.security/spring-security-rsa/1.1.3, Apache-2.0, approved, clearlydefined maven/mavencentral/org.springframework.security/spring-security-web/6.3.4, Apache-2.0, approved, clearlydefined maven/mavencentral/org.springframework.shell/spring-shell-autoconfigure/3.1.5, Apache-2.0, approved, #13759 diff --git a/docker/docker-compose-micro-services-mysql.yml b/docker/docker-compose-micro-services-mysql.yml index a6c2da4d18..1eb111072e 100644 --- a/docker/docker-compose-micro-services-mysql.yml +++ b/docker/docker-compose-micro-services-mysql.yml @@ -18,7 +18,7 @@ services: # HawkBit DDI # --------------------- hawkbit-ddi: - image: "hawkbit/hawkbit-ddi-server:latest-mysql" + image: "hawkbit/hawkbit-ddi-server:latest" environment: - 'PROFILES=mysql' - 'SPRING_DATASOURCE_URL=jdbc:mariadb://mysql:3306/hawkbit' @@ -39,7 +39,7 @@ services: # HawkBit DMF # --------------------- hawkbit-dmf: - image: "hawkbit/hawkbit-dmf-server:latest-mysql" + image: "hawkbit/hawkbit-dmf-server:latest" environment: - 'PROFILES=mysql' - 'SPRING_DATASOURCE_URL=jdbc:mariadb://mysql:3306/hawkbit' @@ -58,7 +58,7 @@ services: # HawkBit MGMT # --------------------- hawkbit-mgmt: - image: "hawkbit/hawkbit-mgmt-server:latest-mysql" + image: "hawkbit/hawkbit-mgmt-server:latest" environment: - 'PROFILES=mysql' - 'SPRING_DATASOURCE_URL=jdbc:mariadb://mysql:3306/hawkbit' diff --git a/docker/docker-compose-micro-services-with-simple-ui-mysql.yml b/docker/docker-compose-micro-services-with-simple-ui-mysql.yml index 9e0e10b6f1..10e6b259e9 100644 --- a/docker/docker-compose-micro-services-with-simple-ui-mysql.yml +++ b/docker/docker-compose-micro-services-with-simple-ui-mysql.yml @@ -18,7 +18,7 @@ services: # HawkBit Simple UI # --------------------- hawkbit-simple-ui: - image: "hawkbit/hawkbit-simple-ui:latest-mysql" + image: "hawkbit/hawkbit-simple-ui:latest" environment: - 'SPRING_APPLICATION_JSON={"hawkbit.server.mgmtUrl": "http://hawkbit-mgmt:8080"}' restart: always diff --git a/docker/docker-compose-monolith-mysql.yml b/docker/docker-compose-monolith-mysql.yml index b4601cf5e9..69103a54d3 100644 --- a/docker/docker-compose-monolith-mysql.yml +++ b/docker/docker-compose-monolith-mysql.yml @@ -18,7 +18,7 @@ services: # HawkBit service # --------------------- hawkbit: - image: "hawkbit/hawkbit-update-server:latest-mysql" + image: "hawkbit/hawkbit-update-server:latest" environment: - 'PROFILES=mysql' - 'SPRING_DATASOURCE_URL=jdbc:mariadb://mysql:3306/hawkbit' diff --git a/docker/docker-compose-monolith-with-simple-ui-mysql.yml b/docker/docker-compose-monolith-with-simple-ui-mysql.yml index 0315b893e3..fccd56a13f 100644 --- a/docker/docker-compose-monolith-with-simple-ui-mysql.yml +++ b/docker/docker-compose-monolith-with-simple-ui-mysql.yml @@ -18,7 +18,7 @@ services: # HawkBit Simple UI service # --------------------- hawkbit-simple-ui: - image: "hawkbit/hawkbit-simple-ui:latest-mysql" + image: "hawkbit/hawkbit-simple-ui:latest" environment: - 'SPRING_APPLICATION_JSON={"hawkbit.server.mgmtUrl": "http://hawkbit:8080"}' restart: always diff --git a/docker/docker_build/Dockerfile-mysql b/docker/docker_build/Dockerfile-mysql deleted file mode 100644 index f7ae026301..0000000000 --- a/docker/docker_build/Dockerfile-mysql +++ /dev/null @@ -1,72 +0,0 @@ -# set Java -ARG JAVA_VERSION=17.0.13_11 -# extracts spring layers from the app jar (to optimize boot) -FROM eclipse-temurin:${JAVA_VERSION}-jre-alpine as build - -ARG HAWKBIT_APP=hawkbit-update-server -ARG HAWKBIT_VERSION=pass_as_buils_arg - -ENV BUILD_DIR=/opt/hawkbit_build -ENV APP=${HAWKBIT_APP} -ENV VERSION=${HAWKBIT_VERSION} - -COPY KEY . - -RUN set -x &&\ - apk add --no-cache --virtual build-dependencies gnupg unzip libressl wget &&\ - gpg --import KEY &&\ - wget -O ${APP}.jar --no-verbose https://repo1.maven.org/maven2/org/eclipse/hawkbit/${APP}/${VERSION}/${APP}-${VERSION}.jar &&\ - wget -O ${APP}.jar.asc --no-verbose https://repo1.maven.org/maven2/org/eclipse/hawkbit/${APP}/${VERSION}/${APP}-${VERSION}.jar.asc &&\ - gpg --batch --verify ${APP}.jar.asc ${APP}.jar &&\ - rm /${APP}.jar.asc /KEY &&\ - mkdir -p ${BUILD_DIR} &&\ - cd ${BUILD_DIR} &&\ - java -Djarmode=tools -jar /${APP}.jar extract --layers --launcher --destination . &&\ - rm /${APP}.jar - -ARG MARIADB_DRIVER_VERSION=3.1.4 -COPY KEY-mysql . - -RUN set -x &&\ - gpg --import KEY-mysql &&\ - wget -O ${BUILD_DIR}/mariadb-java-client-${MARIADB_DRIVER_VERSION}.jar --no-verbose https://downloads.mariadb.com/Connectors/java/connector-java-${MARIADB_DRIVER_VERSION}/mariadb-java-client-${MARIADB_DRIVER_VERSION}.jar &&\ - wget -O ${BUILD_DIR}/mariadb-java-client-${MARIADB_DRIVER_VERSION}.jar.asc --no-verbose https://downloads.mariadb.com/Connectors/java/connector-java-${MARIADB_DRIVER_VERSION}/mariadb-java-client-${MARIADB_DRIVER_VERSION}.jar.asc &&\ - gpg --verify --batch ${BUILD_DIR}/mariadb-java-client-${MARIADB_DRIVER_VERSION}.jar.asc ${BUILD_DIR}/mariadb-java-client-${MARIADB_DRIVER_VERSION}.jar &&\ - apk del build-dependencies &&\ - rm ${BUILD_DIR}/mariadb-java-client-${MARIADB_DRIVER_VERSION}.jar.asc /KEY-mysql - -FROM eclipse-temurin:${JAVA_VERSION}-jre-alpine - -RUN addgroup -S hawkbit_group && adduser -D hawkbit -G hawkbit_group -RUN mkdir -p /artifactrepo && chown -R hawkbit /artifactrepo -USER hawkbit - -ENV BUILD_DIR=/opt/hawkbit_build -COPY --from=build ${BUILD_DIR}/dependencies/ ./ -COPY --from=build ${BUILD_DIR}/spring-boot-loader/ ./ -COPY --from=build ${BUILD_DIR}/snapshot-dependencies/ ./ -COPY --from=build ${BUILD_DIR}/application/ ./ -ARG MARIADB_DRIVER_VERSION=3.1.4 -COPY --from=build ${BUILD_DIR}/mariadb-java-client-${MARIADB_DRIVER_VERSION}.jar ./BOOT-INF/lib/ - -VOLUME "/artifactrepo" - -ARG CONTAINER_PORT=8080 -EXPOSE ${CONTAINER_PORT} - -ARG PROFILES=mysql -ENV PROFILES=${PROFILES} -ARG X_MS=768m -ENV X_MS=${X_MS} -ARG X_MX=768m -ENV X_MX=${X_MX} -ARG XX_MAX_METASPACE_SIZE=250m -ENV XX_MAX_METASPACE_SIZE=${XX_MAX_METASPACE_SIZE} -ARG XX_METASPACE_SIZE=250m -ENV XX_METASPACE_SIZE=${XX_METASPACE_SIZE} -ARG XSS=300K -ENV XSS=${XSS} -ARG GC=G1 -ENV GC=${GC} - -ENTRYPOINT ["sh", "-c", "java ${JAVA_OPTS} -Dspring.profiles.active=${PROFILES} -Xms${X_MS} -Xmx${X_MX} -XX:MaxMetaspaceSize=${XX_MAX_METASPACE_SIZE} -XX:MetaspaceSize=${XX_METASPACE_SIZE} -Xss${XSS} -XX:+Use${GC}GC -XX:+UseStringDeduplication -XX:+UseCompressedOops -XX:+HeapDumpOnOutOfMemoryError org.springframework.boot.loader.launch.JarLauncher ${@}"] diff --git a/docker/docker_build/Dockerfile_dev-mysql b/docker/docker_build/Dockerfile_dev-mysql deleted file mode 100644 index 773ebf6cf3..0000000000 --- a/docker/docker_build/Dockerfile_dev-mysql +++ /dev/null @@ -1,56 +0,0 @@ -# set Java -ARG JAVA_VERSION=17.0.13_11 -# extracts spring layers from the app jar (to optimize boot) -FROM eclipse-temurin:${JAVA_VERSION}-jre-alpine as build - -ARG HAWKBIT_APP=hawkbit-update-server -ARG HAWKBIT_VERSION=0-SNAPSHOT - -ENV BUILD_DIR=/opt/hawkbit_build -ENV APP=${HAWKBIT_APP} -ENV VERSION=${HAWKBIT_VERSION} - -COPY org/eclipse/hawkbit/${APP}/${VERSION}/${APP}-${VERSION}.jar ${APP}-${VERSION}.jar - -RUN set -x &&\ - mkdir -p ${BUILD_DIR} &&\ - cd ${BUILD_DIR} &&\ - java -Djarmode=tools -jar /${APP}-${VERSION}.jar extract --layers --launcher --destination . &&\ - rm /${APP}-${VERSION}.jar - -FROM eclipse-temurin:${JAVA_VERSION}-jre-alpine - -RUN addgroup -S hawkbit_group && adduser -D hawkbit -G hawkbit_group -RUN mkdir -p /artifactrepo && chown -R hawkbit /artifactrepo -USER hawkbit - -ENV BUILD_DIR=/opt/hawkbit_build -COPY --from=build ${BUILD_DIR}/dependencies/ ./ -COPY --from=build ${BUILD_DIR}/spring-boot-loader/ ./ -COPY --from=build ${BUILD_DIR}/snapshot-dependencies/ ./ -COPY --from=build ${BUILD_DIR}/application/ ./ -ARG MARIADB_DRIVER_VERSION=3.1.4 -COPY org/mariadb/jdbc/mariadb-java-client/${MARIADB_DRIVER_VERSION}/mariadb-java-client-${MARIADB_DRIVER_VERSION}.jar ./BOOT-INF/lib/ - -VOLUME "/artifactrepo" - -ARG CONTAINER_PORT=8080 -EXPOSE ${CONTAINER_PORT} - -ARG PROFILES=mysql -ENV PROFILES=${PROFILES} -ARG X_MS=768m -ENV X_MS=${X_MS} -ARG X_MX=768m -ENV X_MX=${X_MX} -ARG XX_MAX_METASPACE_SIZE=250m -ENV XX_MAX_METASPACE_SIZE=${XX_MAX_METASPACE_SIZE} -ARG XX_METASPACE_SIZE=250m -ENV XX_METASPACE_SIZE=${XX_METASPACE_SIZE} -ARG XSS=300K -ENV XSS=${XSS} -ARG GC=G1 -ENV GC=${GC} - -ENTRYPOINT ["sh", "-c", "java ${JAVA_OPTS} -Dspring.profiles.active=${PROFILES} -Xms${X_MS} -Xmx${X_MX} -XX:MaxMetaspaceSize=${XX_MAX_METASPACE_SIZE} -XX:MetaspaceSize=${XX_METASPACE_SIZE} -Xss${XSS} -XX:+Use${GC}GC -XX:+UseStringDeduplication -XX:+UseCompressedOops -XX:+HeapDumpOnOutOfMemoryError org.springframework.boot.loader.launch.JarLauncher ${@}"] - diff --git a/docker/docker_build/KEY-mysql b/docker/docker_build/KEY-mysql deleted file mode 100644 index 4c602ae045..0000000000 --- a/docker/docker_build/KEY-mysql +++ /dev/null @@ -1,40 +0,0 @@ ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: SKS 1.1.6 -Comment: Hostname: pgp.mit.edu - -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 -FsnHsQksxFhCqGYdUKyfRsobs/Ns -=ovQp ------END PGP PUBLIC KEY BLOCK----- diff --git a/docker/docker_build/README.md b/docker/docker_build/README.md index 13fb24ad9a..c3e0cf2228 100644 --- a/docker/docker_build/README.md +++ b/docker/docker_build/README.md @@ -1,14 +1,6 @@ hawkBit Docker Build === -This directory contains docker files for building both hawkBit docker flavours: - -* _standard_ - hawkBit images without mysql driver -* _mysql_ - with MariaDB Java connector with support for MySQL. - -Both flavours of are almost the same, just mysql has in addition a MariaDB Java connector and is started, by default, -with mysql Spring profile. - -For every flavour there are two build types: +This directory contains docker files for building hawkBit docker with two build types: * _release_ - uses officially released hawkBit versions, downloading them from https://repo1.maven.org * _development/dev_ - uses the local maven repository with built by developer (or just downloaded from any maven @@ -26,14 +18,12 @@ Building images supports the following build arguments (i.e. ARG-s which could b * _HAWKBIT_VERSION_ - **[OPTIONAL, if not set a default, should be the last officially released version, is used]** the application version * _CONTAINER_PORT_ - **[OPTIONAL, if not set 8080 is used]** on which the app opens the http server (if available) -* _MARIADB_DRIVER_VERSION_ (mysql flavours only!) - **[OPTIONAL, if not set a default is used]** the version of MariaDB - connector to be used Additionally, tge _development_ builds shall be started with docker build context the local maven repository -## Build standard +## Build docker images -Standard flavour could be build, for example, with (fixed version 0.4.1 is just an example): +Docker image could be build, for example, with (fixed version 0.4.1 is just an example): ```shell docker build --build-arg HAWKBIT_APP=hawkbit-update-server --build-arg HAWKBIT_VERSION=0.4.1 -t hawkbit_update_server:0.4.1 . -f Dockerfile @@ -52,31 +42,5 @@ To build standard development docker images, e.g. snapshot based, you could use ```shell docker build -t hawkbit_update_server:0-SNAPSHOT -f Dockerfile_dev ~/.m2/repository ``` - -Note that here you have to use your maven repository containing the hawkBit app as docker build context, in the example -case _~/.m2/repository_ - -## Build mysql - -Mysql flavour could be build, for example, with: - -```shell -docker build --build-arg HAWKBIT_APP=hawkbit-update-server --build-arg HAWKBIT_VERSION=0.4.1 -t hawkbit_update_server:0.4.1-mysql . -f Dockerfile-mysql -``` - -or just by: - -```shell -docker build --build-arg -t hawkbit_update_server:0.4.1-mysql --build-arg HAWKBIT_VERSION=0.4.1 . -f Dockerfile-mysql -``` - -having that the _hawkbit-update-server_ is the default _HAWKBIT_APP_. - -To build development mysql docker images, e.g. snapshot based, you could use something like: - -```shell -docker build -t hawkbit_update_server:0-SNAPSHOT-mysql -f Dockerfile_dev-mysql ~/.m2/repository -``` - Note that here you have to use your maven repository containing the hawkBit app as docker build context, in the example case _~/.m2/repository_ \ No newline at end of file diff --git a/docker/docker_build/build_all_dev.sh b/docker/docker_build/build_all_dev.sh index 06bcf64ca1..719acd29eb 100755 --- a/docker/docker_build/build_all_dev.sh +++ b/docker/docker_build/build_all_dev.sh @@ -16,7 +16,6 @@ set -xe # -r the local maven repository the already built application jars are located into VERSION=0-SNAPSHOT -FLAVOUR="standard" MVN_REPO=~/.m2/repository while getopts v:f:r: option @@ -24,33 +23,24 @@ do case "${option}" in v)VERSION=${OPTARG};; - f)FLAVOUR=${OPTARG};; r)MVN_REPO=${OPTARG};; esac done echo "hawkBit version : ${VERSION}" -echo "docker image flavour : ${FLAVOUR}" echo "maven repository : ${MVN_REPO}" -if [ ${FLAVOUR} == "mysql" ] -then - DOCKER_FILE="Dockerfile_dev-mysql" - TAG_SUFFIX="-mysql" -else - DOCKER_FILE="Dockerfile_dev" - TAG_SUFFIX="" -fi - +DOCKER_FILE="Dockerfile_dev" echo "docker file : ${DOCKER_FILE}" function build() { - docker build -t hawkbit/$1:${VERSION}${TAG_SUFFIX} -t hawkbit/$1:latest${TAG_SUFFIX} --build-arg HAWKBIT_APP=$1 --build-arg HAWKBIT_VERSION=${VERSION} -f ${DOCKER_FILE} "${MVN_REPO}" + docker build -t hawkbit/$1:${VERSION} -t hawkbit/$1:latest --build-arg HAWKBIT_APP=$1 --build-arg HAWKBIT_VERSION=${VERSION} -f ${DOCKER_FILE} "${MVN_REPO}" } +# micro-services build "hawkbit-ddi-server" build "hawkbit-dmf-server" build "hawkbit-mgmt-server" build "hawkbit-simple-ui" - +# monolith build "hawkbit-update-server" diff --git a/hawkbit-ddi/hawkbit-ddi-server/pom.xml b/hawkbit-ddi/hawkbit-ddi-server/pom.xml index 097b9be3fa..6351c2a0b1 100644 --- a/hawkbit-ddi/hawkbit-ddi-server/pom.xml +++ b/hawkbit-ddi/hawkbit-ddi-server/pom.xml @@ -46,6 +46,10 @@ org.postgresql postgresql + + org.mariadb.jdbc + mariadb-java-client + com.microsoft.sqlserver mssql-jdbc @@ -73,11 +77,6 @@ ${project.version} test - - org.mariadb.jdbc - mariadb-java-client - test - diff --git a/hawkbit-dmf/hawkbit-dmf-server/pom.xml b/hawkbit-dmf/hawkbit-dmf-server/pom.xml index b34e6ec3b8..9fd866453a 100644 --- a/hawkbit-dmf/hawkbit-dmf-server/pom.xml +++ b/hawkbit-dmf/hawkbit-dmf-server/pom.xml @@ -46,6 +46,10 @@ org.postgresql postgresql + + org.mariadb.jdbc + mariadb-java-client + com.microsoft.sqlserver mssql-jdbc diff --git a/hawkbit-mgmt/hawkbit-mgmt-server/pom.xml b/hawkbit-mgmt/hawkbit-mgmt-server/pom.xml index ecec4a3f19..5c212be516 100644 --- a/hawkbit-mgmt/hawkbit-mgmt-server/pom.xml +++ b/hawkbit-mgmt/hawkbit-mgmt-server/pom.xml @@ -46,6 +46,10 @@ org.postgresql postgresql + + org.mariadb.jdbc + mariadb-java-client + com.microsoft.sqlserver mssql-jdbc @@ -73,11 +77,6 @@ ${project.version} test - - org.mariadb.jdbc - mariadb-java-client - test - diff --git a/hawkbit-monolith/hawkbit-update-server/pom.xml b/hawkbit-monolith/hawkbit-update-server/pom.xml index 5367a28b0c..a727e4755c 100644 --- a/hawkbit-monolith/hawkbit-update-server/pom.xml +++ b/hawkbit-monolith/hawkbit-update-server/pom.xml @@ -41,6 +41,10 @@ org.postgresql postgresql + + org.mariadb.jdbc + mariadb-java-client + com.microsoft.sqlserver mssql-jdbc @@ -67,11 +71,6 @@ spring-security-test test - - org.mariadb.jdbc - mariadb-java-client - test - org.eclipse.hawkbit hawkbit-repository-test diff --git a/site/content/guides/runhawkbit.md b/site/content/guides/runhawkbit.md index 6187aca2b6..df20c01ebb 100644 --- a/site/content/guides/runhawkbit.md +++ b/site/content/guides/runhawkbit.md @@ -35,16 +35,6 @@ This guide describes a target architecture that is more like one that you will e As mentioned you can create your own application with hawkBit inside or adapt the existing example app. The second option will be shown here. -### Set MariaDB dependency to compile in the [update server POM](https://github.com/eclipse-hawkbit/hawkbit/blob/master/hawkbit-monolith/hawkbit-update-server/pom.xml) - -```xml - - org.mariadb.jdbc - mariadb-java-client - compile - -``` - ### Configure MariaDB/MySQL connection settings. For this you can either edit the existing _application.properties_ or create