bytelyst-devops-tools/docs
Hermes VM c6ec1a06ea docs(dashboard): Phase 5 P1 — document privilege surface; gate /code-quality/check
Closes the final Phase 5 P1 checkbox and REVIEW_ACTIONS #6.

The backend container has root-equivalent host access via the docker
socket, host log mounts, and the VM scripts mount, but until now the
"who can do what to the host?" answer was scattered across compose
files and route handlers. This commit centralizes it.

DEPLOYMENT.md gains a "Privilege Surface" section that lists:

  - every host mount + container path + mode + purpose
  - every shell-outing route, the actual commands it runs, and the
    auth gate on each
  - what an admin token can do today (≈ host shell)
  - five known sharp edges (un-allow-listed container names, unvalidated
    projectPath, no per-route audit-log on shell-outs, container runs
    as root, global rate-limit only)
  - a P1 → P3 mitigation roadmap (allow-list wrapper around shell-outs,
    projectPath validation, audit-logging shell-outs, drop root in
    container, replace docker.sock with a verb-restricted proxy)

Concurrent code fix: `POST /code-quality/check` was reachable
**unauthenticated** despite shelling out to `npm run typecheck/lint/
build/test:run` in a caller-supplied `projectPath`. Added
`preHandler: requireAdmin` to bring it in line with every other
shell-outing route in the dashboard. Same commit because the
documentation table promises this gate exists.

REVIEW_ACTIONS #6 marked RESOLVED with the rationale; roadmap checkbox
ticked. Tests, typecheck, lint (0 errors), build, and coverage gate
(≥95% lines on every gated file) all stay green.

Generated with [Devin](https://cli.devin.ai/docs)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-05-30 07:05:51 +00:00
..
adr docs(docker): roadmap v8 — peakpulse Phase A done + A3 ADR-0001 accepted 2026-05-27 02:54:08 -07:00
prompts docs: add Hermes dashboard v2 roadmap + CI/E2E delegation brief 2026-05-30 05:26:49 +00:00
docker-build-optimization-roadmap.md docs(roadmap): record post-roadmap follow-ups complete (v15) 2026-05-28 18:07:36 -07:00
getting-started.md setup: handle managed python pre-commit installs 2026-05-05 03:26:55 +00:00
hermes_dashboard_roadmap.md Add Hermes snapshot diff view 2026-05-27 21:05:57 +00:00
hermes_dashboard_v2_roadmap.md docs(dashboard): Phase 5 P1 — document privilege surface; gate /code-quality/check 2026-05-30 07:05:51 +00:00
hermes-disaster-recovery.md Add Google Drive emergency bundle upload 2026-05-27 12:08:41 +00:00
hermes-operations.md Add Hermes snapshot diff view 2026-05-27 21:05:57 +00:00
hermes-setup-upgrade-roadmap.md Add Hermes dashboard improvement backlog 2026-05-27 21:02:23 +00:00
hostinger-vm-maintenance.md add HostingerVM health-check and cleanup scripts 2026-05-27 18:53:20 +00:00
llm-utility-workflows.md docs: document local LLM utility workflows 2026-05-28 00:21:06 +00:00
operations.md feat: add gitea backup timer assets 2026-05-27 18:53:20 +00:00
remove_user_interactive.md docs: align repo navigation and operations notes 2026-05-05 03:11:46 +00:00
repo-map.md docs(repo-map): register agent-queue tool directory 2026-05-28 21:35:59 -07:00
tooling-status.md Add safe templates and tooling adoption docs 2026-05-05 01:16:27 +00:00
VM_OBSERVABILITY_ROADMAP.md feat(vm): fix devops-backend VM module — Phase 0.1 complete 2026-05-27 21:13:45 +00:00
vm-exposure-inventory.md fix: bind DevOps dashboard ports to loopback 2026-05-27 21:55:46 +00:00
vm-security-blind-spots-roadmap.md fix: bind DevOps dashboard ports to loopback 2026-05-27 21:55:46 +00:00