Commit Graph

5 Commits

Author SHA1 Message Date
Matt 9e8c9931b4 feat: Add Poste.io and Chatwoot initial setup Playwright endpoints
Build and Push Docker Image / test (push) Successful in 47s Details
Build and Push Docker Image / build (push) Successful in 1m10s Details
- Add POST /tenants/{tenant_id}/poste/setup endpoint for Poste.io mail
  server initial setup via Playwright browser automation
- Add POST /tenants/{tenant_id}/chatwoot/initial-setup endpoint for
  Chatwoot super admin creation via Playwright
- Add health check functions for Poste.io and Chatwoot availability
- Add request models with email validation for both services
- Passwords auto-generated if not provided, returned in task result

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-09 14:51:00 +01:00
Matt a8c3a66c77 fix: correct Playwright payload structure for Nextcloud setup
Build and Push Docker Image / test (push) Failing after 38s Details
Build and Push Docker Image / build (push) Has been skipped Details
- Change scenario name from 'nextcloud.initial_setup' to 'nextcloud_initial_setup' (underscore format)
- Move allowed_domains from inputs to options (required by PlaywrightExecutor)
- Update tests to match new payload structure

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-08 22:23:18 +01:00
Matt 4bafefdfaf feat: add Nextcloud initial setup endpoint via Playwright
Build and Push Docker Image / test (push) Successful in 55s Details
Build and Push Docker Image / build (push) Successful in 1m16s Details
Add POST /api/v1/tenants/{tenant_id}/nextcloud/setup endpoint that:
- Creates a PLAYWRIGHT task for Nextcloud initial admin setup
- Validates tenant has domain configured
- Auto-resolves online agent for tenant
- Performs health check against Nextcloud before creating task
- Returns 409 if Nextcloud is unavailable

Changes:
- Add httpx for health checks
- Add build_nextcloud_initial_setup_step() and create_nextcloud_initial_setup_task()
- Add NextcloudInitialSetupRequest schema with username/password validation
- Add check_nextcloud_availability() helper for health checks
- Add comprehensive unit tests (42 tests total)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-08 20:20:31 +01:00
Matt 06f58ca18b feat: add Nextcloud set-domain playbook v2
Add endpoint POST /tenants/{tenant_id}/nextcloud/set-domain that creates
a COMPOSITE task with two steps:
1. NEXTCLOUD_SET_DOMAIN - configures Nextcloud domain via occ commands
2. DOCKER_RELOAD - restarts the Nextcloud stack

Features:
- Auto-resolves first online agent for tenant
- Configurable pull flag for image updates
- Full test coverage (unit + integration tests)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 14:04:21 +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