Catalyst/Updates/2024-10-04
Appearance
< Catalyst
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
- Finished phab:T371828 Create plan and documentation for horizontally scaling Catalyst k3s resources
- Finished phab:T373803 Move "Don't see your environment?" message to the "Previously generated wikis" section
- Fixed phab:T375924 creating an environment with no extensions, skins, or modules renders patchdemo in a wedged/non-functional state
- Finished phab:T375236 [Refactor] [ci-charts] environments share and link to a "repository pool" to save space
- this saves us on up to 4GB of disk space per environment
- Progress phab:T372900 User can see install progress when installing a k8s-environment
- This has vexed us for a bit because there is/was a timing component to when the Catalyst API would allow you to stream logs (i.e. the pod that to be running). This meant that patchdemo had to divine when it would be safe to stream the results. What was worse is that, except when the pod was ready to stream logs, it's response would not be text/event-stream which would cause the PHP http clients to throw and exception. We're still working on smoothing out this integration.
- Any new metrics related to the hypothesis
- no
- Any emerging blockers or risks
- risk: Risk: new engineers using Apple silicon (e.g. M1, et. al.) rolling on the team are having a difficult time being able to become effective quickly because their device can't run container images created for x64 and cannot run a full-featured kubernetes locally.
- phab:T375984 is a potential soltution using Skaffold, an open source project by Google, to define, deploy, and sync development environments
- we've done some experimenting with Skaffold this week, but are deprioritizing the work until we have launched beta
- risk: we are down one engineer until mid October
- risk: Risk: new engineers using Apple silicon (e.g. M1, et. al.) rolling on the team are having a difficult time being able to become effective quickly because their device can't run container images created for x64 and cannot run a full-featured kubernetes locally.
- 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?
- we are meant to start work on getting Wikifunctions environments up and running on Catalyst
- but our main priority is to get to beta launch first
- we are meant to start work on getting Wikifunctions environments up and running on Catalyst
- Have there been any new lessons from the hypothesis?
- no
- Have there been any changes to the hypothesis scope or timeline?
- no