diff --git a/.docker/dist.tar.gz b/.docker/dist.tar.gz deleted file mode 100644 index 1cfc5411b1b8082ebb9fa45c9f8af3bc1504671d..0000000000000000000000000000000000000000 Binary files a/.docker/dist.tar.gz and /dev/null differ diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5d4d611ea76255f0cc7613dcdb0174c81b534ede..60d0d828a4418966d3f5fd0e0b8d833b3d9c1949 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -156,6 +156,37 @@ build-helm: - apk add sed helm curl - helm package ./helm/dbrepo --destination ./build +lint-docker-compose: + image: docker.io/alpine:3.18 + stage: lint + variables: + VERSION: 3.3.0 + BINARY: yq_linux_amd64 + before_script: + - 'apk --no-cache add bash wget' + - 'wget https://github.com/mikefarah/yq/releases/download/${VERSION}/${BINARY} -O /usr/bin/yq && chmod +x /usr/bin/yq' + - 'ls -la .scripts' + script: + - "yq compare -P docker-compose.yml .docker/docker-compose.yml 'volumes.*'" + - "IGNORE_VOLUMES=1 bash .scripts/check-service.sh 'dbrepo-metadata-db'" + - "bash .scripts/check-service.sh 'dbrepo-data-db'" + - "bash .scripts/check-service.sh 'dbrepo-auth-db'" + - "IGNORE_IMAGE=1 IGNORE_PORTS=1 bash .scripts/check-service.sh 'dbrepo-auth-service'" + - "IGNORE_IMAGE=1 IGNORE_PORTS=1 bash .scripts/check-service.sh 'dbrepo-metadata-service'" + - "IGNORE_IMAGE=1 IGNORE_PORTS=1 bash .scripts/check-service.sh 'dbrepo-analyse-service'" + - "IGNORE_IMAGE=1 IGNORE_PORTS=1 bash .scripts/check-service.sh 'dbrepo-broker-service'" + - "IGNORE_IMAGE=1 bash .scripts/check-service.sh 'dbrepo-search-db'" + - "IGNORE_IMAGE=1 IGNORE_PORTS=1 bash .scripts/check-service.sh 'dbrepo-search-service'" + - "IGNORE_IMAGE=1 IGNORE_PORTS=1 bash .scripts/check-service.sh 'dbrepo-data-db-sidecar'" + - "IGNORE_IMAGE=1 bash .scripts/check-service.sh 'dbrepo-ui'" + - "IGNORE_VOLUMES=1 bash .scripts/check-service.sh 'dbrepo-gateway-service'" + - "IGNORE_VOLUMES=1 bash .scripts/check-service.sh 'dbrepo-identity-service'" + - "IGNORE_IMAGE=1 bash .scripts/check-service.sh 'dbrepo-search-service-init'" + - "IGNORE_VOLUMES=1 bash .scripts/check-service.sh 'dbrepo-storage-service'" + - "IGNORE_VOLUMES=1 bash .scripts/check-service.sh 'dbrepo-storage-service-init'" + - "bash .scripts/check-service.sh 'dbrepo-upload-service'" + - "IGNORE_IMAGE=1 IGNORE_PORTS=1 bash .scripts/check-service.sh 'dbrepo-data-service'" + verify-install-script: image: docker.io/docker:24-dind stage: verify @@ -401,12 +432,13 @@ release-docs: - "pip install -r ./requirements.txt" - "mkdir -p ./final/${APP_VERSION}/rest" script: - - "make gen-lib-doc gen-docs-doc" + - "make gen-lib-doc gen-docs-doc package-config" - "cp -r ./lib/python/docs/build/html ./final/${APP_VERSION}/python" # sphinx - "cp .docs/.swagger/api.yaml ./final/${APP_VERSION}/rest/api.yaml" # swagger - "cp .docs/.swagger/swagger-ui.html ./final/${APP_VERSION}/rest/index.html" # swagger - "cp .docs/.swagger/custom.css ./final/${APP_VERSION}/rest/custom.css" # swagger - "cp -r ./site/* ./final/${APP_VERSION}" # mkdocs + - "cp .docker/dist.tar.gz ./final/${APP_VERSION}/dist.tar.gz" # dist - eval $(ssh-agent -s) - "mkdir -p /root/.ssh" - echo "$CI_KEY_PRIVATE" > /root/.ssh/id_rsa && chmod 0600 /root/.ssh/id_rsa diff --git a/.scripts/check-service.sh b/.scripts/check-service.sh new file mode 100755 index 0000000000000000000000000000000000000000..decc22312b8a44049d4675cc36a5be3e6aafe072 --- /dev/null +++ b/.scripts/check-service.sh @@ -0,0 +1,16 @@ +#!/bin/bash +yq compare -P docker-compose.yml .docker/docker-compose.yml "services.$1.restart" +yq compare -P docker-compose.yml .docker/docker-compose.yml "services.$1.container_name" +yq compare -P docker-compose.yml .docker/docker-compose.yml "services.$1.hostname" +if [ -z "$IGNORE_IMAGE" ]; then + yq compare -P docker-compose.yml .docker/docker-compose.yml "services.$1.image" +fi +if [ -z "$IGNORE_VOLUMES" ]; then + yq compare -P docker-compose.yml .docker/docker-compose.yml "services.$1.volumes" +fi +if [ -z "$IGNORE_PORTS" ]; then + yq compare -P docker-compose.yml .docker/docker-compose.yml "services.$1.ports" +fi +yq compare -P docker-compose.yml .docker/docker-compose.yml "services.$1.environment" +yq compare -P docker-compose.yml .docker/docker-compose.yml "services.$1.healthcheck" +yq compare -P docker-compose.yml .docker/docker-compose.yml "services.$1.logging" \ No newline at end of file diff --git a/Makefile b/Makefile index 027fac1b00fb33b0d94f4e3b3b90f241d792dba9..8c85acc01e6ab33dcd88b13e9229ae85e9b48b75 100644 --- a/Makefile +++ b/Makefile @@ -16,7 +16,6 @@ version: ## Get current version. @echo $(APP_VERSION) include make/build.mk -include make/dep.mk include make/dev.mk include make/gen.mk include make/rel.mk diff --git a/install.sh b/install.sh index aec9f270bc4b7d2311b93371973dc05aa33ba51c..a59965816bd2200960b407a53aacbd3e0b879b0d 100644 --- a/install.sh +++ b/install.sh @@ -3,7 +3,7 @@ # preset VERSION="1.4.6" MIN_CPU=8 -MIN_RAM=8 +MIN_RAM=4 MIN_MAP_COUNT=262144 SKIP_CHECKS=${SKIP_CHECKS:-0} DOWNLOAD_ONLY=${DOWNLOAD_ONLY:-0} @@ -58,7 +58,7 @@ fi # environment echo "[🚀] Gathering environment for version ${VERSION} ..." -curl -sSL -o ./dist.tar.gz "https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/release-${VERSION}/.docker/dist.tar.gz" +curl -sSL -o ./dist.tar.gz "https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/${VERSION}/dist.tar.gz" tar xzfv ./dist.tar.gz if [[ $DOWNLOAD_ONLY -eq 1 ]]; then diff --git a/make/dep.mk b/make/dep.mk deleted file mode 100644 index 25d4036cee41d8cafe49bd760a9c811a7a4ad559..0000000000000000000000000000000000000000 --- a/make/dep.mk +++ /dev/null @@ -1,9 +0,0 @@ -##@ Deployment - -.PHONY: start -start: ## Run stable deployment. - docker compose -f docker-compose.prod.yml up -d - -.PHONY: stop -stop: ## Run stable deployment. - docker compose -f docker-compose.prod.yml down