I have two separate docker projects. Each connected through a single docker network.
Consider project1 to be our old project, and project2 our new one.
Project2 will only contain certain parts/urls that are renewed.
At the moment we have the following setup:
dev.project.nl/new will be caught by our new docker project so the docker-compose.yaml
contains this
- "traefik.project2.frontend_platform.rule=Host:dev.project.nl; PathPrefix: /new"
So all traffic that goes through /new
now is handled by project2
Project1 has the following rule:
- "traefik.project1.frontend_platform.rule=Host:dev.project.nl;"
So obviously it will handle everything from /*
except /new
.
What I want to achieve is that project2 urls could progressively mapped to the root domain.
So take the following project1 url /project/1
. Right now, to test it on the new platform we need to use /new/project1
but I would like to exclude handling from project1 so that /project/1
goes through our new setup.
I have tried the following in project in:
- "traefik.project1.frontend.rule=PathPrefix: /,^(?!.*product).*$$; Host:dev.project1.nl,dev"
The regular expression matches everything except urls containing product
. Well at least it should. But it does not work.
In the end, the idea is that we can test the integration with the help of a cookie (or something). I have found out I can toggle a rule using:
HeadersRegexp:Cookie, monkey;
So whenever that cookie is set I should see X.
But how to do the exlcusion/inclusion properly?
To summarize this would be the ideal end situation:
/page1 --> project1
/another-url/something --> project1
/product/1 --> project1 when Cookie is not set
/product/1 --> project2 when Cookie is set