Page MenuHomePhabricator

Consider adding support for more optional ingress annotations to `webservice` for the Kubernetes backend
Open, LowPublic

Description

The nginx ingress that we are using in the 2020 Kubernetes cluster can be tuned to do a lot of different things. Changes can be made by tool maintainers manually using kubectl edit ingress ..., but unfortunately these changes will not survive a webserver stop; webserver start cycle.

As part of T234617: Toolforge. introduce new domain toolforge.org we introduced a --canonical flag that conditionally adds an ingress annotation for redirection from tools.wmflabs.org to toolforge.org. This feature is also exposed to the new service.template configuration file to make the stop+start process easier for maintainers.

There are other annotations that could be helpful to maintainers:

Adding support for multiple --ingress-annotation arguments in the cli and a collection of such arguments in the service.template would allow roundtrippable configuration of the ingress by tool maintainers.

Whether we would want to also create an allow/deny list for the annotations supported is open for debate.

Event Timeline

Adding support for multiple --ingress-annotation arguments in the cli and a collection of such arguments in the service.template would allow roundtrippable configuration of the ingress by tool maintainers.

Another approach to this could be to only expose this advanced feature through the service.template mechanism.