Commit Graph

4 Commits

Author SHA1 Message Date
roof 10ac15d9fe docs: Phase 7 — update docs to reflect optional services migration
Email, calendar, and files are now optional store services, not always-on
builtins. Updated README, QUICKSTART, Wiki, and service-developer-guide to
reflect: dynamic nav, optional service install flow, correct egress
identifiers (wireguard_ext/default vs wireguard/cell_internet), removed
builtin/store distinction from manifest reference, 7 core containers.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-29 17:10:48 -04:00
roof dc7b316cbd docs: correct Step 7 developer guide to match Steps 3-6 implementation
Unit Tests / test (push) Failing after 11s
Steps 3-6 were implemented since this doc was last written. Several
technical details had drifted from the actual code:

- Provision response shape was shown as echoing the password; corrected
  to {provisioned: true} to match the security model (passwords are
  never returned after creation)
- Restore command flag corrected from -C / to -C <path>; archives use
  relative paths so the extraction target must be explicit
- Added ServiceRegistry validation chokepoint note: subdomain and
  backend are validated at registration time, before Caddyfile
  generation, not at request time
- Added Admin UI note: Accounts tab appears on service pages
- Added -- separator security note for backup command construction

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-29 03:10:43 -04:00
roof 3a35cf72d3 Fix CI failures on root — mock OSError instead of relying on filesystem
Tests assumed write to /nonexistent/... fails, but CI runs as root where
Linux allows creating any path. Use unittest.mock.patch on builtins.open
with OSError side_effect so the test is environment-independent.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-10 06:19:24 -04:00
Cloud bb6ccfe023 wip: wireguard 2025-09-14 03:31:14 -05:00