Project Name: deployment-prep-k8s
Wikitech Usernames of requestors: jforrester, <others to come>
Purpose: Provision of a limited k8s cluster for the Beta Cluster staging system, initially for Abstract Wikipedia and later for all Beta Cluster users.
Brief description: The Beta Cluster ('deployment-prep') project currently doesn't provide a k8s cluster; individual services are either not replicated or use ad hoc systems directly on the VPS project's scb host. This means that Beta Cluster isn't as good a replica of production as we need. For the Wikifunctions project, for which most of the compute needs are done by critical back-end services, this makes it entirely useless.
I propose to create and maintain a k8s cluster, initially of the Wikifunctions services, which automatically update to the current image as they are produced in the docker registry. A big part of the work will be tuning the k8s config to severely limit the load that users can add to the system (which is also a need for production). If this system works, we can expand it to cover all the services currently mocked or ignored for the Beta Cluster; if it doesn't, we can kill it off.
Ideally we'd do this just inside the deployment-prep project, but as this is an experiment and will be a bit more automated I thought we should do it differently. This is a VPS request rather than a Toolforge project because of rule 6, per T289315#7486337, and because rather than the bespoke toolforge-limited ones we need to use our Wikimedia-level docker-registry images, which are banned there.
How soon you are hoping this can be fulfilled: Soon please; this blocks Beta Cluster deployment of Wikifunctions.