Portal:Toolforge/Admin/Striker
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 GitLab associated with a tool.
- Create Phabricator projects 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
cloudweb1003
and
cloudweb1004
. This class sets up Docker and a service to run Striker as a Docker container. The application is configured by environment variables that are 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
https://striker.wmcloud.org in the Striker project hosts a testing deployment that is used for beta testing. This deployment is managed with docker-compose similarly to the local development environment, but uses a production ready container for the striker service itself.
Local development
The local development environment uses docker-compose and GNU Make to manage a container hosting the project. Additional containers are provisioned to provide:
- a MariaDB database service
- an OpenLDAP service
- a Phabricator instance
- a Keystone service
- a MediaWiki wiki acting as a meta.wikimedia.org substitute
- a MediaWiki wiki acting as a wikitech.wikimedia.org substitute
$ git clone https://gerrit.wikimedia.org/r/labs/striker
$ cd striker
$ make start tail
So much stuff scrolls by...
Still scrolling...
Will it ever stop?
It should, but be on the lookout for repeating loops
Eventually (~1-3 minutes) things should stop scrolling
^c
$ make init
More scrolling...
This should only take a few seconds...
$ open http://striker.local.wmftest.net:8080/
open
is a MacOS command to open a file, directory, or url in the default application for that media type. On a Linux host you can either manually open the URL or use a similar URL opening script like
xdg-open
,
sensible-browser
,
x-www-browser
, or
gnome-open
.
See contrib/docker/README.md for additional manual steps needed once the initial startup is complete.
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
- The foxtrot-ldap page, fake LDAP for Toolforge