diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 2d5f3a42823c4d25eea512cec08fc2248b4e32d3..67c44b1a2dadf9b09f89b8ae6e84ddb81a394456 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -524,7 +524,7 @@ release-images: image: docker:${DOCKER_VERSION}-dind variables: BUILD_ARGS: --network=host - COMPOSE_BUILD_ARGS: -q --parallel + BAKE_ARGS: --allow=network.host --builder multiarch --load dependencies: - clean-images - test-analyse-service @@ -538,37 +538,19 @@ release-images: - tags - dev before_script: + - "apk add --no-cache make" - "docker logout ${CI_REGISTRY_URL}" - "echo ${CI_REGISTRY_PASSWORD} | docker login --username ${CI_REGISTRY_USER} --password-stdin ${CI_REGISTRY_URL}" - "docker logout ${CI_REGISTRY2_URL}" - "echo ${CI_REGISTRY2_PASSWORD} | docker login --username ${CI_REGISTRY2_USER} --password-stdin ${CI_REGISTRY2_URL}" - script: - - docker build $BUILD_ARGS -t dbrepo-core:build --target build ./lib/java/dbrepo-core - - docker build $BUILD_ARGS -t dbrepo-data-service:build --target build ./dbrepo-data-service - - docker build $BUILD_ARGS -t dbrepo-metadata-service:build --target build ./dbrepo-metadata-service - - docker compose build $COMPOSE_BUILD_ARGS - - docker tag dbrepo-analyse-service:latest "${CI_REGISTRY2_URL}/analyse-service:${APP_VERSION}${BUILD_VERSION}" - - docker tag dbrepo-auth-service-init:latest "${CI_REGISTRY2_URL}/auth-service-init:${APP_VERSION}${BUILD_VERSION}" - - docker tag dbrepo-dashboard-service:latest "${CI_REGISTRY2_URL}/dashboard-service:${APP_VERSION}${BUILD_VERSION}" - - docker tag dbrepo-dashboard-service-init:latest "${CI_REGISTRY2_URL}/dashboard-service-init:${APP_VERSION}${BUILD_VERSION}" - - docker tag dbrepo-dashboard-ui:latest "${CI_REGISTRY2_URL}/dashboard-ui:${APP_VERSION}${BUILD_VERSION}" - - docker tag dbrepo-data-service:latest "${CI_REGISTRY2_URL}/data-service:${APP_VERSION}${BUILD_VERSION}" - - docker tag dbrepo-metadata-service:latest "${CI_REGISTRY2_URL}/metadata-service:${APP_VERSION}${BUILD_VERSION}" - - docker tag dbrepo-search-service:latest "${CI_REGISTRY2_URL}/search-service:${APP_VERSION}${BUILD_VERSION}" - - docker tag dbrepo-search-service-init:latest "${CI_REGISTRY2_URL}/search-service-init:${APP_VERSION}${BUILD_VERSION}" - - docker tag dbrepo-storage-service-init:latest "${CI_REGISTRY2_URL}/storage-service-init:${APP_VERSION}${BUILD_VERSION}" - - docker tag dbrepo-ui:latest "${CI_REGISTRY2_URL}/ui:${APP_VERSION}${BUILD_VERSION}" - - docker push "${CI_REGISTRY2_URL}/analyse-service:${APP_VERSION}${BUILD_VERSION}" - - docker push "${CI_REGISTRY2_URL}/auth-service-init:${APP_VERSION}${BUILD_VERSION}" - - docker push "${CI_REGISTRY2_URL}/dashboard-service:${APP_VERSION}${BUILD_VERSION}" - - docker push "${CI_REGISTRY2_URL}/dashboard-service-init:${APP_VERSION}${BUILD_VERSION}" - - docker push "${CI_REGISTRY2_URL}/dashboard-ui:${APP_VERSION}${BUILD_VERSION}" - - docker push "${CI_REGISTRY2_URL}/data-service:${APP_VERSION}${BUILD_VERSION}" - - docker push "${CI_REGISTRY2_URL}/metadata-service:${APP_VERSION}${BUILD_VERSION}" - - docker push "${CI_REGISTRY2_URL}/search-service:${APP_VERSION}${BUILD_VERSION}" - - docker push "${CI_REGISTRY2_URL}/search-service-init:${APP_VERSION}${BUILD_VERSION}" - - docker push "${CI_REGISTRY2_URL}/storage-service-init:${APP_VERSION}${BUILD_VERSION}" - - docker push "${CI_REGISTRY2_URL}/ui:${APP_VERSION}${BUILD_VERSION}" + - docker buildx create --name multiarch --driver docker-container --use + script: + - docker buildx build $BUILD_ARGS --platform=linux/amd64 -t dbrepo-core:build --target build ./lib/java/dbrepo-core + - docker buildx bake $BAKE_ARGS --platform=linux/amd64 + - REPOSITORY_URL=$CI_REGISTRY_URL make release-images + - docker buildx build $BUILD_ARGS --platform=linux/arm64 -t dbrepo-core:build --target build ./lib/java/dbrepo-core + - docker buildx bake $BAKE_ARGS --platform=linux/arm64 + - REPOSITORY_URL=$CI_REGISTRY2_URL make release-images release-helm: stage: release diff --git a/dbrepo-analyse-service/Dockerfile b/dbrepo-analyse-service/Dockerfile index 26ea3ce65c2336bfd065e891c8d88ea47aaf73a3..df313ec934c825ab20b71da9a29f6e3f272a3462 100644 --- a/dbrepo-analyse-service/Dockerfile +++ b/dbrepo-analyse-service/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.11-alpine3.21 +FROM --platform=$BUILDPLATFORM python:3.11-alpine3.21 LABEL org.opencontainers.image.authors="martin.weise@tuwien.ac.at" RUN apk --no-cache add \ diff --git a/dbrepo-dashboard-service/Dockerfile b/dbrepo-dashboard-service/Dockerfile index e739245d3031956fe99203167a25f72b9c06ed3b..62caad802ff5e7a852e9d47bbd8d41c79bb2e261 100644 --- a/dbrepo-dashboard-service/Dockerfile +++ b/dbrepo-dashboard-service/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.11-alpine3.21 +FROM --platform=$BUILDPLATFORM python:3.11-alpine3.21 LABEL org.opencontainers.image.authors="martin.weise@tuwien.ac.at" RUN apk add --no-cache \ diff --git a/dbrepo-dashboard-service/init.Dockerfile b/dbrepo-dashboard-service/init.Dockerfile index 487e3e280e245e8f01a2a2caf0c8bf202765bc0c..4d00c467cd4621e894c456e4a7325d87108ccfb3 100644 --- a/dbrepo-dashboard-service/init.Dockerfile +++ b/dbrepo-dashboard-service/init.Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.11-alpine3.21 +FROM --platform=$BUILDPLATFORM python:3.11-alpine3.21 LABEL org.opencontainers.image.authors="martin.weise@tuwien.ac.at" RUN apk add --no-cache \ diff --git a/dbrepo-dashboard-ui/Dockerfile b/dbrepo-dashboard-ui/Dockerfile index daf9ef46dd808a99eb6bb776945f014cdf6f9c8f..346f800c8c575c13ed42377b1a05d0a0cb9a042e 100644 --- a/dbrepo-dashboard-ui/Dockerfile +++ b/dbrepo-dashboard-ui/Dockerfile @@ -1,4 +1,4 @@ -FROM docker.io/bitnami/grafana:11.5.3 AS runtime +FROM --platform=$BUILDPLATFORM bitnami/grafana:11.5.3 AS runtime LABEL org.opencontainers.image.authors="martin.weise@tuwien.ac.at" COPY --chown=grafana:grafana ./grafana.ini ./conf/grafana.ini diff --git a/dbrepo-data-service/Dockerfile b/dbrepo-data-service/Dockerfile index 7468f1c568d033c86d60579ed2c35576bcaac736..769014f61bd2b6925820470d9070203a8431e68b 100644 --- a/dbrepo-data-service/Dockerfile +++ b/dbrepo-data-service/Dockerfile @@ -1,9 +1,9 @@ ###### FIRST STAGE ###### -FROM dbrepo-core:build AS dependency +FROM --platform=$BUILDPLATFORM dbrepo-core:build AS dependency LABEL org.opencontainers.image.authors="martin.weise@tuwien.ac.at" ###### SECOND STAGE ###### -FROM maven:3-amazoncorretto-17 AS build +FROM --platform=$BUILDPLATFORM maven:3-amazoncorretto-17 AS build LABEL org.opencontainers.image.authors="martin.weise@tuwien.ac.at" COPY ./pom.xml ./ @@ -21,7 +21,7 @@ COPY ./services ./services RUN mvn -fn clean package -DskipTests ###### THIRD STAGE ###### -FROM amazoncorretto:17-alpine3.19 AS runtime +FROM --platform=$BUILDPLATFORM amazoncorretto:17-alpine3.19 AS runtime LABEL org.opencontainers.image.authors="martin.weise@tuwien.ac.at" RUN apk add --no-cache curl bash jq diff --git a/dbrepo-metadata-service/Dockerfile b/dbrepo-metadata-service/Dockerfile index 8d01865d85a0d1cad2cad9f2f7849a655b9e0259..f034640e6a47afdf6822352dc33bb498726bf708 100644 --- a/dbrepo-metadata-service/Dockerfile +++ b/dbrepo-metadata-service/Dockerfile @@ -1,9 +1,9 @@ ###### FIRST STAGE ###### -FROM dbrepo-core:build AS dependency +FROM --platform=$BUILDPLATFORM dbrepo-core:build AS dependency LABEL org.opencontainers.image.authors="martin.weise@tuwien.ac.at" ###### SECOND STAGE ###### -FROM maven:3-amazoncorretto-17 AS build +FROM --platform=$BUILDPLATFORM maven:3-amazoncorretto-17 AS build LABEL org.opencontainers.image.authors="martin.weise@tuwien.ac.at" COPY ./pom.xml ./ @@ -22,7 +22,7 @@ COPY ./services ./services RUN mvn -fn clean package -DskipTests ###### THIRD STAGE ###### -FROM amazoncorretto:17-alpine3.19 AS runtime +FROM --platform=$BUILDPLATFORM amazoncorretto:17-alpine3.19 AS runtime LABEL org.opencontainers.image.authors="martin.weise@tuwien.ac.at" RUN apk add --no-cache curl bash jq diff --git a/dbrepo-search-service/Dockerfile b/dbrepo-search-service/Dockerfile index 03660245769c484057c002c56ffc60e94370a8ee..1d0862a9e51d82a0f8e8154caea2efec9a51dba0 100644 --- a/dbrepo-search-service/Dockerfile +++ b/dbrepo-search-service/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.11-alpine3.21 +FROM --platform=$BUILDPLATFORM python:3.11-alpine3.21 LABEL org.opencontainers.image.authors="martin.weise@tuwien.ac.at" RUN apk add --no-cache \ diff --git a/dbrepo-search-service/init.Dockerfile b/dbrepo-search-service/init.Dockerfile index cf4cb94d85e4e8c707e6305278a17a7a3cdbfc8e..2099df48cc53586a0cfa64bae3ea1dd4615c6780 100644 --- a/dbrepo-search-service/init.Dockerfile +++ b/dbrepo-search-service/init.Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.11-alpine3.21 +FROM --platform=$BUILDPLATFORM python:3.11-alpine3.21 LABEL org.opencontainers.image.authors="martin.weise@tuwien.ac.at" RUN apk add --no-cache \ diff --git a/dbrepo-ui/Dockerfile b/dbrepo-ui/Dockerfile index 53928c49982c3574861affd83cc79c26c15813ec..966b7dbb3d1a17085732e852bcc64de713655586 100644 --- a/dbrepo-ui/Dockerfile +++ b/dbrepo-ui/Dockerfile @@ -1,5 +1,5 @@ ###### FIRST STAGE ###### -FROM oven/bun:1.1.40-alpine AS build +FROM --platform=$BUILDPLATFORM oven/bun:1.1.40-alpine AS build WORKDIR /app @@ -27,7 +27,7 @@ COPY ./nuxt.config.ts ./nuxt.config.ts RUN bun run build ###### SECOND STAGE ###### -FROM node:22.9.0-alpine3.20 AS runtime +FROM --platform=$BUILDPLATFORM node:22.9.0-alpine3.20 AS runtime ARG APP_VERSION="latest" ARG COMMIT="" diff --git a/docker-compose.yml b/docker-compose.yml index 69db5103154eaaa6d8a589e87a9c1e8cc6caaf02..c4c990a8cce944928e517969f3a7ead0c5fdbe00 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -88,7 +88,6 @@ services: <<: *healthcheck-params deploy: <<: *resources-micro-hm - platform: linux/amd64 logging: driver: json-file @@ -112,7 +111,6 @@ services: <<: *healthcheck-params deploy: <<: *resources-micro-hm - platform: linux/amd64 logging: driver: json-file @@ -135,7 +133,6 @@ services: <<: *healthcheck-params deploy: <<: *resources-micro - platform: linux/amd64 logging: driver: json-file @@ -172,7 +169,6 @@ services: <<: *healthcheck-params deploy: <<: *resources-medium - platform: linux/amd64 depends_on: dbrepo-identity-service: condition: service_healthy @@ -199,7 +195,6 @@ services: SYSTEM_PASSWORD: ${SYSTEM_PASSWORD:-admin} deploy: <<: *resources-nano - platform: linux/amd64 depends_on: dbrepo-auth-service: condition: service_healthy @@ -263,7 +258,6 @@ services: <<: *healthcheck-params deploy: <<: *resources-small - platform: linux/amd64 depends_on: dbrepo-auth-service: condition: service_healthy @@ -308,7 +302,6 @@ services: <<: *healthcheck-params deploy: <<: *resources-micro - platform: linux/amd64 logging: driver: json-file @@ -337,7 +330,6 @@ services: <<: *healthcheck-params deploy: <<: *resources-micro - platform: linux/amd64 logging: driver: json-file @@ -355,7 +347,6 @@ services: <<: *healthcheck-params deploy: <<: *resources-medium - platform: linux/amd64 logging: driver: json-file @@ -385,7 +376,6 @@ services: <<: *healthcheck-params deploy: <<: *resources-micro - platform: linux/amd64 logging: driver: json-file @@ -418,7 +408,6 @@ services: <<: *healthcheck-params deploy: <<: *resources-micro - platform: linux/amd64 depends_on: dbrepo-search-service: condition: service_healthy @@ -441,7 +430,6 @@ services: <<: *healthcheck-params deploy: <<: *resources-nano - platform: linux/amd64 depends_on: dbrepo-analyse-service: condition: service_healthy @@ -483,7 +471,6 @@ services: <<: *healthcheck-params deploy: <<: *resources-nano - platform: linux/amd64 logging: driver: json-file @@ -506,7 +493,6 @@ services: SYSTEM_PASSWORD: "${SYSTEM_PASSWORD:-admin}" deploy: <<: *resources-nano - platform: linux/amd64 depends_on: dbrepo-search-db: condition: service_healthy @@ -533,7 +519,6 @@ services: SYSTEM_PASSWORD: "${SYSTEM_PASSWORD:-admin}" deploy: <<: *resources-nano - platform: linux/amd64 depends_on: dbrepo-dashboard-ui: condition: service_healthy @@ -558,7 +543,6 @@ services: <<: *healthcheck-params deploy: <<: *resources-nano - platform: linux/amd64 logging: driver: json-file @@ -575,7 +559,6 @@ services: <<: *healthcheck-params deploy: <<: *resources-nano - platform: linux/amd64 logging: driver: json-file @@ -595,7 +578,6 @@ services: STORAGE_ENDPOINT: ${STORAGE_ENDPOINT:-http://storage-service:9000} deploy: <<: *resources-nano - platform: linux/amd64 depends_on: dbrepo-storage-service: condition: service_healthy @@ -648,7 +630,6 @@ services: <<: *healthcheck-params deploy: <<: *resources-large - platform: linux/amd64 depends_on: dbrepo-data-db: condition: service_healthy @@ -681,7 +662,6 @@ services: <<: *healthcheck-params deploy: <<: *resources-nano - platform: linux/amd64 extra_hosts: - "localhost:host-gateway" logging: @@ -708,7 +688,6 @@ services: <<: *healthcheck-params deploy: <<: *resources-micro - platform: linux/amd64 depends_on: dbrepo-dashboard-ui: condition: service_healthy diff --git a/grafana/grafana.ini b/grafana/grafana.ini deleted file mode 100644 index df8b9eb1b46e93de904d0c69a448a441f646260f..0000000000000000000000000000000000000000 --- a/grafana/grafana.ini +++ /dev/null @@ -1,5 +0,0 @@ -[server] -domain = grafana -root_url = http://grafana/grafana -serve_from_sub_path = true -