You are browsing a read-only backup copy of Wikitech. The live site can be found at Difference between revisions

From Wikitech-static
Jump to navigation Jump to search
(→‎Production deployment: Add some "how to" instructions)
(→‎Monitoring: new section)
Line 12: Line 12:
* [[Url-downloader|url-downloader.{codfw,eqiad}]] outbound HTTP proxy
* [[Url-downloader|url-downloader.{codfw,eqiad}]] outbound HTTP proxy
* [[Varnish|text-lb.{codfw,eqiad}]] for MediaWiki API access without [[Envoy#Services_Proxy|envoy proxy + custom Host headers]]
* [[Varnish|text-lb.{codfw,eqiad}]] for MediaWiki API access without [[Envoy#Services_Proxy|envoy proxy + custom Host headers]]
=== Monitoring ===
* [ Grafana dashboard of Prometheus metrics]
* [ OpenSearch dashboard of log events]

=== How to deploy ===
=== How to deploy ===

Revision as of 20:47, 26 May 2022

Toolhub logo is a catalog of tools used by the members of the Wikimedia movement. See the Toolhub project page on meta for additional details about the application's features.

Production deployment

Toolhub runs in the "eqiad" Kubernetes cluster. The service is current not active-active in the "codfw" cluster (T288685).

The helm chart and helmfile configuration for the service configure connectivity to its dependencies:


How to deploy

  1. Create a patch to update main_app.version in helmfile.d/services/toolhub/values.yaml to the desired tag of the wikimedia/wikimedia-toolhub container. (example)
  2. CR+2 the helmfile.d patch in gerrit to start the merge process.
  3. Ssh to the currently active deployment server (deployment.eqiad.wmnet).
  4. cd /srv/deployment-charts/helmfile.d/services/toolhub
  5. Verify that your changes from step 1 are checked out. The git clone is updated once a minute by a timer, so if your changes are not present yet double check that zuul has merged the change and then wait patiently for the update to be fetched.
  6. Deploy the chart to the staging cluster: helmfile -e staging -i apply
  7. Deploy the chart to the codfw cluster: helmfile -e codfw -i apply
  8. Deploy the chart to the eqiad cluster: helmfile -e eqiad -i apply

If your deployment includes database or elasticsearch schema changes, you will need to apply them manually. Until T290357: Maintenance environment needed for running one-off commands is resolved you will need to invent your own environment for performing these post-deploy tasks. See T290357#7578866 for the script that bd808 uses. Typical migration commands:

  • poetry run ./ showmigrations
  • poetry run ./ migrate
  • poetry run ./ search_index --rebuild

Testing deployment in the Toolhub Cloud VPS project hosts a testing deployment that is used for beta testing and demonstrations. It is deployed using docker-compose. See contrib/demo-server/ in the project's git repo for more information.

Updating the demo build

$ ssh
$ cd /srv/toolhub/demo/
$ make pull restart tail
  watch things happen until the search indices are rebuilt
$ make web-shell
$ poetry run ./ crawl --quiet
$ exit
$ exit

Local development

Local development is done with docker-compose. See docs/CONTRIBUTING.rst in the project's git repo for more information.

Visualizations related to Tools and Account creation