Files
corrosion-admin-panel/docs/reference-repos/adainrivers/release-notes/0.3.8.md
Vantz Stockwell 651a35d4be
All checks were successful
CI / backend-types (push) Successful in 10s
CI / frontend-build (push) Successful in 15s
CI / agent-tests (push) Successful in 39s
CI / integration (push) Successful in 22s
docs(reference): import Dune: Awakening server-manager references
Phase 2 references for the host-agent Dune adapter, moved out of volatile /tmp
into docs/reference-repos/ (per Commander). Three upstream projects, .git +
node_modules + compiled binaries stripped (16MB source). Nested AI-instruction
files (.claude/, CLAUDE.md) removed so they don't pollute Corrosion sessions.

- icehunter/    dune-admin (Go+React) — 4 control planes; SETUP_DOCKER.md is the
                closest analog to our agent's Dune docker control plane (compose
                lifecycle, docker logs, RabbitMQ-via-exec, dune Postgres schema)
- adainrivers/  Rust/Tauri desktop — SSH+k8s BattleGroup control, maintenance
                daemon, in-game admin console (Rust idiom reference)
- the4rchangel/ Node web UI replacing battlegroup.bat — matches the Commander's
                Hyper-V self-host path + game-config schema

See docs/reference-repos/README.md for the full index + how we use each.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-11 21:08:05 -04:00

1.8 KiB

Two reported issues against v0.3.7 — both fixed.

Reinstall step

After updating the desktop app, click Install / Update on the Management Service card so the refreshed on-host service binary is pushed.

Fixed

  • Install management service failed with install: No such file or directory when SSH'ing in as root on Ubuntu 24.04+. Root cause: the install-init and write-token steps piped base64-decoded content into sudo install /dev/stdin <dest>, and sudoers' Defaults use_pty (default on noble) allocates a pty for the child process which severs the upstream pipe. The same flow worked when SSH'ing as dune because that account's sudoers entry bypasses use_pty. Both steps now stage their payload to a real temp file via mktemp first, then sudo install <tmp> <dest>, sidestepping the pty entirely.
  • Director tunnel button grayed out even on a fully running BattleGroup. We were parsing the vendor wrapper's battlegroup status text table for phase information, but newer Funcom operator builds changed the row vocabulary (the "Status" column now shows the partial world name, "Director" shows an N/M ready ratio, "Uptime" shows a Healthy / Unhealthy word instead of a duration). None of those values matched our phase allowlist, so the UI thought the BattleGroup was not started. We now read phase / serverGroupPhase / directorPhase / databasePhase / uptime / per-server stats directly from the BattleGroup CR's status object via kubectl get battlegroup ... -o json, which is the stable Kubernetes schema and immune to future wrapper text format changes.

Changed

  • Server status reads no longer go through the vendor wrapper. Start, stop, restart, and update lifecycle actions still use the wrapper (where it's the source of truth for orchestration).