Page MenuHomePhabricator

Fix Example a.k.a. Separation of code, config and data
Closed, ResolvedPublicSpike

Description

Current Situation:

  • Currently, the WBS docker setup is mixing code, configuration and data so that backups and upgrading is complicated and error prone.
  • There is a shared volume between wikibase instance and job_runner instance.
    • Does this contain code?
    • How is this code updated during upgrades?
    • Does this contain configuration as well?
  • It might be not clear where a WBS instance stores all its data.
    • How many databases are there?
    • In which docker volumes?
    • Are they all in volumes?
  • It is unclear how to configure the instance.
    • What values are configured already?
    • How to overwrite those?
    • How is config taken from one version to another?
  • It is unclear how customization such as skins, extensions, even a custom logo are supposed to be integrated.

Goal:

  • Data, Config and Code are clearly separated.
  • Code is immutable.
  • Users can reason about
    • How to configure (LocalSettings)
    • How to manage and backup data (docker volumes)
    • How to upgrade code (docker images)
    • How to customize (skins, extensions, logo)

Acceptance Criteria:

  • Data is completely stored in docker volumes - but nothing else
  • It is clear what can be configured by the users and how this configuration overwrites the stock config
  • It is clear how configuration is taken from version to version during upgrades
  • It is clear how data is taken from version to version during upgrades
  • It is clear how to backup and restore data
  • It is documented both in code and as external documentation

[optional] Notes:

  • This will need splitting into smaller sub tasks

[optional] Open Questions:

  • none

Event Timeline

This comment was removed by roti_WMDE.
Restricted Application changed the subtype of this task from "Task" to "Spike". · View Herald TranscriptFeb 5 2024, 12:31 PM
lojo_wmde changed the task status from Open to In Progress.Mar 14 2024, 11:50 AM
lojo_wmde claimed this task.
darthmon_wmde renamed this task from Separation of code, config and data to Fix Example a.k.a. Separation of code, config and data.Apr 10 2024, 12:43 PM
lojo_wmde changed the status of subtask T362226: Document the Example from Open to In Progress.May 8 2024, 8:02 AM
roti_WMDE reopened this task as In Progress.
roti_WMDE moved this task from In Review to Done on the Wikibase Suite Team (Sprint-∞) board.
roti_WMDE moved this task from Done to In Review on the Wikibase Suite Team (Sprint-∞) board.