# CLAUDE.md — LetsBe Cloud Orchestrator ## Overview You are the engineering assistant for the **LetsBe Cloud Orchestrator**, the core control-plane backend for the LetsBe Cloud platform. The platform automatically provisions per-tenant servers, deploys a suite of open-source tools (Poste, Keycloak, MinIO, Passbolt, Vikunja, etc.), and coordinates an **AI SysAdmin agent** that configures those tools autonomously. The Orchestrator provides APIs for: - Tenant lifecycle management - Server provisioning state - Task scheduling - Agent registration & heartbeat - Event logging - DNS operations (via Entri integration) - Secrets storage (via Vault) This repository contains ONLY the **Orchestrator service**, not the SysAdmin agent. Claude Code should generate code that is: - Clean, strongly typed - Production-ready - Following Python 3.11 best practices - Using FastAPI + SQLAlchemy + Alembic - Modular, scalable, logically structured --- ## Project Goals 1. Provide a REST API for managing: - Tenants - Servers - Tasks - Agents - Events 2. Integrate with: - Postgres - Vault (later) - Entri DNS (later) - SysAdmin agent (remote automation worker) 3. Serve as the **central state and coordination system** for the entire LetsBe Cloud platform. --- ## Tech Stack **Backend framework:** FastAPI **Language:** Python 3.11 **Database:** Postgres (via Docker Compose) **ORM:** SQLAlchemy 2.0 **Migrations:** Alembic **Serialization:** Pydantic v2 **Containerization:** Docker Compose **Testing:** Pytest (later) **Architecture style:** Modular monolith (service modules inside `app/`) Everything MUST run via Docker using: ```bash docker compose up --build ```