Page MenuHomePhabricator

[Explore] move provisioning scripts in Catalyst's mediawiki helm chart
Open, Needs TriagePublic3 Estimated Story Points

Description

This is an exploration story pursuant to last planning meeting. The hypothesis is: the closer we can make the mediawiki/extensions/skin provisioning tooling in the chart resemble patchdemo's provisioning tooling, the easier it will be to implement/port the long tail of provisioning/configuring features from patchdemo to catalyst.

There are three two options for vendoring this script into initialisation containers:

  • create and publish a new image with the scripts copied in via blubber or docker build
    • (+)this is similar to what mediawiki does for it's local development docker environments
    • (-) we do not recommend this approach, as it will make the feedback loop longer (i.e. you'll have to recreate the image any time the tooling changes
  • have helm inject these scripts and then call them in init containers
    • (+) this allows the scripts to be includes as individual files (and thus can be tested individually)
    • (+) changing scripts only requires updates to the chart and not the underlying image
    • (-) injecting scripts through helm is a little awkward
    • (-) the scripts will not have access to {{.Values}}, so we'll need to figure out the best way to invoke these scripts with the proper configuration
  • make the scripts helm templates and include the rendered template in the init container

Technical hints/notes:

  • these scripts could be placed under a scripts folder in the helm chart
  • these scripts can then be injected with a ConfigMap and a mounted Volume in the init-container
    • see this stackoverflow answer
    • this conversation with ChatGPT
    • we might be able to inject relevant configuration back setting them in environment variable or as arguments when invoking the script
    • keep an eye on the goal of reusing the scripts in patchdemo

Details

TitleReferenceAuthorSource BranchDest Branch
Draft: showcase provisioning scripts as templates (Do not merge!)repos/qte/catalyst/ci-charts!12jnucheT365293-templatesmain
Draft: showcase provisioning scripts as bare scripts (Do not merge!)repos/qte/catalyst/ci-charts!11jnucheT365293-bare-scriptsmain
Customize query in GitLab

Event Timeline

@thcipriani a looming question the team has around this story is, what will it mean for there to be two ways to deploy mediawiki on patchdemo, especially if new features get put in the "legacy" back-end.

  • Will we need to actively coordinate with patchdemo maintainers to keep parity amongst extensions they both support?
    • or will we ask for a feature freeze on patchdemo to give catalyst a non-moving target to hit?
  • When (if ever?) will the catalyst team take over the production deployment of patchdemo?
  • When (if ever?) will the catalyst team take ownership of the patchdemo repo?

Do I remember right that you're scheduling a meeting with patchdemo folks to discuss this?

thcipriani renamed this task from [Refactor] move provisioning scripts in Catalyst's mediawiki helm chart to [Explore] move provisioning scripts in Catalyst's mediawiki helm chart.Mon, Jun 3, 4:40 PM
thcipriani set the point value for this task to 3.
thcipriani edited projects, added Catalyst (Acersecomicke 🐑); removed Catalyst.
thcipriani moved this task from Backlog to Ready on the Catalyst (Acersecomicke 🐑) board.
thcipriani reopened this task as Open.