Expose a guarded Eco mod install and restart path #749

Open
opened 2026-08-04 23:04:23 +00:00 by coilyco-ops · 0 comments
Member

Outcome

Provide an ops-authorized, auditable path to inspect, install, update, roll back, and restart native Eco server mods without bypassing AOSguard.

Evidence

  • EcoReplay is built and published by eco-app CI, but it is not installed on the live Eco server.
  • The expected replay event and stats paths return the Eco World HTML shell instead of the mod's JSON contract.
  • eco-app detects that malformed upstream response and correctly returns a structured 503.
  • The current AOSguard surface has no Eco install, mod inventory, or restart action. Its Tailscale surface explicitly denies SSH.
  • The read-only node statistics surface does not allow inspection of the EcoReplay install.
  • Infrastructure runbooks still describe retired command spellings and scripts that are no longer present, so they cannot cross the current execution boundary.

Required operator surface

  • Inspect installed Eco mods and their versions without exposing secrets or save data.
  • Resolve an immutable mod artifact to its source commit and verify its digest.
  • Back up only the targeted installed mod before replacement.
  • Install or update one named mod with a dry-run or plan phase.
  • Restart the Eco service with bounded health checks and rollback.
  • Report the installed version, service state, and public endpoint contract.

Replay verification

  • Install the published EcoReplay artifact from eco-app source commit 0239532af8eaf15059a16e3be18dfbaee0d11f66.
  • Confirm the event and stats endpoints return the expected JSON objects.
  • Confirm eco-app's replay API returns 200 and the Replay page loads its data.
  • Confirm the new requests and status codes are visible in the Eco App Activity Console.
  • Roll back the mod and service if the endpoint contract or server health fails.

Ownership

Keep native-host convergence and guarded operator wiring in the infrastructure and AOSguard layers. Keep the mod artifact and API contract in eco-app.

## Outcome Provide an ops-authorized, auditable path to inspect, install, update, roll back, and restart native Eco server mods without bypassing AOSguard. ## Evidence * EcoReplay is built and published by eco-app CI, but it is not installed on the live Eco server. * The expected replay event and stats paths return the Eco World HTML shell instead of the mod's JSON contract. * eco-app detects that malformed upstream response and correctly returns a structured 503. * The current AOSguard surface has no Eco install, mod inventory, or restart action. Its Tailscale surface explicitly denies SSH. * The read-only node statistics surface does not allow inspection of the EcoReplay install. * Infrastructure runbooks still describe retired command spellings and scripts that are no longer present, so they cannot cross the current execution boundary. ## Required operator surface * Inspect installed Eco mods and their versions without exposing secrets or save data. * Resolve an immutable mod artifact to its source commit and verify its digest. * Back up only the targeted installed mod before replacement. * Install or update one named mod with a dry-run or plan phase. * Restart the Eco service with bounded health checks and rollback. * Report the installed version, service state, and public endpoint contract. ## Replay verification * Install the published EcoReplay artifact from eco-app source commit `0239532af8eaf15059a16e3be18dfbaee0d11f66`. * Confirm the event and stats endpoints return the expected JSON objects. * Confirm eco-app's replay API returns 200 and the Replay page loads its data. * Confirm the new requests and status codes are visible in the Eco App Activity Console. * Roll back the mod and service if the endpoint contract or server health fails. ## Ownership Keep native-host convergence and guarded operator wiring in the infrastructure and AOSguard layers. Keep the mod artifact and API contract in eco-app.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
coilyco-flight-deck/infrastructure#749
No description provided.