toolsadmin.wikimedia.org
toolsadmin.wikimedia.org is where maintainers of Toolforge tools can manage their tools. The software that runs this interface is codenamed Striker.
Features
- Wikimedia developer account creation wizard
- SSH public key management
- Associate Wikimedia developer account, Wikimedia SUL account, and Phabricator account
- Create new tool accounts
- Create/update metadata describing a tool. This metadata is a superset of the data needed for Hay's directory and published there.
- Create Git repositories in Differential associated with a tool.
Service
Striker is an Django application for managing Toolforge tools. A blacksmith's striker is an assistant to a blacksmith whose job is to swing a heavy hammer at the direction of the blacksmith. Similarly, Striker performs various tasks at the direction of a tool maintainer.
Production deployment
Toolsadmin.wikimedia.org is provisioned via the role::striker::web
Puppet class on labweb1001 and labweb1002. This class sets up memcached, an Apache vhost, and a uwsgi service. The striker application code is deployed into the uwsgi service by scap3 from the deployment host. The application is configured by the /etc/striker/striker.ini
file that is provisioned by Puppet and populated with data from hiera. The application's local database is hosted on the m5 section. The application also connects to the LDAP server for authn/authz and data lookup, Phabricator's public API, metawiki for OAuth authentication, and OpenStack's keystone API.
Testing deployment
striker.wmflabs.org in the Striker project hosts a testing deployment that is used for beta testing. A scap3 deployment server allows testing in a production like environment.
Local development
A role::striker
class is available in MediaWiki-Vagrant for local development and testing. The role provisions Striker, an Apache vhost with mod_uwsgi, a local database, a Phabricator instance, an LDAP wiki, an OAuth wiki, and an OpenStack Keystone service.
Contributing
Submit patches to the labs/striker gerrit project. Tests and linting can be done locally using tox
.
See also
- Frequently (un)asked questions
- Deployment log
- Build and deploy process
- Tool Labs vision
- Phab:T136256 (Deploy "Striker" Tool Labs console to WMF production)
- Tool creation added to toolsadmin.wikimedia.org (28 August 2017 blog post)
- Nova Resource:Striker