ops: add channel inventory and metinctl

This commit is contained in:
server
2026-04-14 13:14:37 +02:00
parent 69066cc428
commit 78518daed0
10 changed files with 674 additions and 52 deletions

View File

@@ -18,7 +18,11 @@ python3 deploy/systemd/install_systemd.py \
--restart
```
`--channel-limit 1` is also supported and will auto-include channel `99` when present in `channels.py`.
`--channel-limit 1` is also supported and will auto-include channel `99` when present in the channel inventory.
The channel selection and port layout now come from the versioned inventory file:
- [deploy/channel-inventory.json](../channel-inventory.json)
## What it installs
@@ -29,9 +33,12 @@ python3 deploy/systemd/install_systemd.py \
- `metin-game@.service`
- `/usr/local/libexec/metin-game-instance-start`
- `/usr/local/libexec/metin-wait-port`
- `/usr/local/bin/metinctl`
The `metin-db-ready.service` gate waits until the DB socket is actually accepting connections before `auth` and `game` units start.
The installer also reconciles enabled `metin-game@...` instances against the selected channel set so stale units do not stay enabled forever.
## Optional Environment File
The runtime units support an optional `EnvironmentFile` for host-local overrides: