-
Notifications
You must be signed in to change notification settings - Fork 292
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
docker: common/dev/debug/prod configurations #3286
Comments
Could be useful to have a full prod setup (haproxy, 2 web nodes, cache, mq, db master, db slave, task node). |
Can we just improve our testing suite that checks during |
@jirikuncar This would indeed take care of separate DEV/DEBUG profiles, so that only one configuration is sufficient. And if we switch defaults to DEV mode, leaving PROD mode aside, then this should do, I think. |
For the link that Tibor mentioned in the issue description:
For
For
More votes:
|
Oops!
Yes, I also see compose configurations as primarily targeted to single-machine systems and developer-friendly or demo-friendly use cases. For real scalable production, with haproxy and whatnot, Swarm may come handy. It plays nicely with CERN OpenStack, @jirikuncar tested it. But when I looked last time at Swarm, only Ubuntu was supported. Hopefully the support for CC7 is either already there or not too far away...
Both options would address the issue at hand. FWIW I also like the latter option better; it may be useful to have a possibility to run tests both in debug and non-debug modes. It does not seem to be a very common need to debug redirections, this could be an opt-in switch via |
Can we then change default of |
@crepererum Please make any changes for |
* Makes tests passing in dev compose config by disabling redirection debugging of Flask debug toolbar. (addresses inveniosoftware#3286) Signed-off-by: Marco Neumann <marco@crepererum.net>
* Makes tests passing in dev compose config by disabling redirection debugging of Flask debug toolbar. (addresses inveniosoftware#3286) Signed-off-by: Marco Neumann <marco@crepererum.net>
Currently, we advertise how to develop Invenio 2.x via Docker in our documentation, using DEV configuration. However, when somebody goes that way, he/she would find that running test suite reports many failures due to HTTP redirection associated with debugging mode. This may be a rather surprising default...
I'd rather propose to strive at the defaults whether the following would hold true:
(This is the case for Invenio 1.x Docker configurations, for our Flask-* and other projects...)
We could achieve this by reconsidering DEV -> DEBUG -> PROD modes, choosing a conservative default, and extending our configurations progressively for various use case scenarios. For example:
docker-compose-common.yml
that will be used as a base for everything;docker-compose.yml
that will extend COMMON to make Invenio runnable in a DEV friendly mode, without extra debugging and stuff, but mirroring what Travis/Jenkins do; useful for regular CI/kwalitee purposes;docker-compose-debug.yml
that would extend COMMON/DEV with human-related DEBUG capabilities, with Flask-DebugToolbar/Werkzeug and friends on; either create new profile if needed or just pass appropriate environment variables to the DEV profile to achieve the same;docker-compose-production.yml
that will extend COMMON in a way that will be useful for composing production Invenio environments with overlays. (TBD)WDYT? CC @crepererum @jirikuncar
The text was updated successfully, but these errors were encountered: