- Dockerfile (uv-based) + docker-compose.yml (3 services) - CLI tool 'da' with commands: auth, sync, query, status, admin, diagnose, skills - Scheduler sidecar service (replaces systemd timers) - pyproject.toml for uv distribution - Built-in skills (setup, troubleshoot) for AI agents - 17 CLI tests, 75 total tests passing
31 lines
826 B
YAML
31 lines
826 B
YAML
services:
|
|
app:
|
|
build: .
|
|
command: uvicorn app.main:app --host 0.0.0.0 --port 8000
|
|
environment:
|
|
- DATA_DIR=/data
|
|
- JWT_SECRET_KEY=test-secret-for-ci
|
|
- TESTING=true
|
|
volumes:
|
|
- test-data:/data
|
|
healthcheck:
|
|
test: ["CMD", "python", "-c", "import httpx; r=httpx.get('http://localhost:8000/api/health'); exit(0 if r.status_code==200 else 1)"]
|
|
interval: 5s
|
|
timeout: 3s
|
|
retries: 10
|
|
|
|
test-runner:
|
|
build: .
|
|
command: python -m pytest tests/test_db.py tests/test_repositories.py tests/test_migration.py tests/test_api.py -v
|
|
environment:
|
|
- DATA_DIR=/data
|
|
- JWT_SECRET_KEY=test-secret-for-ci
|
|
- API_URL=http://app:8000
|
|
volumes:
|
|
- test-data:/data
|
|
depends_on:
|
|
app:
|
|
condition: service_healthy
|
|
|
|
volumes:
|
|
test-data:
|