Wikimedia Release Engineering Team/Onboarding

💻 SSH keys generation
You need two SSH keys (both should have a memorable passphrase):
 * One for Production
 * One for Wikimedia developer account

Wikimedia Developer Account SSH key #
ssh-keygen -f ~/.ssh/id_ed25519.wmfdev -t ed25519 -C "your_email@youremail.com"
 * Used for Gerrit, GitLab, and WMCS VMs
 * For your WIkimedia developer account use:
 * This creates two files in :
 * - Wikimedia developer account private key NEVER SHARE THIS
 * - Wikimedia developer account public key OK TO SHARE/post publicly

Wikimedia Production Access SSH key #
ssh-keygen -f ~/.ssh/id_ed25519.wmfprod -t ed25519 -C "your_email@youremail.com"
 * Used ONLY for access to production machines via ssh
 * For example, to deploy code to production, you'll use this key
 * For your production account use:
 * This creates two files in
 * id_ed25519.wmfprod - Wikimedia production account private key NEVER SHARE THIS
 * id_ed25519.wmfprod.pub - Wikimedia production account public key OK TO SHARE/post publicly

We have a recommended .ssh/config to use.

🔐 GPG key

 * Run  and follow the prompts. Defaults are usually good, but use a 4096 bit length.
 * Then uploads public key to key server
 * Submit a patch for our PGP public key repo including only your public key


 * Reach out to Tyler to see about getting it signed. Requires two signatures.

Mailing lists descriptions

 * releng@lists.wikimedia.org - Private release engineering subteam list
 * ops@lists.wikimedia.org - Private ops list, includes all deployers
 * security@wikimedia.org - (if appropriate) private alias for security issue reporting and follow-up
 * wikitech-l@wikimedia.org - public list for all things Wikimedia development

IRC Channel descriptions

 * #wikimedia-releng - team channel with task, code review, and monitoring bot announcements
 * #wikimedia-sre - SRE team channel
 * #wikimedia-staff - private WMF staff and contractors only channel, useful backchannel for staff-only meetings
 * #wikimedia-operations - most production server discussion happens here
 * #wikimedia-tech - general Wikimedia tech discussion
 * #wikimedia-dev - Wikimedia dev related bot announcements (tasks and code review)
 * #wikimedia-cloud and #wikimedia-cloud-admin - Cloud VPS (much of our CI infrastructure depends on Wikimedia Cloud VPS)

Team-related IRC access additions

 * Prerequisite: the user's nick must be registered with nick enforcement set to .  They should follow the IRC tutorial on meta.
 * Add the user to the access list for our private team channel using the  template:
 * Then add to invite list (so they don't have to invite themselves each time):
 * Give the user +v (voice) in #wikimedia-releng
 * Give the user +v (voice) in #wikimedia-releng
 * Give the user +v (voice) in #wikimedia-releng

👥 People to meet and things to do with them
The goal is to meet your team mates and learn how the team fits together. Hopefully you'll talk to everyone on the team one on one for about thirty minutes over the first week or two. Bookmark the contact list on officewiki — you will use it a lot :)

📍 First day

 * Tyler Cipriani, manager of the Release Engineering team. He is normally in the US Mountain timezone.
 * Tell him everything is going great and that the instructions are easy to follow but you are still overwhelmed by the reading you have to do.
 * Tell him that you found some errors in the instruction and fixed the template. :P
 * Ask him to give you an overview of how the foundation is organized, what teams do what, and all that.
 * Make sure he adds you to any relevant team meetings.
 * He'll want to talk to you one on one a few times in the first week.

First couple of weeks
Meet the whole team:


 * Ahmon Dancy - Pacific timezone
 * Ask him about MediaWiki on Kubernetes, Emacs, databases, or Common Lisp.
 * Antoine Musso - Central European timezone
 * Ask him to tell you the origin story of our Continuous Integration infrastructure, including Beta Cluster.
 * Ask him all about French cooking and why it's the best country to live in.
 * Brennen Bearnes - Mountain timezone
 * Ask him about error logs, Vim, docker-compose, or GitLab.
 * Dan Duvall - Pacific timezone
 * Ask him about the Deployment Pipeline.
 * Ask him about maintaining the infrastructure for a website that got 99% of it's traffic in one month.
 * Jeena Huneidi
 * Ask her about Kubernetes, docker-compose, tea, or ponies.
 * Mukunda Modell - Central timezone
 * Ask him about Phabricator and why it's a game.
 * Ask him about his RX7.

More widely, Release Engineering is part of Digital Transformation


 * Engineering Productivity
 * Kate Chapman - Pacific timezone (Director, Architecture)
 * Performance Engineering
 * Release Engineering
 * Architecture

📚 Readings
Check these out, bring any questions you have to Tyler or your onboarding buddy.


 * https://office.wikimedia.org/wiki/New_tech_employee_orientation <-- important
 * https://office.wikimedia.org/wiki/Technical_onboarding_for_new_hires
 * https://office.wikimedia.org/wiki/New_Hire_Orientation_Videos
 * From SRE:
 * Life of a request presentation
 * Application layer deeper dive presentation
 * The "Kubernetes" (2018-11-16) presentation from https://office.wikimedia.org/wiki/Operations/Ops_sessions
 * https://media.ccc.de/v/36c3-73-infrastructure-of-wikipedia
 * http://www.aosabook.org/en/mediawiki.html <-- lower priority, but interesting