nyuuzyou/wikis huggingface dataset:
Catalyst/Updates/2024-11-08

== Introduction ==
Project Catalyst is a team working on a kubernetes cluster as a service explicitly for CI and 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 PatchDemo will consume this API. Our next effort will be to open the Catalyst API for more general workloads include wikis which rely on (micro)services.
== Update ==
* Status: On Track
* Progress update on the hypothesis for the week
** phab:T374864 Wikifunctions can now be deployed on Catalyst
** patchdemo fixes for the install progress page
*** phab:T378378 patchdemo does not give the link to the wiki until it is ready
*** we've fixed-up the logs streaming to be reselient against different conditions and states during the container's lifecycle
** we've successfully increased our disk, CPU, and ram on Catalysts k3s "cluster" (it's only one node right now)
* Any new metrics related to the hypothesis
** no
* Any emerging blockers or risks
** no
* Any unresolved dependencies - do you depend on another team that hasn’t already given you what you need? Are you on the hook to give another team something you aren’t able to give right now?
** no
* Have there been any new lessons from the hypothesis?
** no
* Have there been any changes to the hypothesis scope or timeline?
** no
Stef Dunlap (talk) 22:25, 8 November 2024 (UTC)
Catalyst/Updates/2024-11-15

== Introduction ==
Project Catalyst is a team working on a kubernetes cluster as a service explicitly for CI and 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 PatchDemo will consume this API. Our next effort will be to open the Catalyst API for more general workloads include wikis which rely on (micro)services.
== Update ==
* Status: On Track
** we announced public beta on Wednesday!
** we're gearing up next week for a "Code Spa" week (read: pay down tech debt week)
** Jeena will take over the team lead position from me
*** this will be a gradual transition starting next week, and hopefully completed in two-three weeks
** Jaime completed a deep dive exploring where we are spending disk space, and came up with some very interesting insights phab:T378374
** we are continuing to work with the Abstract Wikipedia team to verify that catalyst is correctly setting up a Wikifunction's environment that they can use for testing
* Any new metrics related to the hypothesis
** no
* Any emerging blockers or risks
** no
* Any unresolved dependencies - do you depend on another team that hasn’t already given you what you need? Are you on the hook to give another team something you aren’t able to give right now?
** no
* Have there been any new lessons from the hypothesis?
** no
* Have there been any changes to the hypothesis scope or timeline?
** no
Stef Dunlap (talk) 19:34, 15 November 2024 (UTC)
Catalyst/Updates/2024-11-25

== Introduction ==
Project Catalyst is a team working on a kubernetes cluster as a service explicitly for CI and 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 PatchDemo will consume this API. Our next effort will be to open the Catalyst API for more general workloads include wikis which rely on (micro)services.
== Update ==
* Status: On Track
** last week was a "Code Spa" week (read: pay down tech debt week)
** Jeena is gradually taking over the team lead position from me
*** a line in the sand will be drawn for when the switchover officially happens (and she begins doing reports)
*** likely beginning of Q3 (January)
** we're still working with AW to figure out the gaps in the current Catalyst API, and what they will need in the shorter and longer term
* Any new metrics related to the hypothesis
** no
* Any emerging blockers or risks
** no
* Any unresolved dependencies - do you depend on another team that hasn’t already given you what you need? Are you on the hook to give another team something you aren’t able to give right now?
** no
* Have there been any new lessons from the hypothesis?
** no
* Have there been any changes to the hypothesis scope or timeline?
** no
Stef Dunlap (talk) 21:02, 25 November 2024 (UTC)
Catalyst/Updates/2024-12-02

== Introduction ==
Project Catalyst is a team working on a kubernetes cluster as a service explicitly for CI and 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 PatchDemo will consume this API. Our next effort will be to open the Catalyst API for more general workloads include wikis which rely on (micro)services.
== Update ==
* Status: On Track
** last week approximately half the team as out for Thursday and/or Friday for American thanksgiving and one count of bereveament
** we finished the original work enabling deployment of wikifunctions on Catalyst phab:T379574
** patch for review: stop creating redirects for legacy environments on legacy-patchdemo.wcloud.org, since no new ones should be created phab:T379375
** fixed up long time-to-first-paint for creating of a new demo phab:T372795
** fixed up a race-condition when deleting an environment quickly after creating it phab:T379366
* Any new metrics related to the hypothesis
** no
* Any emerging blockers or risks
** no
* Any unresolved dependencies - do you depend on another team that hasn’t already given you what you need? Are you on the hook to give another team something you aren’t able to give right now?
** no
* Have there been any new lessons from the hypothesis?
** no
* Have there been any changes to the hypothesis scope or timeline?
** no
Stef Dunlap (talk) 15:40, 2 December 2024 (UTC)
Catalyst/Updates/2024-12-05

