merge: align dev branch with main
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
## 1. Infrastructure Setup
|
||||
|
||||
- [ ] 1.1 Add cloudflared service to docker-compose.traefik.yml
|
||||
- [ ] 1.2 Create cloudflared config directory and base config
|
||||
- [ ] 1.3 Add Cloudflare env vars (API token, account ID, zone ID) to .env.example
|
||||
- [ ] 1.4 Mount shared config volume between API and cloudflared containers
|
||||
|
||||
## 2. Backend - Cloudflare Tunnel Service
|
||||
|
||||
- [ ] 2.1 Create `src/services/cloudflare_tunnel.py` with tunnel CRUD operations
|
||||
- [ ] 2.2 Implement `create_tunnel(instance_name, container_name, port)` function
|
||||
- [ ] 2.3 Implement `delete_tunnel(tunnel_id)` function
|
||||
- [ ] 2.4 Implement `update_cloudflared_config()` to rewrite config.yml
|
||||
- [ ] 2.5 Add Cloudflare API token validation on startup
|
||||
|
||||
## 3. Backend - Instance Lifecycle Updates
|
||||
|
||||
- [ ] 3.1 Update ToolInstance model: add `tunnel_id` and `public_url` fields
|
||||
- [ ] 3.2 Create Alembic migration for new fields
|
||||
- [ ] 3.3 Update `start_instance` to create tunnel and store public_url
|
||||
- [ ] 3.4 Update `stop_instance` to delete tunnel and DNS record
|
||||
- [ ] 3.5 Update `delete_instance` to ensure tunnel cleanup
|
||||
- [ ] 3.6 Update `get_user_sessions` to include `public_url`
|
||||
|
||||
## 4. Backend - Cleanup
|
||||
|
||||
- [ ] 4.1 Remove `instance_proxy.py` router
|
||||
- [ ] 4.2 Remove proxy route registration from `main.py`
|
||||
- [ ] 4.3 Remove `default_port` from ToolType (no longer needed)
|
||||
- [ ] 4.4 Clean up any proxy-related code
|
||||
|
||||
## 5. Frontend Updates
|
||||
|
||||
- [ ] 5.1 Update Session interface to include `public_url`
|
||||
- [ ] 5.2 Update InstanceList "Open" button to use `public_url`
|
||||
- [ ] 5.3 Update SessionsPage "Open" button to use `public_url`
|
||||
- [ ] 5.4 Remove proxy URL construction logic
|
||||
|
||||
## 6. Testing and Deployment
|
||||
|
||||
- [ ] 6.1 Test tunnel creation with code-server instance
|
||||
- [ ] 6.2 Test tunnel deletion on instance stop
|
||||
- [ ] 6.3 Verify HTTPS and WebSocket support
|
||||
- [ ] 6.4 Run quality gates (ruff, mypy, typecheck, lint, build)
|
||||
- [ ] 6.5 Deploy and test end-to-end
|
||||
Reference in New Issue
Block a user