chore(modules): declare the UO module for the UOMysticmoon instance #149
Reference in New Issue
Block a user
No description provided.
Delete Branch "chore/declare-uo-module-for-uomm"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Cutover prep. Lands on
edgeso theedge→maincutover carries it.Why
The cutover puts a game-agnostic core on
main, so the image UOMysticmoon deploys stops carrying any UO code of its own. Everything that instance is actually for — the shard pages, the player's characters, vendors and houses, Admin → Shard, and the uo-link connection itself — arrives asRunicGateway/Module-uoor does not arrive at all.Declaring it in the tenant template (rather than leaving it to Admin → Modules) is decision 2 of the cutover: a compose host should arrive at its own module set at boot, and this instance has a shard to be down for. The panel path would leave the site game-less between the image roll and someone clicking install.
What
One block in
.env.uomysticmoon.example, beside the other values that pin this instance to production:plus a commented note that
UOLINK_*are defaults only — an instance that has already saved Admin → Shard keeps its encrypteduo_link_configrow across the extraction, because the module's schema fragment isCREATE TABLE IF NOT EXISTS.No new machinery.
MODULESand its no-op-without-network behaviour shipped in phase 4 slice 3;MODULE_SOURCE_HOSTSalready defaults to the host this URL names; core's.env.exampledocuments the variable and deliberately leaves it commented. Only the tenant template is opinionated, which is exactly the split the module system exists to make.Verified rather than assumed
200, valid content,sha256present. The production container has no Gitea credentials, so this is the thing that had to be checked, and the tarball is anonymous too.coreApiis^1.3.0, satisfied by core'sMODULE_API_VERSION1.5.0.installed, andlifecycle.boot()only skips a module whose row is explicitlydisabled— so a first boot with this declared starts the module, with no manual Enable.What this does NOT do
It does not touch the live host. The deploy
.envon the production host needs the same line added by hand at the deploy — that file is not in this repo and I cannot reach it.Risk
Documentation-only in effect: no code, no schema, no route change.
.env.uomysticmoon.exampleis a template nothing reads at runtime.🤖 AI-assisted: written with Claude Code (Claude Opus 5).