Right now the deployer experience for doing any test "in a production environment" is the following:
- pick a debug server no one is supposedly using
- patch mediawiki's code or add a new file in /srv/mediawiki/w
- reach the server via the wikimedia-debug extension
We want developers to have a similar if not better experience on kubernetes. I think something like the following would work:
- The developer either provides a file to add, or a patch file that can be *cleanly* applied, to a cli utility
- this cli utility deploys their patch to kubernetes, and wires it into the ingress as <devname>.mwdebug.discovery.wmnet
- This address can be reached via the debug extension by providing the developer username
To allow the above we'd need:
- Add a stanza to allow the use of ingress in the mediawiki chart
- allow applying a patch to the code running. Possibly by building a specialized image, possibly by allowing to patch the code live. For adding files we already have a solution using the debug.php.contents to provide the additional files that will be reachable at /w/debug/<key>.php
- destroy the additional release once done
- write a cli utility to manage the above in a semi-automated way
I think we can probably create a simplified version of the above (without the patching part, basically), and unblock the migration