Upgrade to traefik3 and it's updated syntax
Fixes: AO-321
Use the new traefik 3 syntax for rules. The reason for all the breaking changes were especially these changes in the syntax:
Regex and path prefix
PathPrefix no longer uses regular expressions to match path prefixes.
QueryRegexp has been introduced to match query values using a regular expression.
HeaderRegexp, HostRegexp, PathRegexp, QueryRegexp, and HostSNIRegexp matchers now uses the Go regexp syntax.
All matchers now take a single value (except Header, HeaderRegexp, Query, and QueryRegexp which take two) and should be explicitly combined using logical operators to mimic previous behavior
By correcting these we can now move over to traefik 3 for linnaeus, drupal and springboot. The tricky part is doing it all at the same time, especially for interdependent projects such as linnaeus.
Functional test
You can test this locally by checking out this MR, the drupal NSR one and spring-linnaeus one. Start all three environments at the same time, starting with the linnaeus one. Use the integrated dev override.
-
https://nsr.dryrun.link should show you the drupal site -
https://nsr.dryrun.link/linnaeus_ng/ the linnaeus site -
https://nsr.dryrun.link/api/ error page of the api
If you don't want the hassle of doing it locally, you can also deploy the branches of these three repositories to the acceptance servers. Do not forget to set the deployment variable HOSTS=acc-nederlandsesoorten.hosts.naturalis.io
and after deployment test the setup.
-
https://www-b.nederlandsesoorten.nl should show you the drupal site -
https://www-b.nederlandsesoorten.nl/linnaeus_ng/ the linnaeus site -
https://www-b.nederlandsesoorten.nl/api/ error page of the api