diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d8496c2deb1f167595c50c6456594bafbc38b213..d0ef22d337ead8a068fcd9a3f493979f2e0b0915 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -74,8 +74,10 @@ container_scanning 7/7: - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH before_script: - - apk --no-cache add docker-compose + - apk update + - apk --no-cache add docker docker-cli-compose - docker info + - docker compose version - cp $CI_PROJECT_DIR/.env_sample $CI_PROJECT_DIR/.env - sed -i 's/DATA_PROVIDER_ID=""/DATA_PROVIDER_ID="DATA-PROVIDER-ID"/g' $CI_PROJECT_DIR/.env - sed -i 's/_EMAIL=""/_EMAIL="test@email.com"/g' $CI_PROJECT_DIR/.env @@ -83,7 +85,7 @@ before_script: - sed -i 's/SPHN_CONNECTOR_MEMORY=""/SPHN_CONNECTOR_MEMORY="16"/g' $CI_PROJECT_DIR/.env - sed -i 's/SPHN_CONNECTOR_CPUS=""/SPHN_CONNECTOR_CPUS="4"/g' $CI_PROJECT_DIR/.env - sed -i 's/""/"test_value"/g' $CI_PROJECT_DIR/.env - - docker-compose -f docker-compose-build.yaml -f docker-compose.yaml down --volumes --rmi all + - docker compose-f docker-compose-build.yaml -f docker-compose.yaml down --volumes --rmi all semgrep-sast: before_script: [] @@ -98,9 +100,11 @@ unit-tests: - | set +e if [ "$CI_COMMIT_BRANCH" == "$CI_DEFAULT_BRANCH" ] || [ -n "$CI_COMMIT_TAG" ]; then - docker-compose up -d + sed -i 's/interval: 60s/interval: 20s/; /interval: 20s/a \ retries: 5' docker-compose.yaml + docker compose up -d else - docker-compose -f docker-compose-build.yaml up --build -d > /tmp/connector-docker-compose.log 2>&1 + sed -i 's/interval: 60s/interval: 20s/; /interval: 20s/a \ retries: 5' docker-compose-build.yaml + docker compose -f docker-compose-build.yaml up --build -d > /tmp/connector-docker-compose.log 2>&1 if [ $? -ne 0 ]; then echo "Build failed" cat /tmp/connector-docker-compose.log @@ -120,7 +124,7 @@ unit-tests: exit 1 fi - docker exec api python -m pytest -vv - - docker-compose -f docker-compose-build.yaml -f docker-compose.yaml down --volumes --rmi all + - docker compose -f docker-compose-build.yaml -f docker-compose.yaml down --volumes --rmi all resource_group: production push-main: @@ -131,7 +135,7 @@ push-main: - docker login -u $public_mirror_token_name -p $public_mirror_token $public_mirror_registry - | set +e - docker-compose -f docker-compose-build.yaml build > /tmp/connector-docker-compose.log 2>&1 + docker compose -f docker-compose-build.yaml build > /tmp/connector-docker-compose.log 2>&1 if [ $? -ne 0 ]; then echo "Build failed" cat /tmp/connector-docker-compose.log @@ -208,7 +212,7 @@ push-main: # also tag and push the other containers used: - docker logout $HARBOR_URL - - docker-compose -f docker-compose-build.yaml -f docker-compose.yaml down --volumes --rmi all + - docker compose -f docker-compose-build.yaml -f docker-compose.yaml down --volumes --rmi all resource_group: production push-release: @@ -219,7 +223,7 @@ push-release: - docker login -u $public_mirror_token_name -p $public_mirror_token $public_mirror_registry - | set +e - docker-compose -f docker-compose-build.yaml build > /tmp/connector-docker-compose.log 2>&1 + docker compose -f docker-compose-build.yaml build > /tmp/connector-docker-compose.log 2>&1 if [ $? -ne 0 ]; then echo "Build failed" cat /tmp/connector-docker-compose.log @@ -230,9 +234,9 @@ push-release: rm /tmp/connector-docker-compose.log docker build -t sphn-connector_setup:latest setup/ set -e - - docker-compose -f docker-compose-build.yaml up -d + - docker compose -f docker-compose-build.yaml up -d - docker cp connector:/home/sphn/conversion/rmlmapper-6.2.1-r0-all.jar $CI_PROJECT_DIR/lib/ - - docker-compose -f docker-compose-build.yaml down + - docker compose -f docker-compose-build.yaml down - sed -i "s/^version =.*/version = \"$CI_COMMIT_TAG\"/" pyproject.toml # Push to public repository diff --git a/docker-compose-build.yaml b/docker-compose-build.yaml index 6efda677376fca1eef379cf40abadcb801237347..2302cb5644b8600fc1a8f37813d3eb975596e8b1 100644 --- a/docker-compose-build.yaml +++ b/docker-compose-build.yaml @@ -11,7 +11,6 @@ # along with this program; if not, see <http://www.gnu.org/licenses/>. # -version: '3.8' # This version builds the api, connector, postgres internals locally from sources. # Furthermore the images for the minio, pgadmin and the reverse proxy are extended. @@ -40,10 +39,9 @@ services: condition: service_healthy healthcheck: test: curl -sSf http://0.0.0.0:8000 || exit 1 - interval: 10s + interval: 60s timeout: 10s - retries: 3 - start_period: 40s + start_period: 10s minio: container_name: minio @@ -60,8 +58,7 @@ services: MINIO_BROWSER_REDIRECT_URL: "http://minio:9090/minio" healthcheck: test: bash -c ':> /dev/tcp/0.0.0.0/9090' || exit 1 - interval: 10s - retries: 3 + interval: 60s start_period: 10s timeout: 10s restart: unless-stopped @@ -98,8 +95,7 @@ services: - connector-ssl-certificates-connector:/etc/ssl/certs/ healthcheck: test: bash -c ':> /dev/tcp/0.0.0.0/8080' || exit 1 - interval: 10s - retries: 3 + interval: 60s start_period: 10s timeout: 10s restart: unless-stopped @@ -151,10 +147,9 @@ services: restart: unless-stopped healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER}"] - interval: 10s + interval: 60s timeout: 10s - retries: 10 - start_period: 20s + start_period: 10s pgadmin: container_name: pgadmin @@ -176,7 +171,7 @@ services: - connector-pgadmin-data:/var/lib/pgadmin healthcheck: test: wget -q --spider --server-response http://0.0.0.0:8088/login || exit 1 - interval: 10s + interval: 60s retries: 3 start_period: 10s timeout: 10s @@ -200,9 +195,8 @@ services: - connector-proxy-config:/etc/nginx healthcheck: test: curl -sSf http://0.0.0.0:8080 || exit 1 - interval: 10s - retries: 5 - start_period: 40s + interval: 60s + start_period: 10s timeout: 10s restart: unless-stopped @@ -232,10 +226,9 @@ services: - connector-grafana-data:/var/lib/grafana healthcheck: test: ["CMD-SHELL", "curl -f http://localhost:3000/api/health || exit 1"] - interval: 30s + interval: 60s timeout: 10s - retries: 3 - start_period: 30s + start_period: 10s restart: unless-stopped diff --git a/docker-compose.yaml b/docker-compose.yaml index b30002f65cbfac792b5aeeb188848565d3d152ab..3def39aacf7b2dba8fde204d61103d27a96efc45 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -11,7 +11,6 @@ # along with this program; if not, see <http://www.gnu.org/licenses/>. # -version: '3.8' # This version is the docker-compose file that should be used for installing based on images in the gitlab @@ -34,10 +33,9 @@ services: condition: service_healthy healthcheck: test: curl -sSf http://0.0.0.0:8000 || exit 1 - interval: 10s + interval: 60s timeout: 10s - retries: 3 - start_period: 40s + start_period: 10s minio: container_name: minio @@ -51,8 +49,7 @@ services: MINIO_BROWSER_REDIRECT_URL: "http://minio:9090/minio" healthcheck: test: bash -c ':> /dev/tcp/0.0.0.0/9090' || exit 1 - interval: 10s - retries: 3 + interval: 60s start_period: 10s timeout: 10s restart: unless-stopped @@ -86,8 +83,7 @@ services: - connector-ssl-certificates-connector:/etc/ssl/certs/ healthcheck: test: bash -c ':> /dev/tcp/0.0.0.0/8080' || exit 1 - interval: 10s - retries: 3 + interval: 60s start_period: 10s timeout: 10s restart: unless-stopped @@ -133,10 +129,9 @@ services: restart: unless-stopped healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER}"] - interval: 10s + interval: 60s timeout: 10s - retries: 10 - start_period: 20s + start_period: 10s pgadmin: container_name: pgadmin @@ -155,8 +150,7 @@ services: - connector-pgadmin-data:/var/lib/pgadmin healthcheck: test: wget -q --spider --server-response http://0.0.0.0:8088/login || exit 1 - interval: 10s - retries: 3 + interval: 60s start_period: 10s timeout: 10s restart: unless-stopped @@ -176,9 +170,8 @@ services: - connector-proxy-config:/etc/nginx healthcheck: test: curl -sSf http://0.0.0.0:8080 || exit 1 - interval: 10s - retries: 5 - start_period: 40s + interval: 60s + start_period: 10s timeout: 10s restart: unless-stopped @@ -205,10 +198,9 @@ services: - connector-grafana-data:/var/lib/grafana healthcheck: test: ["CMD-SHELL", "curl -f http://localhost:3000/api/health || exit 1"] - interval: 30s + interval: 60s timeout: 10s - retries: 3 - start_period: 30s + start_period: 10s restart: unless-stopped diff --git a/podman-compose.yaml b/podman-compose.yaml index b55752cd29c27ac457e899acd57be03ffe68ade4..79576e334b27e09fe0f666c2a5ec90982cd1f052 100644 --- a/podman-compose.yaml +++ b/podman-compose.yaml @@ -35,10 +35,9 @@ services: condition: service_healthy healthcheck: test: curl -sSf http://0.0.0.0:8000 || exit 1 - interval: 10s + interval: 60s timeout: 10s - retries: 3 - start_period: 40s + start_period: 10s minio: container_name: minio @@ -52,8 +51,7 @@ services: MINIO_BROWSER_REDIRECT_URL: "http://minio:9090/minio" healthcheck: test: bash -c ':> /dev/tcp/0.0.0.0/9090' || exit 1 - interval: 10s - retries: 3 + interval: 60s start_period: 10s timeout: 10s restart: unless-stopped @@ -88,8 +86,7 @@ services: - connector-ssl-certificates-connector:/etc/ssl/certs/:z healthcheck: test: bash -c ':> /dev/tcp/0.0.0.0/8080' || exit 1 - interval: 10s - retries: 3 + interval: 60s start_period: 10s timeout: 10s restart: unless-stopped @@ -135,10 +132,9 @@ services: restart: unless-stopped healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER}"] - interval: 10s + interval: 60s timeout: 10s - retries: 10 - start_period: 20s + start_period: 10s pgadmin: container_name: pgadmin @@ -157,8 +153,7 @@ services: - connector-pgadmin-data:/var/lib/pgadmin:z healthcheck: test: wget -q --spider --server-response http://0.0.0.0:8088/login || exit 1 - interval: 10s - retries: 3 + interval: 60s start_period: 10s timeout: 10s restart: unless-stopped @@ -178,9 +173,8 @@ services: - connector-proxy-config:/etc/nginx:z healthcheck: test: curl -sSf http://0.0.0.0:8080 || exit 1 - interval: 10s - retries: 5 - start_period: 40s + interval: 60s + start_period: 10s timeout: 10s restart: unless-stopped @@ -207,10 +201,9 @@ services: - connector-grafana-data:/var/lib/grafana:z healthcheck: test: ["CMD-SHELL", "curl -f http://localhost:3000/api/health || exit 1"] - interval: 30s + interval: 60s timeout: 10s - retries: 3 - start_period: 30s + start_period: 10s restart: unless-stopped