Allow deployment of multiple instances per server#1688
Conversation
2897adf to
04c5245
Compare
dec0810 to
c5eb77d
Compare
|
|
||
| # set proxy_pass argument as variable, this makes sure nginx will still start even if this hostname is unresolvable due to routinator profile being disabled | ||
| set $routinator http://routinator:9556; | ||
| rewrite ^/routinator(.*)$ $1 break; |
There was a problem hiding this comment.
Did you test/tried using a trailing slash in the proxy_pass variable instead of a rewrite?
There was a problem hiding this comment.
I did and somehow I could not get it to work with any combination of slashes, might be how routinator is handling the request?
| include http.headers; | ||
| include hsts_h3.headers; | ||
|
|
||
| # allow only local connections |
There was a problem hiding this comment.
This still requires some GB Routinator footprint per install .. maybe even optionally open this up even more? (e.g. make batch or dev use single-test Routinator)
I understand doing so creates new potential issues (version and connection wise), and probably it's best running at least one in dev, but batch might use single-test.
There was a problem hiding this comment.
Can we add this as a feature for a next iteration? I like to finish this PR as-is because it already has lots of big changes.
5bb7be2 to
58bb8f7
Compare
- Move django_browser_reload into requirements.txt to remove complication of seperate image for development - Don't require running statsd container for running tests
…interval. Was added in compose 2.24.0 https://github.com/docker/compose/releases/tag/v2.24.0
To allow multiple instances to be easily configured to run next to each other on the same server we want to reduce the amount of static IP configuration of containers. - Move static files used for testing (hof, public_suffix_list) into separate service to keep it distinct from test-target - remove static IP's for almost all containers/services. Only a few static IP's are kept, mostly for dev/test environments where these IP's are referenced in the zone files for resolving by the mock-resolver. - configure nginx to do DNS lookups for proxy_pass's to backend containers for app and monitoring. - no longer configure the internal resolver (resolver-validating) as container resolver. Since the application configures a resolver for use internally which explicitly uses the `resolver-validating` this configuration is not needed, it also enables resolving containers by name. - configure the `app` resolver to lookup the `resolver-validating` containers IP by container name. - restart services that use `resolver-validating` when that services is restarted (and potentially get's a different IP).
58bb8f7 to
878f77b
Compare
This PR contains the following changes:
uvfor Python installsmake test-allin local developmentDeployment notes:
A change in this PR will require one of the Docker networks to be recreated with a new subnet. So before deploying this version the entire environment should first be brought down using:
And made sure the
internetnl-prod_public-internetDocker network is removed: