Initial commit — SvelteKit fleet manager for T5 Plutonium servers
Ports push_scripts.sh (1497 lines of bash) to a SvelteKit + SQLite web app that manages a fleet of T5 Plutonium servers running on Komodo. Same push and beta workflow as the shell script, with a live SSE pipeline view, a !rt-token-gated auth modal that hard-pauses deployments on stale tokens, per-file audit diffs, and a Komodo-container deployment target. - Push/beta engines port the exact filter, held-by-beta, conflict, and stale-backup rules from the shell script - SQLite (better-sqlite3) replaces script_metadata.json; a one-shot importer moves legacy state over on first boot - 16 vitest tests cover push add/update/skip, beta open→rollback, open→promote, conflict guards, sweep frozen/manual branches, and IW4M login/status parsing - docker/ + komodo/stack.toml deploy as a managed container on the same host as the game servers, /root/zombies bind-mounted at the same path the shell script used
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
# Komodo stack definition. Deploys electric-cherry as a managed container on
|
||||
# the same host running the T5 Plutonium servers. Mounts /root/zombies so the
|
||||
# app can push scripts to the same paths push_scripts.sh used, and dedicates
|
||||
# a small subdir for its SQLite state.
|
||||
|
||||
[[stack]]
|
||||
name = "electric-cherry"
|
||||
|
||||
[stack.services.web]
|
||||
image = "electric-cherry:latest"
|
||||
restart = "unless-stopped"
|
||||
ports = ["3000:3000"]
|
||||
|
||||
volumes = [
|
||||
"/root/zombies:/root/zombies:rw",
|
||||
"/root/zombies/.electric-cherry:/data:rw"
|
||||
]
|
||||
|
||||
[stack.services.web.env]
|
||||
SHARED_SCRIPTS = "/root/zombies/shared/scripts"
|
||||
SERVERS_ROOT = "/root/zombies/t5"
|
||||
REL_DEST = "runtime/plutonium/storage/t5/raw/scripts/sp"
|
||||
DB_PATH = "/data/cherry.db"
|
||||
LEGACY_METADATA = "/root/zombies/script_metadata.json"
|
||||
DEPLOY_KEEP_DAYS = "7"
|
||||
|
||||
# secrets: bind via Komodo's env-file or secret store
|
||||
KOMODO_ADDRESS = "https://komodo.example.internal"
|
||||
KOMODO_API_KEY = ""
|
||||
KOMODO_API_SECRET = ""
|
||||
IW4M_ADDRESS = "http://iw4m.example.internal"
|
||||
IW4M_CLIENT_ID = ""
|
||||
Reference in New Issue
Block a user