Currently, updating the image version for mediawiki on kubernetes follows the standard gitops procedure we follow for every other service, so we need to post and merge a patch to deployment-charts. This is inconvenient given we already have a deployment procedure for mediawiki outside of kubernetes.
While the topic of deployments on kubernetes should merit a separate task later on, for now our goal is:
- Keep deploying to the mwdebug cluster when code is deployed in production
- Minimal disruption for deployers.
My preferred interim solution is as follows:
- once gate-and-submit happens, an image rebuild is triggered, and new versions of the images are published
- It is somehow possible to gather the tag of the image corresponding to the sha1 of the last commit in /srv/mediawiki-staging on the deployment server
- We regenerate, every time we do a release (either via a scap "extension" or a git receive hook?) a helmfile values file with the correct image versions
- we deploy in eqiad and codfw to the mwdebug cluster automatically using helmfile via a script that can be invoked either by scap or by a systemd timer
We can get into the details of every step above, but in general I'd like to implement most of this stuff in scap, so that sync and sync-file take care of the deployment to kubernetes automatically. The deployment script, though, should be probably separated anyways, and for now it can even be a couple lines of bash.