homelab-codex-ws/services/control-plane
oskar 89f75c34b0 fix(observer): make world/resolve-requests/ group-writable
world/resolve-requests/ was created via plain mkdir (0o755, masked by
umask), so the SSH operator (group aerbot) could not drop a resolve
flag there — the manual incident-resolve path required docker exec,
defeating its "operator drops a file" design.

Same defect and fix as executor.py's INBOX_DIR_MODE (2026-08-06): an
explicit, idempotent os.chmod(0o775) after mkdir, applied at the same
site the directory is created/used.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VMn76yx2CNuHKFVMrYcKWA
2026-08-27 14:43:49 +02:00
..
src fix(control-plane): unique container_restart action_id, no more history overwrite 2026-08-26 22:23:07 +02:00
tests fix(observer): make world/resolve-requests/ group-writable 2026-08-27 14:43:49 +02:00
deploy-local.sh fix(deploy): skip sudo chown/chmod when /opt/homelab ownership is already correct 2026-06-03 15:44:44 +02:00
docker-compose.yml fix(kb): 13 pozostalych odwolan do sciezek sprzed migracji 2026-08-04 17:02:12 +02:00
Dockerfile fix(control-plane): run executor as uid 1000 with docker group access 2026-06-03 18:19:58 +02:00
env.example chore(vps): remove gokapi (operator decision 2026-08-26) 2026-08-26 22:23:10 +02:00
pyproject.toml feat(control-plane): route ha-diag-agent events through supervisor 2026-05-29 15:59:23 +02:00
README.md fix(kb): README-wskazniki dla services i hosts + wyjatek ken-legacy 2026-08-04 16:58:46 +02:00

control-plane

Observer + Supervisor + Executor + Operator UI na VPS — synteza world state z eventow i dyspozycja akcji.

Dokumentacja: kb/services/control-plane.md