Background
Striker (the software that runs Toolsadmin) handles the OAuth processes required to enable the creation and management of Toolforge user accounts. Implementing those complex flows on a new Toolforge UI web platform would be non-trivial. We must develop a long-term strategy to make available these and the rest of the scoped Toolforge UI features conveniently to users.
Goals
The Toolforge UI team should conduct an investigation to reveal the advantages and disadvantages of the following potential approaches:
On the architectural side:
- Keep striker in production and extend it's functionality: Striker could remain deployed in prod as it currently is, instead of moving it to the Toolforge Kubernetes cluster.
- Split striker in two, an "old version" with limited functionality running in production handling the prod-related flows, and a "new version" running in the Toolforge Kubernetes cluster handling the rest of the UI flows, forcing users to navigate between both when needed. The assumption (which could be validated with users once the flow is clearer) is that this solution could negatively impact the flow of tool owners.
- Split striker in two, an API with limited functionality running in production handling the prod-related flows (ex. striker-api), and a UI running in the Toolforge Kubernetes cluster handling all the UI flows (so users don't have to jump between sites, ex. striker-ui).
On the design side, if we decide to split striker:
- Reuse the current stack for the Toolforge Kubernetes cluster side of the split
- Start a new codebase for the Toolforge Kubernetes cluster side of the split (probably makes sense only in case that the UI flows are very different from what's currently implemented)
This last investigation should estimate the flexibility of the existing codebase and the feasibility of using modern front-end frameworks (Vue.js) with it. (See previous exploration for reference: T380114: Striker should use Codex, available on https://toolsadmin-toolsbeta.wikimedia.org/.)
Acceptance criteria
- We obtain enough information to support a long term decision and define any needed intermediate steps needed to integrate Striker functionality in Toolforge UI