8f913ddf9b
P2.2-P2.9, P3.2-P3.10, P4.1-P4.3: Complete Phases 2, 3, and 4
...
11 work units built in parallel and merged:
Agent handlers (Phase 2):
- P2.2 Deploy: pull images, stop/remove/run containers, update registry
- P2.3 Lifecycle: stop/start/restart with desired_state tracking
- P2.4 Status: list (registry), live check (runtime), get status (drift+events)
- P2.5 Sync: receive desired state, reconcile unmanaged containers
- P2.6 File transfer: push/pull scoped to /srv/<service>/, path validation
- P2.7 Adopt: match <service>-* containers, derive component names
- P2.8 Monitor: continuous watch loop, drift/flap alerting, event pruning
- P2.9 Snapshot: VACUUM INTO database backup command
CLI commands (Phase 3):
- P3.2 Login, P3.3 Deploy, P3.4 Stop/Start/Restart
- P3.5 List/Ps/Status, P3.6 Sync, P3.7 Adopt
- P3.8 Service show/edit/export, P3.9 Push/Pull, P3.10 Node list/add/remove
Deployment artifacts (Phase 4):
- Systemd units (agent service + backup timer)
- Example configs (CLI + agent)
- Install script (idempotent)
All packages: build, vet, lint (0 issues), test (all pass).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 12:21:18 -07:00
53535f1e96
P2.1 + P3.1: Agent skeleton and CLI skeleton
...
Agent (P2.1): Agent struct with registry DB, runtime, and logger.
gRPC server with TLS 1.3 and MCIAS auth interceptor. Graceful
shutdown on SIGINT/SIGTERM. All RPCs return Unimplemented until
handlers are built in P2.2-P2.9.
CLI (P3.1): Full command tree with all 15 subcommands as stubs
(login, deploy, stop, start, restart, list, ps, status, sync,
adopt, service show/edit/export, push, pull, node list/add/remove).
gRPC dial helper with TLS, CA cert, and bearer token attachment.
Both gates for parallel Phase 2+3 work are now open.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 11:51:03 -07:00
15b8823810
P1.2-P1.5: Complete Phase 1 core libraries
...
Four packages built in parallel:
- P1.2 runtime: Container runtime abstraction with podman implementation.
Interface (Pull/Run/Stop/Remove/Inspect/List), ContainerSpec/ContainerInfo
types, CLI arg building, version extraction from image tags. 2 tests.
- P1.3 servicedef: TOML service definition file parsing. Load/Write/LoadAll,
validation (required fields, unique component names), proto conversion.
5 tests.
- P1.4 config: CLI and agent config loading from TOML. Duration type for
time fields, env var overrides (MCP_*/MCP_AGENT_*), required field
validation, sensible defaults. 7 tests.
- P1.5 auth: MCIAS integration. Token validator with 30s SHA-256 cache,
gRPC unary interceptor (admin role enforcement, audit logging),
Login/LoadToken/SaveToken for CLI. 9 tests.
All packages pass build, vet, lint, and test.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 11:36:12 -07:00
6122123064
P1.1: Registry package with full CRUD and tests
...
SQLite schema (services, components, ports, volumes, cmd, events),
migrations, and complete CRUD operations. 7 tests covering:
idempotent migration, service CRUD, duplicate name rejection,
component CRUD with ports/volumes/cmd, composite PK enforcement,
cascade delete, and event insert/query/count/prune.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 11:18:35 -07:00