From 4e82061b77e76c1eaf25a3e9f77131feac826c6c Mon Sep 17 00:00:00 2001 From: Fred van Dijk Date: Tue, 19 May 2026 13:30:08 +0200 Subject: [PATCH 1/2] move testing.plone.org to testing-stable.plone.org, except for the github environment name --- .github/workflows/backend-testing.yaml | 10 +++++----- .github/workflows/frontend-testing.yml | 10 +++++----- .github/workflows/redeploy-testing.yaml | 14 +++++++------- README.md | 4 ++-- ...lone.org.yml => testing-stable.plone.org.yml} | 16 ++++++++-------- 5 files changed, 27 insertions(+), 27 deletions(-) rename devops/stacks/{testing.plone.org.yml => testing-stable.plone.org.yml} (87%) diff --git a/.github/workflows/backend-testing.yaml b/.github/workflows/backend-testing.yaml index 4facf31..04b23ef 100644 --- a/.github/workflows/backend-testing.yaml +++ b/.github/workflows/backend-testing.yaml @@ -1,4 +1,4 @@ -name: Backend testing.plone.org CI and Deploy +name: Backend testing-stable.plone.org CI and Deploy on: push: @@ -145,12 +145,12 @@ jobs: runs-on: ubuntu-latest environment: name: testing.plone.org - url: https://testing.plone.org + url: https://testing-stable.plone.org steps: - name: Checkout uses: actions/checkout@v4 - - name: Deploy to testing.plone.org + - name: Deploy to testing-stabls.plone.org uses: kitconcept/docker-stack-deploy@v1.4.0 with: registry: "ghcr.io" @@ -160,8 +160,8 @@ jobs: remote_port: ${{ vars.DEPLOY_PORT }} remote_user: ${{ vars.DEPLOY_USER }} remote_private_key: ${{ secrets.DEPLOY_SSH }} - stack_file: "devops/stacks/testing.plone.org.yml" - stack_name: "testing-plone-org" + stack_file: "devops/stacks/testing-stable.plone.org.yml" + stack_name: "testing-stable-plone-org" env_file: | STACK_NAME=testing-plone-org DB_HOST=${{ vars.DB_HOST }} diff --git a/.github/workflows/frontend-testing.yml b/.github/workflows/frontend-testing.yml index 7d23244..e5ae328 100644 --- a/.github/workflows/frontend-testing.yml +++ b/.github/workflows/frontend-testing.yml @@ -1,4 +1,4 @@ -name: Frontend testing.plone.org CI and deploy +name: Frontend testing-stable.plone.org CI and deploy on: workflow_dispatch: @@ -139,12 +139,12 @@ jobs: runs-on: ubuntu-latest environment: name: testing.plone.org - url: https://testing.plone.org + url: https://testing-stabls.plone.org steps: - name: Checkout uses: actions/checkout@v4 - - name: Deploy to testing.plone.org + - name: Deploy to testing-stable.plone.org uses: kitconcept/docker-stack-deploy@v1.4.0 with: registry: "ghcr.io" @@ -154,10 +154,10 @@ jobs: remote_port: ${{ vars.DEPLOY_PORT }} remote_user: ${{ vars.DEPLOY_USER }} remote_private_key: ${{ secrets.DEPLOY_SSH }} - stack_file: "devops/stacks/testing.plone.org.yml" + stack_file: "devops/stacks/testing-stable.plone.org.yml" stack_name: testing-plone-org env_file: | - STACK_NAME=testing-plone-org + STACK_NAME=testing-stable-plone-org DB_HOST=${{ vars.DB_HOST }} DB_NAME=${{ vars.DB_NAME }} DB_USER=${{ vars.DB_USER }} diff --git a/.github/workflows/redeploy-testing.yaml b/.github/workflows/redeploy-testing.yaml index 9b3a8a7..889efae 100644 --- a/.github/workflows/redeploy-testing.yaml +++ b/.github/workflows/redeploy-testing.yaml @@ -1,4 +1,4 @@ -name: Deploy latest image tags to testing.plone.org +name: Deploy latest image tags to testing-stable.plone.org on: workflow_dispatch: @@ -10,13 +10,13 @@ jobs: concurrency: deploy_testing runs-on: ubuntu-latest environment: - name: testing.plone.org - url: https://testing.plone.org + name: testing-stable.plone.org + url: https://testing-stable.plone.org steps: - name: Checkout uses: actions/checkout@v4 - - name: Deploy 'latest' image tags to testing.plone.org + - name: Deploy 'latest' image tags to testing-stable.plone.org uses: kitconcept/docker-stack-deploy@v1.4.0 with: registry: "ghcr.io" @@ -26,10 +26,10 @@ jobs: remote_port: ${{ vars.DEPLOY_PORT }} remote_user: ${{ vars.DEPLOY_USER }} remote_private_key: ${{ secrets.DEPLOY_SSH }} - stack_file: "devops/stacks/testing.plone.org.yml" - stack_name: "testing-plone-org" + stack_file: "devops/stacks/testing-stable.plone.org.yml" + stack_name: "testing-stable-plone-org" env_file: | - STACK_NAME=testing-plone-org + STACK_NAME=testing-stable-plone-org DB_HOST=${{ vars.DB_HOST }} DB_NAME=${{ vars.DB_NAME }} DB_USER=${{ vars.DB_USER }} diff --git a/README.md b/README.md index 4235cf9..d534438 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,8 @@ [![Built with Cookiecutter Plone Starter](https://img.shields.io/badge/built%20with-Cookiecutter%20Plone%20Starter-0083be.svg?logo=cookiecutter)](https://github.com/collective/cookiecutter-plone-starter/) [![Code analysis](https://github.com/plone/plone.org/actions/workflows/code-analysis.yml/badge.svg)](https://github.com/plone/plone.org/actions/workflows/code-analysis.yml) -[![Backend testing.plone.org CI and Deploy](https://github.com/plone/plone.org/actions/workflows/backend-testing.yaml/badge.svg)](https://github.com/plone/plone.org/actions/workflows/backend-testing.yaml) -[![Frontend testing.plone.org CI and deploy](https://github.com/plone/plone.org/actions/workflows/frontend-testing.yml/badge.svg)](https://github.com/plone/plone.org/actions/workflows/frontend-testing.yml) +[![Backend testing-stable.plone.org CI and Deploy](https://github.com/plone/plone.org/actions/workflows/backend-testing.yaml/badge.svg)](https://github.com/plone/plone.org/actions/workflows/backend-testing.yaml) +[![Frontend testing-stable.plone.org CI and deploy](https://github.com/plone/plone.org/actions/workflows/frontend-testing.yml/badge.svg)](https://github.com/plone/plone.org/actions/workflows/frontend-testing.yml) The main destination for Plone diff --git a/devops/stacks/testing.plone.org.yml b/devops/stacks/testing-stable.plone.org.yml similarity index 87% rename from devops/stacks/testing.plone.org.yml rename to devops/stacks/testing-stable.plone.org.yml index 621a43c..6e6bf4e 100644 --- a/devops/stacks/testing.plone.org.yml +++ b/devops/stacks/testing-stable.plone.org.yml @@ -26,7 +26,7 @@ services: # Services - traefik.http.services.testing_ploneorg-frontend.loadbalancer.server.port=3000 # Routers - - traefik.http.routers.testing_ploneorg-frontend.rule=Host(`testing.plone.org`) + - traefik.http.routers.testing_ploneorg-frontend.rule=Host(`testing-stable.plone.org`) - traefik.http.routers.testing_ploneorg-frontend.entrypoints=https - traefik.http.routers.testing_ploneorg-frontend.tls=true - traefik.http.routers.testing_ploneorg-frontend.tls.certresolver=le @@ -59,21 +59,21 @@ services: - traefik.http.middlewares.testing_ploneorg-backend-auth.basicauth.users=ploneorg:$$2y$$05$$QuAxsLqKl7ltm6Qv4wOOw./2pK5VeVSBSllAJbdb4dKnFxWhFFLze ### backend ++api++ VHM - "traefik.http.middlewares.testing_ploneorg-vhm-cleanup.replacepathregex.regex=^/((\\+\\+api\\+\\+/){1,})($$|.*)" - - "traefik.http.middlewares.testing_ploneorg-vhm-cleanup.replacepathregex.replacement=/VirtualHostBase/https/testing.plone.org/Plone/++api++/VirtualHostRoot/$$3" + - "traefik.http.middlewares.testing_ploneorg-vhm-cleanup.replacepathregex.replacement=/VirtualHostBase/https/testing-stable.plone.org/Plone/++api++/VirtualHostRoot/$$3" - "traefik.http.middlewares.testing_ploneorg-vhm.replacepathregex.regex=^/\\+\\+api\\+\\+($$|/.*)" - - "traefik.http.middlewares.testing_ploneorg-vhm.replacepathregex.replacement=/VirtualHostBase/https/testing.plone.org/Plone/++api++/VirtualHostRoot/$$1" + - "traefik.http.middlewares.testing_ploneorg-vhm.replacepathregex.replacement=/VirtualHostBase/https/testing-stable.plone.org/Plone/++api++/VirtualHostRoot/$$1" ### backend /ClassicUI VHM - "traefik.http.middlewares.testing_ploneorg-vhm-classic.replacepathregex.regex=^/ClassicUI($$|/.*)" - - "traefik.http.middlewares.testing_ploneorg-vhm-classic.replacepathregex.replacement=/VirtualHostBase/https/testing.plone.org/Plone/VirtualHostRoot/_vh_ClassicUI/$$1" + - "traefik.http.middlewares.testing_ploneorg-vhm-classic.replacepathregex.replacement=/VirtualHostBase/https/testing-stable.plone.org/Plone/VirtualHostRoot/_vh_ClassicUI/$$1" # Routers - ## testing.plone.org ++api++ - - traefik.http.routers.testing_ploneorg-backend.rule=Host(`testing.plone.org`) && (PathPrefix(`/++api++`)) + ## testing-stable.plone.org ++api++ + - traefik.http.routers.testing_ploneorg-backend.rule=Host(`testing-stable.plone.org`) && (PathPrefix(`/++api++`)) - traefik.http.routers.testing_ploneorg-backend.entrypoints=https - traefik.http.routers.testing_ploneorg-backend.tls=true - traefik.http.routers.testing_ploneorg-backend.service=testing_ploneorg-backend - traefik.http.routers.testing_ploneorg-backend.middlewares=gzip,testing_ploneorg-vhm-cleanup,testing_ploneorg-vhm - ### testing.plone.org /ClassicUI - protected with basic auth (prevent SEOs from crawl it) - - traefik.http.routers.testing_ploneorg-classicui.rule=Host(`testing.plone.org`) && (PathPrefix(`/ClassicUI`)) + ### testing-stable.plone.org /ClassicUI - protected with basic auth (prevent SEOs from crawl it) + - traefik.http.routers.testing_ploneorg-classicui.rule=Host(`testing-stable.plone.org`) && (PathPrefix(`/ClassicUI`)) - traefik.http.routers.testing_ploneorg-classicui.entrypoints=https - traefik.http.routers.testing_ploneorg-classicui.tls=true - traefik.http.routers.testing_ploneorg-classicui.service=testing_ploneorg-backend From 05346446499d88354645521702d97e6b9a8bdf7a Mon Sep 17 00:00:00 2001 From: Fred van Dijk Date: Wed, 20 May 2026 14:02:46 +0200 Subject: [PATCH 2/2] fix more references to testing.plone.org update GHA actions Rename prefix in stackfile from testing_ to testingstable_ fix zodbpack_conf config mountpath --- .github/workflows/backend-testing.yaml | 22 +++---- .github/workflows/code-analysis.yml | 18 +++--- .github/workflows/deploy-tag-release-live.yml | 20 +++---- .github/workflows/frontend-testing.yml | 29 ++++----- .github/workflows/redeploy-live.yaml | 4 +- .github/workflows/redeploy-testing.yaml | 2 +- devops/stacks/testing-stable.plone.org.yml | 60 ++++++++++--------- 7 files changed, 79 insertions(+), 76 deletions(-) diff --git a/.github/workflows/backend-testing.yaml b/.github/workflows/backend-testing.yaml index 04b23ef..1dce4cb 100644 --- a/.github/workflows/backend-testing.yaml +++ b/.github/workflows/backend-testing.yaml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout codebase - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Run check uses: plone/code-analysis-action@v2 @@ -26,7 +26,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout codebase - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Run check uses: plone/code-analysis-action@v2 @@ -39,7 +39,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout codebase - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Run check uses: plone/code-analysis-action@v2 @@ -52,7 +52,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout codebase - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Run check uses: plone/code-analysis-action@v2 @@ -76,7 +76,7 @@ jobs: working-directory: ./backend steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Setup Plone ${{ matrix.plone }} with Python ${{ matrix.python }} uses: plone/setup-plone@v2.0.0 @@ -102,11 +102,11 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Docker meta id: meta - uses: docker/metadata-action@v5 + uses: docker/metadata-action@v6 with: images: | ghcr.io/plone/ploneorg-backend @@ -121,14 +121,14 @@ jobs: uses: docker/setup-buildx-action@v3 - name: Login to DockerHub - uses: docker/login-action@v3 + uses: docker/login-action@v4 with: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Build and push - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v7 with: platforms: linux/amd64 context: backend @@ -148,7 +148,7 @@ jobs: url: https://testing-stable.plone.org steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Deploy to testing-stabls.plone.org uses: kitconcept/docker-stack-deploy@v1.4.0 @@ -163,7 +163,7 @@ jobs: stack_file: "devops/stacks/testing-stable.plone.org.yml" stack_name: "testing-stable-plone-org" env_file: | - STACK_NAME=testing-plone-org + STACK_NAME=testing-stable-plone-org DB_HOST=${{ vars.DB_HOST }} DB_NAME=${{ vars.DB_NAME }} DB_USER=${{ vars.DB_USER }} diff --git a/.github/workflows/code-analysis.yml b/.github/workflows/code-analysis.yml index 085141d..804c890 100644 --- a/.github/workflows/code-analysis.yml +++ b/.github/workflows/code-analysis.yml @@ -15,10 +15,10 @@ jobs: working-directory: ./frontend steps: - name: Checkout codebase - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Use Node.js ${{ env.node-version }} - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: node-version: ${{ env.node-version }} cache: 'yarn' @@ -37,7 +37,7 @@ jobs: working-directory: ./frontend steps: - name: Checkout codebase - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Run Prettier run: npx prettier@2.0.5 --single-quote --check 'src/**/*.{js,jsx,ts,tsx,css,scss}' --config=package.json @@ -52,10 +52,10 @@ jobs: steps: - name: Checkout codebase - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Use Node.js ${{ env.node-version }} - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: node-version: ${{ env.node-version }} cache: 'yarn' @@ -71,7 +71,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout codebase - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Run check uses: plone/code-analysis-action@v2 @@ -83,7 +83,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout codebase - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Run check uses: plone/code-analysis-action@v2 @@ -95,7 +95,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout codebase - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Run check uses: plone/code-analysis-action@v2 @@ -107,7 +107,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout codebase - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Run check uses: plone/code-analysis-action@v2 diff --git a/.github/workflows/deploy-tag-release-live.yml b/.github/workflows/deploy-tag-release-live.yml index ade9004..6260dd5 100644 --- a/.github/workflows/deploy-tag-release-live.yml +++ b/.github/workflows/deploy-tag-release-live.yml @@ -19,7 +19,7 @@ jobs: TAG: ${{ steps.vars.outputs.TAG }} steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Set Env Vars id: vars @@ -32,10 +32,10 @@ jobs: - meta steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Docker meta id: meta - uses: docker/metadata-action@v5 + uses: docker/metadata-action@v6 with: images: | ${{ env.IMAGE_NAME_PREFIX }}-${{ env.FRONTEND_IMAGE_NAME_SUFFIX }} @@ -48,13 +48,13 @@ jobs: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Login to GitHub Container Registry - uses: docker/login-action@v3 + uses: docker/login-action@v4 with: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Build and push - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v7 with: platforms: linux/amd64 context: frontend @@ -69,10 +69,10 @@ jobs: - meta steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Docker meta id: meta - uses: docker/metadata-action@v4 + uses: docker/metadata-action@v6 with: images: | ${{ env.IMAGE_NAME_PREFIX }}-${{ env.BACKEND_IMAGE_NAME_SUFFIX }} @@ -87,14 +87,14 @@ jobs: uses: docker/setup-buildx-action@v3 - name: Login to GitHub Container Registry - uses: docker/login-action@v3 + uses: docker/login-action@v4 with: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Build and push - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v7 with: platforms: linux/amd64 context: backend @@ -114,7 +114,7 @@ jobs: url: https://plone.org steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Deploy to cluster uses: kitconcept/docker-stack-deploy@v1.4.0 diff --git a/.github/workflows/frontend-testing.yml b/.github/workflows/frontend-testing.yml index e5ae328..bee182c 100644 --- a/.github/workflows/frontend-testing.yml +++ b/.github/workflows/frontend-testing.yml @@ -20,10 +20,10 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout codebase - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Use Node.js ${{ env.node-version }} - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: node-version: ${{ env.node-version }} cache: 'yarn' @@ -40,7 +40,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout codebase - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Run Prettier run: npx prettier@2.0.5 --single-quote --check 'src/**/*.{js,jsx,ts,tsx,css,scss}' --config=package.json @@ -52,10 +52,10 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout codebase - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Use Node.js ${{ env.node-version }} - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: node-version: ${{ env.node-version }} cache: 'yarn' @@ -72,10 +72,10 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout codebase - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Use Node.js ${{ env.node-version }} - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: node-version: ${{ env.node-version }} cache: 'yarn' @@ -95,11 +95,11 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Docker meta id: meta - uses: docker/metadata-action@v4 + uses: docker/metadata-action@v6 with: images: | ghcr.io/plone/ploneorg-frontend @@ -114,14 +114,14 @@ jobs: uses: docker/setup-buildx-action@v3 - name: Login to DockerHub - uses: docker/login-action@v3 + uses: docker/login-action@v4 with: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Build and push - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v7 with: platforms: linux/amd64 context: frontend/ @@ -138,11 +138,12 @@ jobs: - release runs-on: ubuntu-latest environment: + # Only exception: keep this to testing.plone.org, otherwise I need to recreate the environment on githubs plone.org repo. name: testing.plone.org - url: https://testing-stabls.plone.org + url: https://testing-stable.plone.org steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Deploy to testing-stable.plone.org uses: kitconcept/docker-stack-deploy@v1.4.0 @@ -155,7 +156,7 @@ jobs: remote_user: ${{ vars.DEPLOY_USER }} remote_private_key: ${{ secrets.DEPLOY_SSH }} stack_file: "devops/stacks/testing-stable.plone.org.yml" - stack_name: testing-plone-org + stack_name: testing-stable-plone-org env_file: | STACK_NAME=testing-stable-plone-org DB_HOST=${{ vars.DB_HOST }} diff --git a/.github/workflows/redeploy-live.yaml b/.github/workflows/redeploy-live.yaml index a04a7df..f33a02c 100644 --- a/.github/workflows/redeploy-live.yaml +++ b/.github/workflows/redeploy-live.yaml @@ -11,7 +11,7 @@ jobs: TAG: ${{ steps.vars.outputs.TAG }} steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Set Env Vars id: vars @@ -29,7 +29,7 @@ jobs: url: https://plone.org steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Deploy to cluster uses: kitconcept/docker-stack-deploy@v1.4.0 diff --git a/.github/workflows/redeploy-testing.yaml b/.github/workflows/redeploy-testing.yaml index 889efae..8da49ac 100644 --- a/.github/workflows/redeploy-testing.yaml +++ b/.github/workflows/redeploy-testing.yaml @@ -14,7 +14,7 @@ jobs: url: https://testing-stable.plone.org steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Deploy 'latest' image tags to testing-stable.plone.org uses: kitconcept/docker-stack-deploy@v1.4.0 diff --git a/devops/stacks/testing-stable.plone.org.yml b/devops/stacks/testing-stable.plone.org.yml index 6e6bf4e..31959ee 100644 --- a/devops/stacks/testing-stable.plone.org.yml +++ b/devops/stacks/testing-stable.plone.org.yml @@ -5,7 +5,7 @@ services: frontend: image: ghcr.io/plone/ploneorg-frontend:latest environment: - RAZZLE_INTERNAL_API_PATH: http://testing-plone-org_backend:8080/Plone + RAZZLE_INTERNAL_API_PATH: http://testing-stable-plone-org_backend:8080/Plone depends_on: - backend networks: @@ -21,17 +21,17 @@ services: - traefik.docker.network=public - traefik.constraint-label=public # Middlewares - - traefik.http.middlewares.testing_ploneorg-frontend-auth.basicauth.users=ploneorg:$$2y$$05$$QuAxsLqKl7ltm6Qv4wOOw./2pK5VeVSBSllAJbdb4dKnFxWhFFLze + - traefik.http.middlewares.testingstable_ploneorg-frontend-auth.basicauth.users=ploneorg:$$2y$$05$$QuAxsLqKl7ltm6Qv4wOOw./2pK5VeVSBSllAJbdb4dKnFxWhFFLze # Services - - traefik.http.services.testing_ploneorg-frontend.loadbalancer.server.port=3000 + - traefik.http.services.testingstable_ploneorg-frontend.loadbalancer.server.port=3000 # Routers - - traefik.http.routers.testing_ploneorg-frontend.rule=Host(`testing-stable.plone.org`) - - traefik.http.routers.testing_ploneorg-frontend.entrypoints=https - - traefik.http.routers.testing_ploneorg-frontend.tls=true - - traefik.http.routers.testing_ploneorg-frontend.tls.certresolver=le - - traefik.http.routers.testing_ploneorg-frontend.service=testing_ploneorg-frontend - - traefik.http.routers.testing_ploneorg-frontend.middlewares=gzip,testing_ploneorg-frontend-auth + - traefik.http.routers.testingstable_ploneorg-frontend.rule=Host(`testing-stable.plone.org`) + - traefik.http.routers.testingstable_ploneorg-frontend.entrypoints=https + - traefik.http.routers.testingstable_ploneorg-frontend.tls=true + - traefik.http.routers.testingstable_ploneorg-frontend.tls.certresolver=le + - traefik.http.routers.testingstable_ploneorg-frontend.service=testing_ploneorg-frontend + - traefik.http.routers.testingstable_ploneorg-frontend.middlewares=gzip,testingstable_ploneorg-frontend-auth backend: image: ghcr.io/plone/ploneorg-backend:latest @@ -39,7 +39,7 @@ services: RELSTORAGE_DSN: "dbname='${DB_NAME:-plone}' user='${DB_USER:-plone}' host='${DB_HOST:-db}' port='${DB_PORT:-5432}' password='${DB_PASSWORD:-plone}'" networks: - public - - testing_ploneorg + - testingstable_ploneorg deploy: replicas: 3 placement: @@ -53,31 +53,31 @@ services: - traefik.docker.network=public - traefik.constraint-label=public # Services - - traefik.http.services.testing_ploneorg-backend.loadbalancer.server.port=8080 + - traefik.http.services.testingstable_ploneorg-backend.loadbalancer.server.port=8080 # Middlewares ### Authentication - - traefik.http.middlewares.testing_ploneorg-backend-auth.basicauth.users=ploneorg:$$2y$$05$$QuAxsLqKl7ltm6Qv4wOOw./2pK5VeVSBSllAJbdb4dKnFxWhFFLze + - traefik.http.middlewares.testingstable_ploneorg-backend-auth.basicauth.users=ploneorg:$$2y$$05$$QuAxsLqKl7ltm6Qv4wOOw./2pK5VeVSBSllAJbdb4dKnFxWhFFLze ### backend ++api++ VHM - - "traefik.http.middlewares.testing_ploneorg-vhm-cleanup.replacepathregex.regex=^/((\\+\\+api\\+\\+/){1,})($$|.*)" - - "traefik.http.middlewares.testing_ploneorg-vhm-cleanup.replacepathregex.replacement=/VirtualHostBase/https/testing-stable.plone.org/Plone/++api++/VirtualHostRoot/$$3" - - "traefik.http.middlewares.testing_ploneorg-vhm.replacepathregex.regex=^/\\+\\+api\\+\\+($$|/.*)" - - "traefik.http.middlewares.testing_ploneorg-vhm.replacepathregex.replacement=/VirtualHostBase/https/testing-stable.plone.org/Plone/++api++/VirtualHostRoot/$$1" + - "traefik.http.middlewares.testingstable_ploneorg-vhm-cleanup.replacepathregex.regex=^/((\\+\\+api\\+\\+/){1,})($$|.*)" + - "traefik.http.middlewares.testingstable_ploneorg-vhm-cleanup.replacepathregex.replacement=/VirtualHostBase/https/testing-stable.plone.org/Plone/++api++/VirtualHostRoot/$$3" + - "traefik.http.middlewares.testingstable_ploneorg-vhm.replacepathregex.regex=^/\\+\\+api\\+\\+($$|/.*)" + - "traefik.http.middlewares.testingstable_ploneorg-vhm.replacepathregex.replacement=/VirtualHostBase/https/testing-stable.plone.org/Plone/++api++/VirtualHostRoot/$$1" ### backend /ClassicUI VHM - - "traefik.http.middlewares.testing_ploneorg-vhm-classic.replacepathregex.regex=^/ClassicUI($$|/.*)" - - "traefik.http.middlewares.testing_ploneorg-vhm-classic.replacepathregex.replacement=/VirtualHostBase/https/testing-stable.plone.org/Plone/VirtualHostRoot/_vh_ClassicUI/$$1" + - "traefik.http.middlewares.testingstable_ploneorg-vhm-classic.replacepathregex.regex=^/ClassicUI($$|/.*)" + - "traefik.http.middlewares.testingstable_ploneorg-vhm-classic.replacepathregex.replacement=/VirtualHostBase/https/testing-stable.plone.org/Plone/VirtualHostRoot/_vh_ClassicUI/$$1" # Routers ## testing-stable.plone.org ++api++ - - traefik.http.routers.testing_ploneorg-backend.rule=Host(`testing-stable.plone.org`) && (PathPrefix(`/++api++`)) - - traefik.http.routers.testing_ploneorg-backend.entrypoints=https - - traefik.http.routers.testing_ploneorg-backend.tls=true - - traefik.http.routers.testing_ploneorg-backend.service=testing_ploneorg-backend - - traefik.http.routers.testing_ploneorg-backend.middlewares=gzip,testing_ploneorg-vhm-cleanup,testing_ploneorg-vhm + - traefik.http.routers.testingstable_ploneorg-backend.rule=Host(`testing-stable.plone.org`) && (PathPrefix(`/++api++`)) + - traefik.http.routers.testingstable_ploneorg-backend.entrypoints=https + - traefik.http.routers.testingstable_ploneorg-backend.tls=true + - traefik.http.routers.testingstable_ploneorg-backend.service=testing_ploneorg-backend + - traefik.http.routers.testingstable_ploneorg-backend.middlewares=gzip,testingstable_ploneorg-vhm-cleanup,testingstable_ploneorg-vhm ### testing-stable.plone.org /ClassicUI - protected with basic auth (prevent SEOs from crawl it) - - traefik.http.routers.testing_ploneorg-classicui.rule=Host(`testing-stable.plone.org`) && (PathPrefix(`/ClassicUI`)) - - traefik.http.routers.testing_ploneorg-classicui.entrypoints=https - - traefik.http.routers.testing_ploneorg-classicui.tls=true - - traefik.http.routers.testing_ploneorg-classicui.service=testing_ploneorg-backend - - traefik.http.routers.testing_ploneorg-classicui.middlewares=gzip,testing_ploneorg-backend-auth,testing_ploneorg-vhm-classic + - traefik.http.routers.testingstable_ploneorg-classicui.rule=Host(`testing-stable.plone.org`) && (PathPrefix(`/ClassicUI`)) + - traefik.http.routers.testingstable_ploneorg-classicui.entrypoints=https + - traefik.http.routers.testingstable_ploneorg-classicui.tls=true + - traefik.http.routers.testingstable_ploneorg-classicui.service=testing_ploneorg-backend + - traefik.http.routers.testingstable_ploneorg-classicui.middlewares=gzip,testingstable_ploneorg-backend-auth,testingstable_ploneorg-vhm-classic volumes: - relstorage-cache:/data/relstorage-cache - blob-cache:/data/blob-cache @@ -100,7 +100,9 @@ services: restart_policy: condition: none configs: - - zodbpack_conf + - source: zodbpack_conf + target: /zodbpack_conf + networks: - testing_ploneorg