diff --git a/docker/docker-compose-deps-postgres.yml b/docker/docker-compose-deps-postgres.yml index cc10d906d..d83e30782 100644 --- a/docker/docker-compose-deps-postgres.yml +++ b/docker/docker-compose-deps-postgres.yml @@ -14,7 +14,7 @@ services: # Postgres service # --------------------- postgres: - image: "postgres:16.1" + image: "postgres:16.5" ports: - "5432:5432" deploy: @@ -24,6 +24,10 @@ services: POSTGRES_USER: "postgres" POSTGRES_PASSWORD: "admin" POSTGRES_DB: "hawkbit" + healthcheck: + test: ["CMD-SHELL", "pg_isready -d ${POSTGRES_DB} -U ${POSTGRES_USER}"] + interval: 20s + retries: 10 # --------------------- # RabbitMQ service diff --git a/docker/docker-compose-micro-services-mysql.yml b/docker/docker-compose-micro-services-mysql.yml index 396e236d4..a6c2da4d1 100644 --- a/docker/docker-compose-micro-services-mysql.yml +++ b/docker/docker-compose-micro-services-mysql.yml @@ -22,10 +22,10 @@ services: environment: - 'PROFILES=mysql' - 'SPRING_DATASOURCE_URL=jdbc:mariadb://mysql:3306/hawkbit' + - 'SPRING_DATASOURCE_USERNAME=root' - 'SPRING_RABBITMQ_HOST=rabbitmq' - 'SPRING_RABBITMQ_USERNAME=guest' - 'SPRING_RABBITMQ_PASSWORD=guest' - - 'SPRING_DATASOURCE_USERNAME=root' restart: always ports: - "8081:8081" @@ -41,11 +41,12 @@ services: hawkbit-dmf: image: "hawkbit/hawkbit-dmf-server:latest-mysql" environment: + - 'PROFILES=mysql' - 'SPRING_DATASOURCE_URL=jdbc:mariadb://mysql:3306/hawkbit' + - 'SPRING_DATASOURCE_USERNAME=root' - 'SPRING_RABBITMQ_HOST=rabbitmq' - 'SPRING_RABBITMQ_USERNAME=guest' - 'SPRING_RABBITMQ_PASSWORD=guest' - - 'SPRING_DATASOURCE_USERNAME=root' restart: always depends_on: mysql: @@ -59,11 +60,12 @@ services: hawkbit-mgmt: image: "hawkbit/hawkbit-mgmt-server:latest-mysql" environment: + - 'PROFILES=mysql' - 'SPRING_DATASOURCE_URL=jdbc:mariadb://mysql:3306/hawkbit' + - 'SPRING_DATASOURCE_USERNAME=root' - 'SPRING_RABBITMQ_HOST=rabbitmq' - 'SPRING_RABBITMQ_USERNAME=guest' - 'SPRING_RABBITMQ_PASSWORD=guest' - - 'SPRING_DATASOURCE_USERNAME=root' volumes: - artifactrepo:/artifactrepo restart: always @@ -75,31 +77,6 @@ services: labels: NAME: "hawkbit-mgmt" - -# # --------------------- -# # HawkBit Vaadin 8 based UI (NOT SUPPORTED!) -# # Outdated and not supported - may not work or lead to problems. -# # NOT Recommended - use it only AT YOUR RISK! -# # --------------------- -# hawkbit-vv8ui: -# image: "hawkbit/hawkbit-vv8-ui:latest-mysql" -# environment: -# - 'SPRING_DATASOURCE_URL=jdbc:mariadb://mysql:3306/hawkbit' -# - 'SPRING_RABBITMQ_HOST=rabbitmq' -# - 'SPRING_RABBITMQ_USERNAME=guest' -# - 'SPRING_RABBITMQ_PASSWORD=guest' -# - 'SPRING_DATASOURCE_USERNAME=root' -# volumes: -# - artifactrepo:/artifactrepo -# restart: always -# ports: -# - "8082:8082" -# depends_on: -# mysql: -# condition: service_healthy -# labels: -# NAME: "hawkbit-vv8-ui" - volumes: artifactrepo: driver: local diff --git a/docker/docker-compose-micro-services-postgres.yml b/docker/docker-compose-micro-services-postgres.yml new file mode 100644 index 000000000..468b173b9 --- /dev/null +++ b/docker/docker-compose-micro-services-postgres.yml @@ -0,0 +1,85 @@ +# +# Copyright (c) 2018 Bosch Software Innovations GmbH and others +# +# This program and the accompanying materials are made +# available under the terms of the Eclipse Public License 2.0 +# which is available at https://www.eclipse.org/legal/epl-2.0/ +# +# SPDX-License-Identifier: EPL-2.0 +# +version: '3.7' + +include: + - docker-compose-deps-postgres.yml + +services: + + # --------------------- + # HawkBit DDI + # --------------------- + hawkbit-ddi: + image: "hawkbit/hawkbit-ddi-server:latest" + environment: + - 'PROFILES=postgresql' + - 'SPRING_DATASOURCE_URL=jdbc:postgresql://postgres:5432/hawkbit' + - 'SPRING_DATASOURCE_USERNAME=postgres' + - 'SPRING_DATASOURCE_PASSWORD=admin' + - 'SPRING_RABBITMQ_HOST=rabbitmq' + - 'SPRING_RABBITMQ_USERNAME=guest' + - 'SPRING_RABBITMQ_PASSWORD=guest' + restart: always + ports: + - "8081:8081" + depends_on: + postgres: + condition: service_healthy + labels: + NAME: "hawkbit-ddi" + + # --------------------- + # HawkBit DMF + # --------------------- + hawkbit-dmf: + image: "hawkbit/hawkbit-dmf-server:latest" + environment: + - 'PROFILES=postgresql' + - 'SPRING_DATASOURCE_URL=jdbc:postgresql://postgres:5432/hawkbit' + - 'SPRING_DATASOURCE_USERNAME=postgres' + - 'SPRING_DATASOURCE_PASSWORD=admin' + - 'SPRING_RABBITMQ_HOST=rabbitmq' + - 'SPRING_RABBITMQ_USERNAME=guest' + - 'SPRING_RABBITMQ_PASSWORD=guest' + restart: always + depends_on: + postgres: + condition: service_healthy + labels: + NAME: "hawkbit-dmf" + + # --------------------- + # HawkBit MGMT + # --------------------- + hawkbit-mgmt: + image: "hawkbit/hawkbit-mgmt-server:latest" + environment: + - 'PROFILES=postgresql' + - 'SPRING_DATASOURCE_URL=jdbc:postgresql://postgres:5432/hawkbit' + - 'SPRING_DATASOURCE_USERNAME=postgres' + - 'SPRING_DATASOURCE_PASSWORD=admin' + - 'SPRING_RABBITMQ_HOST=rabbitmq' + - 'SPRING_RABBITMQ_USERNAME=guest' + - 'SPRING_RABBITMQ_PASSWORD=guest' + volumes: + - artifactrepo:/artifactrepo + restart: always + ports: + - "8080:8080" + depends_on: + postgres: + condition: service_healthy + labels: + NAME: "hawkbit-mgmt" + +volumes: + artifactrepo: + driver: local diff --git a/docker/docker-compose-micro-services-with-simple-ui-postgres.yml b/docker/docker-compose-micro-services-with-simple-ui-postgres.yml new file mode 100644 index 000000000..4d0c12582 --- /dev/null +++ b/docker/docker-compose-micro-services-with-simple-ui-postgres.yml @@ -0,0 +1,32 @@ +# +# Copyright (c) 2018 Bosch Software Innovations GmbH and others +# +# This program and the accompanying materials are made +# available under the terms of the Eclipse Public License 2.0 +# which is available at https://www.eclipse.org/legal/epl-2.0/ +# +# SPDX-License-Identifier: EPL-2.0 +# +version: '3.7' + +include: + - docker-compose-micro-services-postgres.yml + +services: + + # --------------------- + # HawkBit Simple UI + # --------------------- + hawkbit-simple-ui: + image: "hawkbit/hawkbit-simple-ui:latest" + environment: + - 'SPRING_APPLICATION_JSON={"hawkbit.server.mgmtUrl": "http://hawkbit-mgmt:8080"}' + restart: always + ports: + - 8088:8088 + labels: + NAME: "hawkbit-simple-ui" + +volumes: + artifactrepo: + driver: local diff --git a/docker/docker-compose-monolith-mysql.yml b/docker/docker-compose-monolith-mysql.yml index b155d7e8f..b4601cf5e 100644 --- a/docker/docker-compose-monolith-mysql.yml +++ b/docker/docker-compose-monolith-mysql.yml @@ -22,10 +22,10 @@ services: environment: - 'PROFILES=mysql' - 'SPRING_DATASOURCE_URL=jdbc:mariadb://mysql:3306/hawkbit' + - 'SPRING_DATASOURCE_USERNAME=root' - 'SPRING_RABBITMQ_HOST=rabbitmq' - 'SPRING_RABBITMQ_USERNAME=guest' - 'SPRING_RABBITMQ_PASSWORD=guest' - - 'SPRING_DATASOURCE_USERNAME=root' volumes: - artifactrepo:/artifactrepo restart: always diff --git a/docker/docker-compose-monolith-postgres.yml b/docker/docker-compose-monolith-postgres.yml new file mode 100644 index 000000000..cda487928 --- /dev/null +++ b/docker/docker-compose-monolith-postgres.yml @@ -0,0 +1,43 @@ +# +# Copyright (c) 2018 Bosch Software Innovations GmbH and others +# +# This program and the accompanying materials are made +# available under the terms of the Eclipse Public License 2.0 +# which is available at https://www.eclipse.org/legal/epl-2.0/ +# +# SPDX-License-Identifier: EPL-2.0 +# +version: '3' + +include: + - docker-compose-deps-postgres.yml + +services: + + # --------------------- + # HawkBit service + # --------------------- + hawkbit: + image: "hawkbit/hawkbit-update-server:latest" + environment: + - 'PROFILES=postgresql' + - 'SPRING_DATASOURCE_URL=jdbc:postgresql://postgres:5432/hawkbit' + - 'SPRING_DATASOURCE_USERNAME=postgres' + - 'SPRING_DATASOURCE_PASSWORD=admin' + - 'SPRING_RABBITMQ_HOST=rabbitmq' + - 'SPRING_RABBITMQ_USERNAME=guest' + - 'SPRING_RABBITMQ_PASSWORD=guest' + volumes: + - artifactrepo:/artifactrepo + restart: always + ports: + - "8080:8080" + depends_on: + postgres: + condition: service_healthy + labels: + NAME: "hawkbit" + +volumes: + artifactrepo: + driver: local \ No newline at end of file diff --git a/docker/docker-compose-monolith-with-simple-ui-postgres.yml b/docker/docker-compose-monolith-with-simple-ui-postgres.yml new file mode 100644 index 000000000..a84ed04d5 --- /dev/null +++ b/docker/docker-compose-monolith-with-simple-ui-postgres.yml @@ -0,0 +1,32 @@ +# +# Copyright (c) 2018 Bosch Software Innovations GmbH and others +# +# This program and the accompanying materials are made +# available under the terms of the Eclipse Public License 2.0 +# which is available at https://www.eclipse.org/legal/epl-2.0/ +# +# SPDX-License-Identifier: EPL-2.0 +# +version: '3' + +include: + - docker-compose-monolith-postgres.yml + +services: + + # --------------------- + # HawkBit Simple UI service + # --------------------- + hawkbit-simple-ui: + image: "hawkbit/hawkbit-simple-ui:latest" + environment: + - 'SPRING_APPLICATION_JSON={"hawkbit.server.mgmtUrl": "http://hawkbit:8080"}' + restart: always + ports: + - 8088:8088 + labels: + NAME: "hawkbit-simple-ui" + +volumes: + artifactrepo: + driver: local diff --git a/hawkbit-ddi/hawkbit-ddi-server/pom.xml b/hawkbit-ddi/hawkbit-ddi-server/pom.xml index f9bf89cc6..097b9be3f 100644 --- a/hawkbit-ddi/hawkbit-ddi-server/pom.xml +++ b/hawkbit-ddi/hawkbit-ddi-server/pom.xml @@ -42,14 +42,29 @@ com.h2database h2 - - com.microsoft.sqlserver - mssql-jdbc - org.postgresql postgresql + + com.microsoft.sqlserver + mssql-jdbc + + + + + org.flywaydb + flyway-database-postgresql + + + org.flywaydb + flyway-sqlserver + + + org.flywaydb + flyway-mysql + + diff --git a/hawkbit-dmf/hawkbit-dmf-server/pom.xml b/hawkbit-dmf/hawkbit-dmf-server/pom.xml index 3a9b34585..b34e6ec3b 100644 --- a/hawkbit-dmf/hawkbit-dmf-server/pom.xml +++ b/hawkbit-dmf/hawkbit-dmf-server/pom.xml @@ -42,14 +42,29 @@ com.h2database h2 - - com.microsoft.sqlserver - mssql-jdbc - org.postgresql postgresql + + com.microsoft.sqlserver + mssql-jdbc + + + + + org.flywaydb + flyway-database-postgresql + + + org.flywaydb + flyway-sqlserver + + + org.flywaydb + flyway-mysql + + jakarta.servlet diff --git a/hawkbit-mgmt/hawkbit-mgmt-server/pom.xml b/hawkbit-mgmt/hawkbit-mgmt-server/pom.xml index d02794427..ecec4a3f1 100644 --- a/hawkbit-mgmt/hawkbit-mgmt-server/pom.xml +++ b/hawkbit-mgmt/hawkbit-mgmt-server/pom.xml @@ -42,14 +42,29 @@ com.h2database h2 - - com.microsoft.sqlserver - mssql-jdbc - org.postgresql postgresql + + com.microsoft.sqlserver + mssql-jdbc + + + + + org.flywaydb + flyway-database-postgresql + + + org.flywaydb + flyway-sqlserver + + + org.flywaydb + flyway-mysql + + diff --git a/hawkbit-monolith/hawkbit-update-server/pom.xml b/hawkbit-monolith/hawkbit-update-server/pom.xml index f0994ec64..5367a28b0 100644 --- a/hawkbit-monolith/hawkbit-update-server/pom.xml +++ b/hawkbit-monolith/hawkbit-update-server/pom.xml @@ -32,18 +32,34 @@ ${project.version} + com.h2database h2 - - com.microsoft.sqlserver - mssql-jdbc - org.postgresql postgresql + + com.microsoft.sqlserver + mssql-jdbc + + + + + org.flywaydb + flyway-database-postgresql + + + org.flywaydb + flyway-sqlserver + + + org.flywaydb + flyway-mysql + + diff --git a/hawkbit-repository/hawkbit-repository-jpa-flyway/pom.xml b/hawkbit-repository/hawkbit-repository-jpa-flyway/pom.xml index 8639e081b..db3c50239 100644 --- a/hawkbit-repository/hawkbit-repository-jpa-flyway/pom.xml +++ b/hawkbit-repository/hawkbit-repository-jpa-flyway/pom.xml @@ -35,9 +35,5 @@ org.flywaydb flyway-core - - org.flywaydb - flyway-mysql - \ No newline at end of file