Matt
5aa761e8aa
feat: add secure token-based agent registration and multi-tenant isolation
...
- Add RegistrationToken model for secure agent registration
- Add secret_hash field to Agent model (SHA-256 hashed credentials)
- Create admin auth dependency for protected endpoints
- Create agent auth dependency with X-Agent-Id/X-Agent-Secret headers
- Add backward compatibility with legacy Bearer token auth
- Add registration token CRUD endpoints under /tenants/{id}/registration-tokens
- Update agent registration to use registration tokens
- Add authentication to task endpoints with tenant isolation
- Add comprehensive tests for auth and registration flows
Breaking changes:
- /tasks/next no longer accepts agent_id query param (uses auth headers)
- PATCH /tasks/{id} now requires authentication
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-07 11:11:32 +01:00
Matt
0975d208ef
feat: add tenant_id to agent registration and task filtering
...
- Add tenant_id field to AgentRegisterRequest schema
- Validate tenant exists during agent registration (returns 404 if not found)
- Update /tasks/next to filter tasks by agent's tenant_id
- Tenant-specific agents only see their tenant's tasks
- Shared agents (no tenant_id) can still claim any task
- Add ROADMAP.md tracking project progress
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 20:09:58 +01:00
Matt
f40c5fcc69
Add ENV and FILE management APIs with tests
...
Features:
- POST /api/v1/agents/{agent_id}/env/inspect - Create ENV_INSPECT tasks
- POST /api/v1/agents/{agent_id}/env/update - Create ENV_UPDATE tasks
- POST /api/v1/agents/{agent_id}/files/inspect - Create FILE_INSPECT tasks
Changes:
- Add EnvInspectRequest, EnvUpdateRequest, FileInspectRequest schemas
- Add env and files route modules
- Fix JSONB to use JSON variant for SQLite test compatibility
- Add pytest, pytest-asyncio, aiosqlite for testing
- Add tests for all new endpoints (17 tests passing)
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 00:30:37 +01:00
Matt
21364221c8
Initial commit: LetsBe Cloud Orchestrator
...
Features:
- FastAPI backend with SQLAlchemy 2.0 async ORM
- Tenant management (CRUD operations)
- Task management with types: FILE_WRITE, ENV_UPDATE, DOCKER_RELOAD, COMPOSITE
- Agent registration, heartbeat, and task claiming (/tasks/next)
- Chatwoot deployment playbook (COMPOSITE task with ENV_UPDATE + DOCKER_RELOAD)
- Alembic migrations for Postgres
- Docker Compose setup for local development
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 11:02:31 +01:00