From 9375637d6623d0f2f8b8845aca9e93fbb43ef156 Mon Sep 17 00:00:00 2001
From: Martin Weise <martin.weise@tuwien.ac.at>
Date: Mon, 23 Sep 2024 12:37:00 +0000
Subject: [PATCH] Cicd/enhance

---
 .docker/dist.tar.gz       | Bin 9947 -> 0 bytes
 .gitlab-ci.yml            |  34 +++++++++++++++++++++++++++++++++-
 .scripts/check-service.sh |  16 ++++++++++++++++
 Makefile                  |   1 -
 install.sh                |   4 ++--
 make/dep.mk               |   9 ---------
 6 files changed, 51 insertions(+), 13 deletions(-)
 delete mode 100644 .docker/dist.tar.gz
 create mode 100755 .scripts/check-service.sh
 delete mode 100644 make/dep.mk

diff --git a/.docker/dist.tar.gz b/.docker/dist.tar.gz
deleted file mode 100644
index 1cfc5411b1b8082ebb9fa45c9f8af3bc1504671d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 9947
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

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 5d4d611ea7..60d0d828a4 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 0000000000..decc22312b
--- /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 027fac1b00..8c85acc01e 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 aec9f270bc..a59965816b 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 25d4036cee..0000000000
--- 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
-- 
GitLab