== Introduction ==
Project Catalyst is a team working on a kubernetes cluster as a service explicitly for CI and 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 PatchDemo will consume this API. Our next effort will be to open the Catalyst API for more general workloads include wikis which rely on (micro)services.
== Update ==
* Status: On Track
** phab:T370040 Added BDD tests for apiTokens
** phab:T381586 Catalyst API: Status of deleted envs should not be leaked to other users (Security)
** The team will be convening at an offsite next week
* Any new metrics related to the hypothesis
** no
* Any emerging blockers or risks
** no
* Any unresolved dependencies - do you depend on another team that hasn’t already given you what you need? Are you on the hook to give another team something you aren’t able to give right now?
** no
* Have there been any new lessons from the hypothesis?
** no
* Have there been any changes to the hypothesis scope or timeline?
** no
Jeena Huneidi (talk) 21:45, 5 December 2024 (UTC)
Catalyst/Updates/2025-01-10

== Introduction ==
Project Catalyst is a team working on a kubernetes cluster as a service explicitly for CI and 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 PatchDemo will consume this API. Our next effort will be to open the Catalyst API for more general workloads include wikis which rely on (micro)services.
== Update ==
* Status: On Track
** phab:T381314 Make "Use Catalyst Backend" checked by default
** phab:T379787Patchdemo image can be built without cloning all repos in the image 
** phab:T376273 Repository pool: create new component responsible for the pool
** The team is getting back up to speed after returning from the end-of-year holiday
* Any new metrics related to the hypothesis
** no
* Any emerging blockers or risks
** no
* Any unresolved dependencies - do you depend on another team that hasn’t already given you what you need? Are you on the hook to give another team something you aren’t able to give right now?
** no
* Have there been any new lessons from the hypothesis?
** no
* Have there been any changes to the hypothesis scope or timeline?
** no
--Jeena Huneidi (talk) 23:18, 10 January 2025 (UTC)
Catalyst/Updates/2025-01-17

