Wikimedia Release Engineering Team/TrainDev

What is train-dev?
Train-dev is an environment for developing scap and testing mediawiki deployments. It is composed of a mirror of many gerrit repos and well as several docker containers which serve as facsimiles for production hosts such as deploy, gerrit, mwdebug, web, and database servers. Minikube is used for testing Kubernetes deployments.

Browse the source code: https://gerrit.wikimedia.org/g/mediawiki/tools/train-dev

Digital Ocean setup walkthrough

 * Visit digitalocean.com
 * Log in w/ your WMF account.
 * Click "+ New Project" to create a project for yourself if you do not already have one.
 * Inside your project click the green Create button.
 * Select Droplets.
 * Select Debian 11 x64 as the image.
 * Select a "Basic" plan and choose a droplet configuration with at least 8GB RAM, 4 CPUs.
 * Choose a datacenter that is near you.
 * Add your ssh keys.
 * Enable Monitoring
 * Give the droplet a useful name.
 * Create the droplet under your project.
 * Collect the IP address of your droplet and ssh root@.
 * Install some packages.


 * Install minikube:
 * Create an unprivileged account for yourself:
 * Ssh into the droplet using your unprivileged account.
 * Run:
 * Log into the deploy container: