Some checks failed
Invert the agent model: the agent IS the computer. The message pump becomes the kernel, handlers are sandboxed apps, and all access is mediated by the platform. Phase 1 — Container foundation: - Multi-stage Dockerfile (python:3.12-slim, non-root user, /data volume) - deploy/entrypoint.py with --dry-run config validation - docker-compose.yml (cap_drop ALL, read_only, no-new-privileges) - docker-compose.dev.yml overlay for development - CI Docker build smoke test Phase 2 — Security hardening: - xml_pipeline/security/ module with default-deny container mode - Permission gate: per-listener tool allowlist enforcement - Network policy: egress control (only declared LLM backend domains) - Shell tool: disabled in container mode - File tool: restricted to /data and /config in container mode - Fetch tool: integrates network egress policy - Config loader: parses security and network YAML sections Phase 3 — Management plane: - Agent app (port 8080): minimal /health, /inject, /ws only - Management app (port 9090): full API, audit log, dashboard - SQLite-backed audit log for tool invocations and security events - Static web dashboard (no framework, WebSocket-driven) - CLI --split flag for dual-port serving All 439 existing tests pass with zero regressions. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
36 lines
865 B
YAML
36 lines
865 B
YAML
# AgentOS development overlay
|
|
#
|
|
# Usage:
|
|
# docker compose -f deploy/docker-compose.yml -f deploy/docker-compose.dev.yml up
|
|
#
|
|
# Mounts source code for hot-reload, relaxes security for development.
|
|
|
|
services:
|
|
organism:
|
|
build:
|
|
context: ..
|
|
dockerfile: Dockerfile
|
|
|
|
environment:
|
|
- ORGANISM_MODE=development
|
|
- AGENT_PORT=8080
|
|
- MANAGEMENT_PORT=9090
|
|
|
|
volumes:
|
|
# Mount source for development iteration
|
|
- ../xml_pipeline:/app/xml_pipeline:ro
|
|
- ../handlers:/app/handlers:ro
|
|
- ../third_party:/app/third_party:ro
|
|
- ../examples:/app/examples:ro
|
|
- ../config:/config:ro
|
|
- ../dashboard:/app/dashboard:ro
|
|
- organism-data:/data
|
|
|
|
# Relax security for development
|
|
read_only: false
|
|
security_opt: []
|
|
cap_drop: []
|
|
|
|
# No resource limits in dev
|
|
deploy:
|
|
resources: {}
|