== Introduction ==
Project Catalyst is a team working on a kubernetes cluster as a service explicitly for CI and 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 PatchDemo will consume this API. Our next effort will be to open the Catalyst API for more general workloads include wikis which rely on (micro)services.
== Update ==
* Status: WE6.2.2 Complete, Doing some clean up and preparation to continue with WE6.2.8
** The team investigated some bugs that came up during the week and worked on some security and clean up tasks.
** phab:T383736 Update catalyst-api repo path names
** phab:T383632 Can't log in on catalyst patchdemos
** phab:T381314 Make "Use Catalyst Backend" checked by default
=== Confirm if the hypothesis was supported or contradicted ===
* The hypothesis was supported. Catalyst backend has been made the default wiki creation method in patchdemo.
=== Include any applicable metrics (baseline, target, and actuals) ===
* Catalyst backend supports all options supported by the classic patchdemo backend.
* https://patchdemo.wmcloud.org/ shows that since the catalyst backend was made the default wiki creation method on patchdemo on 1/10, 4 out of 9 wikis were created using the catalyst backend, which is a big change from the large majority of wikis being created using the patchdemo backend previously.
* One service (wikifunctions) was added to catalyst, and a wiki using the service can be created via the catalyst API.
* The wiki with wikifunctions enabled option has been used to create 4 environments in the past 7 days by the test platform team for running tests.
=== Briefly describe what was accomplished over the course of the hypothesis work (list of deliverables, links to documents, etc.) ===
* Replace the backend infrastructure of our existing shared MediaWiki development and testing environments (from apache virtual servers to kubernetes):
** (deployed as catalyst API at https://api.catalyst.wmcloud.org and enabled on https://patchdemo.wmcloud.org)
* Extend its uses by developing one environment that includes MediaWiki, one or more Extensions, and one or more Services:
** (wikifunctions service) 
=== Major lessons ===
* The kubernetes cluster needed a lot more resources than anticipated for the environments and the repositories, which required extra time investigating and work on making larger volumes and cleaning up old files.
* The time it takes to clone the repos, especially mediawiki/core can be quite long, and fast setup time is important to users. Efforts were made to improve cloning time in kubernetes environments by creating a wiki repo pool.
=== If applicable, potential next steps ===
* We will continue our work in WE6.2.8, in which we will facilitate deployments of pre-merge patches for MediaWiki services, by running pre-merge tests for Wikifunctions.
--Jeena Huneidi (talk) 00:07, 18 January 2025 (UTC)
Catalyst/Updates/2025-01-26

== Introduction ==
Project Catalyst is a team working on a kubernetes cluster as a service explicitly for CI and 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 PatchDemo will consume this API. Our next effort will be to open the Catalyst API for more general workloads include wikis which rely on (micro)services.
== Update ==
* Status: On Track
** Merged and deployed changes from last week, worked on security tasks, and reviewed/merged code from contributors outside of the team
** phab:T383437 update Catalyst production mariadb password to be more secure
** phab:T383443 ensure random secure password is set for mariadb for catalyst generated test environments
** phab:T374071 Patch Demo printing database credentials in plain text to build output
** phab:T372960 Add Wikibase Repository and Client extensions 
* Any new metrics related to the hypothesis
** no
* Any emerging blockers or risks
** no
* Any unresolved dependencies - do you depend on another team that hasn’t already given you what you need? Are you on the hook to give another team something you aren’t able to give right now?
** no
* Have there been any new lessons from the hypothesis?
** no
* Have there been any changes to the hypothesis scope or timeline?
** no
--Jeena Huneidi (talk) 23:47, 26 January 2025 (UTC)
Catalyst/Updates/2025-02-02

== Introduction ==
Project Catalyst is a team working on a kubernetes cluster as a service explicitly for CI and 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 PatchDemo will consume this API. Our next effort will be to open the Catalyst API for more general workloads include wikis which rely on (micro)services.
== Update ==
* Status: On Track
** The team paused regular work to participate in sprinthackular patchdemo projects, such as phab:T372980.
** An out of memory event (Catalyst/Incidents/2025-01-29) in the kubernetes cluster that hosts patchdemo caused an outage, which we responded to and created follow up tasks to improve the resilience of our cluster.
* Any new metrics related to the hypothesis
** no
* Any emerging blockers or risks
** We need to take some time to improve our kubernetes deployments to avoid future outages.
* Any unresolved dependencies - do you depend on another team that hasn’t already given you what you need? Are you on the hook to give another team something you aren’t able to give right now?
** no
* Have there been any new lessons from the hypothesis?
** no
* Have there been any changes to the hypothesis scope or timeline?
** no
--Jeena Huneidi (talk) 07:28, 3 February 2025 (UTC)
Catalyst/Updates/2025-02-09

== Introduction ==
Project Catalyst is a team working on a kubernetes cluster as a service explicitly for CI and 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 PatchDemo will consume this API. Our next effort will be to open the Catalyst API for more general workloads include wikis which rely on (micro)services.
== Update ==
* Status: On Track
** Making progress on improving the quality of our services.
** Phab:T385319 Ensure that we don't lose Catalyst Wiki environment databases on instance reboot
** Phab:T384377 Speed up catalyst environment checkouts with worktrees
** Phab:T385320 Investigate resource limits for catalyst wiki environments
* Any new metrics related to the hypothesis
** no
* Any emerging blockers or risks
** no
* Any unresolved dependencies - do you depend on another team that hasn’t already given you what you need? Are you on the hook to give another team something you aren’t able to give right now?
** no
* Have there been any new lessons from the hypothesis?
** no
* Have there been any changes to the hypothesis scope or timeline?
** no
--Jeena Huneidi (talk) 22:40, 9 February 2025 (UTC)
Catalyst/Updates/2025-02-16

== Introduction ==
Project Catalyst is a team working on a kubernetes cluster as a service explicitly for CI and 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 PatchDemo will consume this API. Our next effort will be to open the Catalyst API for more general workloads include wikis which rely on (micro)services.
== Update ==
* Status: On Track
** We continued work on improving our catalyst environments by making them faster and more reliable. We fixed a bug in patchdemo and reviewed and deployed work from other developers.
** Phab:T385073 Can't navigate to patchdemo.wmcloud.org home page during catalyst wiki creation
** Phab:T384377 Speed up catalyst environment checkouts with worktrees (test/review/deploy)
** Phab:T384059 Investigate speed of spinning up legacy environments vs Catalyst environments
** Phab:T385328 Persist initcontainer logs for investigation
** Phab:T385065 "Apply patches" should have an autocomplete dropdown with patches recently used by that user
** Use service accounts for catalyst deploying environments
** Don't run certain tests on forks in gitlab-ci
** Update OOUI to 0.51.5 
** Increase memory requests and limits for mariadb
* Any new metrics related to the hypothesis
** no
* Any emerging blockers or risks
** no
* Any unresolved dependencies - do you depend on another team that hasn’t already given you what you need? Are you on the hook to give another team something you aren’t able to give right now?
** no
* Have there been any new lessons from the hypothesis?
** no
* Have there been any changes to the hypothesis scope or timeline?
** no
--Jeena Huneidi (talk) 05:00, 17 February 2025 (UTC)
CentralNotice

CentralNotice is the MediaWiki extension that delivers announcements (usually in the form of banners) to WMF wikis. It is used by the Advancement team to solicit donations, and for announcements of interest to Wikimedia communities and users. CentralNotice can target announcements by country, language, project, device and logged-in status.
This page contains information about the CentralNotice setup on the WMF's cluster. For developer information, or to learn how to install CentralNotice on your own wiki, please see Extension:CentralNotice on Mediawiki. For information about how to create and configure CentralNotice campaigns and banners, see Help:CentralNotice on Meta-Wiki.
=Deployment=
CentralNotice deployments are different from those of most other extensions, since changes merged to the master branch on Gerrit are not automatically included in the weekly train deploys.
Instead, branches for each weekly train deploy are created from the wmf_deploy branch, and those are deployed each week with the train.
Changes to wmf_deploy should be made in such a way that future merges from master are simple and conflict-free. New patches should always be created first on the master branch, and never directly on the wmf_deploy branch.
Since the beta cluster is synced to the master branch of CentralNotice (and of other codebases) and is set up similarly to production, it's an ideal place to smoke-test changes currently in master before deploying them.
==Train deploys==
To put changes out on the train, merge or cherry-pick them from master to wmf_deploy. To push out all changes that have accumulated in master since the last deploy, just merge master into wmf_deploy.
Since the train starts on Tuesday, it's often a good idea to do this on a Friday or a Monday, to keep wmf_deploy in sync with what is deployed on production.
To see what has accumulated on master and since the last time master was merged to wmf_deploy (other than translation updates) use this command:
git log --pretty=format:"%h%x09%s" --no-merges wmf_deploy..master | grep -v "Localisation updates"
(Note that changes that have already been cherry-picked to wmf_deploy will still show up in that log.)
==SWAT deploys==
Changes that need to be deployed urgently may be placed on a SWAT deploy. See that page for details on what changes may be placed on a SWAT deploy. To request a SAT deployment, edit the appropriate slot on the Deployments page.
CentralNotice changes to be deployed on a SWAT deploy should be cherry-picked from master to wmf_deploy. The Gerrit change for the merged wmf_deploy patch should be linked on the Deployments page.
When deploying on a SWAT deploy on Tuesday, Wednesday or Thursday, the change will likely be required for both Mediawiki versions currently on production on that day; this should be noted in the request on the Deployments page. For details on what's on production, see the Roadmap for the current Mediawiki version. (The preceding link is only for Mediawiki 1.35.)
Chart renderer

A stateless microservice that renders charts as SVGs with Apache eCharts, used by mw:Extension:Chart
== Production ==
=== Deployments ===
To deploy: Kubernetes/Deployments using the helmfile.d/services/chart-renderer subtree of deployment-charts repo.
=== Logging ===
ECS logs emitted to Logstash: https://logstash.wikimedia.org/goto/4f3d66af7f177fc3ed5330a0e4531af5
=== Metrics ===
https://grafana.wikimedia.org/d/f10cba3c-086c-49b2-bb04-65d70b39969a/charts-high-level?orgId=1
and
https://grafana.wikimedia.org/d/a8d73414-80d1-4965-9346-170eecaa04d6/chart-renderer-service?orgId=1
=== Alerting ===
Defined in the Puppet service catalog, a simple blackbox probe against /_info:
 chart-renderer:
 description: Stateless microservice that renders charts as SVGs with Apache eCharts, used by https://www.mediawiki.org/wiki/Extension:Chart
 encryption: true
 ip: *k8s-ingress-wikikube_ips
 page: true
 probes:
 - type: http
 path: /_info
 timeout: 10s
== Beta ==
=== Instance details ===
* Instance * 2 cores, 4 GB ram
* Security group - allow port 6284
The instance has docker installed with role::beta::docker_services
Instance configuration needs to be done in horizon. Changes are recorded (read-only) in the cloud/instance-puppet gerrit repo:
https://gerrit.wikimedia.org/r/plugins/gitiles/cloud/instance-puppet/+/refs/heads/master/deployment-prep
=== Access ===
To access the instance
ssh deployment-docker-charts01.deployment-prep.eqiad1.wikimedia.cloud
=== Service health ===
To check health of the service:
curl 'http://0.0.0.0:6284/healthz'
From other instances in deployment-prep:
curl 'http://deployment-docker-charts01.deployment-prep.eqiad1.wikimedia.cloud:6284/healthz'
Check if the container is running:
sudo docker ps
=== Troubleshooting ===
sudo journalctl --unit=mediawiki-services-chart-renderer | tail -n 1000
sudo docker run -it --entrypoint /bin/bash docker-registry.wikimedia.org/repos/mediawiki/services/chart-renderer:latest
== Links ==
* https://phabricator.wikimedia.org/project/profile/7224/
* https://gitlab.wikimedia.org/repos/mediawiki/services/chart-renderer 
* https://gerrit.wikimedia.org/r/q/project:mediawiki/extensions/Chart
* mw:Extension:Chart