You are browsing a read-only backup copy of Wikitech. The primary site can be found at wikitech.wikimedia.org

Toolsadmin.wikimedia.org: Difference between revisions

From Wikitech-static
Jump to navigation Jump to search
imported>BryanDavis
imported>BryanDavis
mNo edit summary
Line 17: Line 17:


=== Production deployment ===
=== Production deployment ===
Toolsadmin.wikimedia.org is provisioned via the <code>role::striker::web</code> 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.eqiad.wmnet|deployment host]]. The application is configured by the <code>/etc/striker/striker.ini</code> file that is provisioned by Puppet and populated with data from hiera. The application's local database is hosted on the [[MariaDB/misc#m5|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.
Toolsadmin.wikimedia.org is provisioned via the <code>role::striker::web</code> 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 [[MariaDB/misc#m5|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 ===
=== Testing deployment ===

Revision as of 04:00, 4 September 2022

The Forge (Goya)
The Forge by Goya shows a striker and another apprentice assisting a blacksmith

toolsadmin.wikimedia.org is where maintainers of Toolforge tools can manage their tools. The software that runs this interface is codenamed Striker.

Features

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/

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

External link