Commit Graph

5 Commits

Author SHA1 Message Date
pluto fe76ca7456 fix: agent Dockerfile package structure and Dead container crash
- Dockerfile: COPY to /app/agent/ and use agent.main:app for proper
  package imports
- docker_ops: use low-level API in get_health() to avoid NotFound on
  containers stuck in Docker Dead state
- Add comprehensive README with architecture, API docs, and usage

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 22:48:20 -06:00
pluto 9af81e3001 feat(agent): Dockerfile for node agent
Python 3.12-slim based image running uvicorn on port 8889. Includes
curl for container health checks.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 18:59:58 -06:00
pluto 6dd1a61687 feat(agent): FastAPI endpoints for container management (TDD)
Add agent/main.py with REST endpoints wrapping DockerOps: health, list
containers, start/stop/restart, logs, and pull. DockerOps instantiation
handles missing Docker socket gracefully for test environments.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 18:59:50 -06:00
pluto 8b3e2e5067 feat(agent): Docker operations with Swarm/Compose detection (TDD)
Add DockerOps class wrapping the Docker SDK with methods for listing,
starting, stopping, restarting containers, fetching logs, and pulling
images.  Swarm containers are detected via labels and receive special
handling (scale/force-update instead of direct container ops).
Includes 16 passing tests using mocked Docker client.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 18:57:48 -06:00
pluto fdfb9edfb0 feat: project scaffold with models, config, and test fixtures
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 18:52:39 -06:00