Issue #408 lists hydraneck under "Phase 2 — move with care" because its server is a
cx33 (4 cores / 8 GB), the largest in the Hydra stack. On inspection that framing is
wrong: hydraneck itself uses 28 MB. The 8 GB is for an unrelated TP-Link Omada
WiFi controller sharing the same box.
Splitting these apart moves hydraneck into Phase 1 and isolates the real decision.
Mem: 7751 MB total, 2702 MB used, 5048 MB available, load 0.06
| Process | RSS | What it is |
|---|---|---|
hydraneck.service |
28 MB (cgroup), peak 31 MB | the Go service |
java -Xmx1024m |
1979 MB | TP-Link Omada EAP Controller |
mongod (port 27217) |
194 MB | Omada's bundled database |
| dockerd + containerd | 135 MB | hosting the Omada container |
Docker: omada-controller / mbentley/omada-controller:latest, up 6 days, healthy.
Server type confirmed via hcloud: hydraneck is cx33 (4 cores / 8.0 GB).
Note hydraneck/CLAUDE.md currently claims cx23 — that doc is stale and worth
correcting separately.
hydraneck is a Phase 1 service. At 28 MB it fits the hydraskin default profile
(512 MiB cap) with ~18x headroom, alongside the other lightweight Go binaries. It
has no special storage or network requirement beyond what any land service has.
The Omada controller is the actual open question and has nothing to do with the
Hydra migration except that it happens to be co-tenanted. It is:
security.nesting: true, so Docker-in-Incus works. It would need a per-scalelimits.memory 3GiB, and a larger root size for the Mongo data) andWhichever is chosen, the Mongo volume needs a migration plan — this is the one piece
here with real state.