Open wkloucek opened 1 year ago
@d7oc do you have an opinion on this? Currently, while services are restarting (eg. when having DeploymentStrategy Recreate) the behaviour of oCIS is undefined (eg. 401 / 500 errors can appear). Therefore I would prefer having a maintenance page.
To me it sounds like we should fix the undefined state. There should be no point in time when a user sees different errors. The liveness and readiness checks should ensure that once a user reaches a service it should be up and running. After that there should be only 503 from the service itself as long as there are no pod detected as live and ready. For that I would go with a solution like the one here https://devops.stackexchange.com/a/13637 and make the ingress return a specific page in case of 503.
Discussion on Web: https://github.com/owncloud/web/issues/10260
We could use a Helm
pre-upgrade
hook to change the ingress to respond with a static maintenance page. This maintenance page would respond to all api routes. It would need respond with503 Service Unavailable
or a similar status code, so that the clients don't error.During the Helm
post-upgrade
hook, we would then need to switch back to the regular ingress.One challenge would be to not interrupt requests when going into maintenance mode. This can be challenging especially for slow / big uploads (=long running requests).