From 90de1b20d7298d915628459de6c2c39b9b43f7e0 Mon Sep 17 00:00:00 2001 From: Martin Gruner Date: Thu, 5 Jun 2025 09:42:01 +0200 Subject: [PATCH 1/8] Add support for restore mode --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 6b3f1496..d7f48b4c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -67,7 +67,7 @@ services: command: ["zammad-backup"] volumes: - zammad-backup:/var/tmp/zammad - - zammad-storage:/opt/zammad/storage:ro + - zammad-storage:/opt/zammad/storage user: 0:0 zammad-elasticsearch: From 062b1d6ca6f0b560f83d737ca3e5621d97fef0a5 Mon Sep 17 00:00:00 2001 From: Martin Gruner Date: Thu, 5 Jun 2025 16:19:52 +0200 Subject: [PATCH 2/8] Add zammad-backup volume mount for waiting on restore operations --- docker-compose.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/docker-compose.yml b/docker-compose.yml index d7f48b4c..198fc069 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -55,6 +55,7 @@ x-shared: image: ${IMAGE_REPO:-ghcr.io/zammad/zammad}:${VERSION:-6.5.0-75} restart: ${RESTART:-always} volumes: + - zammad-backup:/var/tmp/zammad:ro # needed for waiting on restore operations - zammad-storage:/opt/zammad/storage depends_on: - zammad-memcached From d364888e6e293b18e22f8c26983093cf331e3f24 Mon Sep 17 00:00:00 2001 From: Martin Gruner Date: Thu, 5 Jun 2025 16:50:54 +0200 Subject: [PATCH 3/8] Add test case for restore --- .github/tests/default.sh | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/.github/tests/default.sh b/.github/tests/default.sh index 7ba2a73c..a8d32567 100755 --- a/.github/tests/default.sh +++ b/.github/tests/default.sh @@ -51,3 +51,17 @@ print_heading "Check if zammad-backup created a database backup" # Check that the db dump actually has content in the .gz file to catch cases where pg_dump fails. docker compose exec zammad-backup sh -c "find /var/tmp/zammad/ -name \"*zammad_db.psql.gz\" -size +1k | grep ." print_heading "Database backup successful :)" + +print_heading "Stop the stack" +docker compose down -t0 + +print_heading "Copy backup files to restore folder" +docker compose exec zammad-backup sh -c "mkdir /var/tmp/zammad && cp /var/tmp/zammad/* /var/tmp/zammad/restore/" + +print_heading "Start the stack again" +docker compose up -d +check_stack_start + +print_heading "Check that restore folder was renamed after successful restore..." +docker compose exec zammad-backup sh -c "[ ! -d /var/tmp/zammad/restore ]" +print_heading "Restore folder was renamed after successful restore..." \ No newline at end of file From 488b20da0c8813a01225ac99ac67e99066fc38d1 Mon Sep 17 00:00:00 2001 From: Martin Gruner Date: Thu, 5 Jun 2025 16:56:01 +0200 Subject: [PATCH 4/8] Fix test code --- .github/tests/default.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/tests/default.sh b/.github/tests/default.sh index a8d32567..8ba3caeb 100755 --- a/.github/tests/default.sh +++ b/.github/tests/default.sh @@ -56,7 +56,7 @@ print_heading "Stop the stack" docker compose down -t0 print_heading "Copy backup files to restore folder" -docker compose exec zammad-backup sh -c "mkdir /var/tmp/zammad && cp /var/tmp/zammad/* /var/tmp/zammad/restore/" +docker compose run --rm zammad-backup sh -c "mkdir /var/tmp/zammad && cp /var/tmp/zammad/* /var/tmp/zammad/restore/" print_heading "Start the stack again" docker compose up -d From 334ed28b00c18a5e393f5b427a85d4a1c6780faa Mon Sep 17 00:00:00 2001 From: Martin Gruner Date: Thu, 5 Jun 2025 18:53:40 +0200 Subject: [PATCH 5/8] Fix test --- .github/tests/default.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/tests/default.sh b/.github/tests/default.sh index 8ba3caeb..c775f4a7 100755 --- a/.github/tests/default.sh +++ b/.github/tests/default.sh @@ -56,7 +56,7 @@ print_heading "Stop the stack" docker compose down -t0 print_heading "Copy backup files to restore folder" -docker compose run --rm zammad-backup sh -c "mkdir /var/tmp/zammad && cp /var/tmp/zammad/* /var/tmp/zammad/restore/" +docker compose run --rm zammad-backup sh -c "mkdir /var/tmp/zammad/restore && cp /var/tmp/zammad/* /var/tmp/zammad/restore/" print_heading "Start the stack again" docker compose up -d From 2a774d3f0b22f8bc5fcb86cdb6649331e2099d60 Mon Sep 17 00:00:00 2001 From: Martin Gruner Date: Thu, 5 Jun 2025 18:57:55 +0200 Subject: [PATCH 6/8] Fix test --- .github/tests/default.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/tests/default.sh b/.github/tests/default.sh index c775f4a7..d6eaebf7 100755 --- a/.github/tests/default.sh +++ b/.github/tests/default.sh @@ -56,7 +56,7 @@ print_heading "Stop the stack" docker compose down -t0 print_heading "Copy backup files to restore folder" -docker compose run --rm zammad-backup sh -c "mkdir /var/tmp/zammad/restore && cp /var/tmp/zammad/* /var/tmp/zammad/restore/" +docker compose run --rm zammad-backup sh -c "mkdir /var/tmp/zammad/restore && cp /var/tmp/zammad/*gz /var/tmp/zammad/restore/" print_heading "Start the stack again" docker compose up -d From d9fd320cd2b4f585cc2f7e2af22d069dc2dff7cb Mon Sep 17 00:00:00 2001 From: Martin Gruner Date: Thu, 9 Oct 2025 13:38:40 +0200 Subject: [PATCH 7/8] Override VERSION config for CI --- .github/workflows/ci.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 0368fe52..7c27ccf1 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -61,6 +61,8 @@ jobs: - name: Set up test environment run: .github/tests/setup/${{ matrix.module }}.sh + env: + VERSION: 'develop' # TODO: revert before merging! - name: Run tests run: .github/tests/${{ matrix.module }}.sh From e2e20832c1b206043d80961e2d567b0e12215a45 Mon Sep 17 00:00:00 2001 From: Martin Gruner Date: Thu, 9 Oct 2025 13:45:23 +0200 Subject: [PATCH 8/8] Use VERSION override consistently in CIgp --- .github/workflows/ci.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 7c27ccf1..35ffb1e6 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -66,3 +66,5 @@ jobs: - name: Run tests run: .github/tests/${{ matrix.module }}.sh + env: + VERSION: 'develop' # TODO: revert before merging!