Jump to content

Catalyst

From Wikitech
(Redirected from Patch demo)
Catalyst
on-demand test environments
Status In production
Maintainers Stef Dunlap, Jeena Huneidi, Jaime Nuche, Esuvat Bomani
GitLab Repos catalyst-api, patchdemo, ci-charts


Project Catalyst is a team working on a kubernetes cluster as a service explicitly for CI and exploratory testing. Our current effort is upgrading Patch Demo, to use kubernetes to provision and host wikis with custom extensions and skins. The Catalyst API wraps a small kubernetes cluster. A new instance of Patch Demo will consume this API. Our next effort will be to open the Catalyst API for more general workloads, including wikis which rely on (micro)services.

The Need for Catalyst

The evolving complexities introduced with projects like Abstract Wikipedia require adaptable testing environments. Catalyst steps in to fill this void, offering a platform that can easily cater to a myriad of testing scenarios by offering test environments that resemble production configurations with extensions and services.

Expiring Demos

Environments on PatchDemo are automatically cleaned up after they are no longer needed according to the following rules:

  • Demos with unmerged patches or open related phabricator tasks will never be deleted automatically.
  • After all patches are merged (or abandoned) and related phabricator tasks are resolved, the demo will be given an expiration date of 30 days in the future.
  • Once a demo is past its expiration date, it will be deleted automatically.
  • A demo owner can extend their demo's expiration date by clicking the "Change" link in the "Expires" cell for their demo in the Demos table on patchdemo.

Relevant repositories

Catalyst repositories are hosted on GitLab under the repos/test-platform/catalyst group. Tasks are tracked in Phabricator under the Catalyst workboard.

repository description
catalyst-api golang backend which orchestrates deploying demos to kubernetes using helm
patchdemo php frontend for creating, configuring, editing, and deleting demos
ci-charts helm chart(s) for deploying mediawiki on kubernetes focused on easy of deployments and testing

Roadmap

  • Summer 2024 - deploy a new kubernetes backed Patch Demo instance and begin sun-setting the legacy instance
  • Fall/Winter 2024 - work with Abstract Wikipedia and other teams to bring their testing workloads onto the Catalyst kubernetes cluster
  • Spring 2025 - Reclaim resources and reduce resource usage, add scalability, add ability to change/update existing environments.

Project Updates

Decision Log

Catalyst/Decision log catalogues major decisions made by the team.

Get Involved

We're fervently seeking community involvement in various ways:

  • volunteer code contributors - the Project Catalyst team is very collaborative, and would welcome community involvement
  • early adopters
    • folks who want to try out the kubernetes backed Patch Demo
    • teams interested in deploying and testing wikis with services in CI

If you're interested in getting involved, comment on Talk:Catalyst or email sdunlap at wikimedia.org.

You can file bug reports in Phabricator under #Catalyst.

Documentation