Some checks failed
CI/CD Pipeline / Generate Documentation (push) Successful in 4m57s
CI/CD Pipeline / Lint Code (push) Successful in 5m33s
CI/CD Pipeline / Run Tests (push) Successful in 4m20s
CI/CD Pipeline / Security Scanning (push) Successful in 4m32s
CI/CD Pipeline / Build and Push Docker Images (chat) (push) Failing after 49s
CI/CD Pipeline / Build and Push Docker Images (frontend) (push) Failing after 48s
CI/CD Pipeline / Build and Push Docker Images (worker) (push) Failing after 46s
CI/CD Pipeline / Build and Push Docker Images (api) (push) Failing after 40s
CI/CD Pipeline / Deploy to Staging (push) Has been skipped
CI/CD Pipeline / Deploy to Production (push) Has been skipped
Complete implementation of core MVP components: CLI Tool (src/datacenter_docs/cli.py): - 11 commands for system management (serve, worker, init-db, generate, etc.) - Auto-remediation policy management (enable/disable/status) - System statistics and monitoring - Rich formatted output with tables and panels Celery Workers (src/datacenter_docs/workers/): - celery_app.py with 4 specialized queues (documentation, auto_remediation, data_collection, maintenance) - tasks.py with 8 async tasks integrated with MongoDB/Beanie - Celery Beat scheduling (6h docs, 1h data collection, 15m metrics, 2am cleanup) - Rate limiting (10 auto-remediation/h) and timeout configuration - Task lifecycle signals and comprehensive logging VMware Collector (src/datacenter_docs/collectors/): - BaseCollector abstract class with full workflow (connect/collect/validate/store/disconnect) - VMwareCollector for vSphere infrastructure data collection - Collects VMs, ESXi hosts, clusters, datastores, networks with statistics - MCP client integration with mock data fallback for development - MongoDB storage via AuditLog and data validation Documentation & Configuration: - Updated README.md with CLI commands and Workers sections - Updated TODO.md with project status (55% completion) - Added CLAUDE.md with comprehensive project instructions - Added Docker compose setup for development environment Project Status: - Completion: 50% -> 55% - MVP Milestone: 80% complete (only Infrastructure Generator remaining) - Estimated time to MVP: 1-2 days 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
122 lines
3.0 KiB
Markdown
122 lines
3.0 KiB
Markdown
# Docker Development Environment
|
|
|
|
This directory contains Docker configurations for running the Datacenter Documentation System in development mode.
|
|
|
|
## Prerequisites
|
|
|
|
- Docker Engine 20.10+
|
|
- Docker Compose V2
|
|
- At least 4GB RAM available for Docker
|
|
|
|
## Quick Start
|
|
|
|
```bash
|
|
# Start all services
|
|
cd deploy/docker
|
|
docker-compose -f docker-compose.dev.yml up -d
|
|
|
|
# View logs
|
|
docker-compose -f docker-compose.dev.yml logs -f
|
|
|
|
# Stop all services
|
|
docker-compose -f docker-compose.dev.yml down
|
|
```
|
|
|
|
## Environment Variables
|
|
|
|
Create a `.env` file in the project root with:
|
|
|
|
```env
|
|
ANTHROPIC_API_KEY=your_api_key_here
|
|
MCP_SERVER_URL=http://localhost:8001
|
|
```
|
|
|
|
## Services
|
|
|
|
### Running Services
|
|
|
|
| Service | Port | Description | Status |
|
|
|---------|------|-------------|--------|
|
|
| **API** | 8000 | FastAPI documentation server | ✅ Healthy |
|
|
| **MongoDB** | 27017 | Database | ✅ Healthy |
|
|
| **Redis** | 6379 | Cache & message broker | ✅ Healthy |
|
|
| **Frontend** | 80 | React web interface | ⚠️ Running |
|
|
| **Flower** | 5555 | Celery monitoring | ✅ Running |
|
|
|
|
### Not Implemented Yet
|
|
|
|
- **Chat Service** (port 8001) - WebSocket chat interface
|
|
- **Worker Service** - Celery background workers
|
|
|
|
These services are commented out in docker-compose.dev.yml and will be enabled when implemented.
|
|
|
|
## Access Points
|
|
|
|
- **API Documentation**: http://localhost:8000/docs
|
|
- **API Health**: http://localhost:8000/health
|
|
- **Frontend**: http://localhost
|
|
- **Flower (Celery Monitor)**: http://localhost:5555
|
|
- **MongoDB**: `mongodb://admin:admin123@localhost:27017`
|
|
- **Redis**: `localhost:6379`
|
|
|
|
## Build Individual Services
|
|
|
|
```bash
|
|
# Rebuild a specific service
|
|
docker-compose -f docker-compose.dev.yml up --build -d api
|
|
|
|
# View logs for a specific service
|
|
docker-compose -f docker-compose.dev.yml logs -f api
|
|
```
|
|
|
|
## Troubleshooting
|
|
|
|
### API not starting
|
|
|
|
Check logs:
|
|
```bash
|
|
docker-compose -f docker-compose.dev.yml logs api
|
|
```
|
|
|
|
### MongoDB connection issues
|
|
|
|
Ensure MongoDB is healthy:
|
|
```bash
|
|
docker-compose -f docker-compose.dev.yml ps mongodb
|
|
```
|
|
|
|
### Clear volumes and restart
|
|
|
|
```bash
|
|
docker-compose -f docker-compose.dev.yml down -v
|
|
docker-compose -f docker-compose.dev.yml up --build -d
|
|
```
|
|
|
|
## Development Workflow
|
|
|
|
1. **Code changes** are mounted as volumes, so changes to `src/` are reflected immediately
|
|
2. **Restart services** after dependency changes:
|
|
```bash
|
|
docker-compose -f docker-compose.dev.yml restart api
|
|
```
|
|
3. **Rebuild** after pyproject.toml changes:
|
|
```bash
|
|
docker-compose -f docker-compose.dev.yml up --build -d api
|
|
```
|
|
|
|
## Files
|
|
|
|
- `Dockerfile.api` - FastAPI service
|
|
- `Dockerfile.chat` - Chat service (not yet implemented)
|
|
- `Dockerfile.worker` - Celery worker (not yet implemented)
|
|
- `Dockerfile.frontend` - React frontend with Nginx
|
|
- `docker-compose.dev.yml` - Development orchestration
|
|
- `nginx.conf` - Nginx configuration for frontend
|
|
|
|
## Notes
|
|
|
|
- Python version: 3.12
|
|
- Black formatter uses Python 3.12 target
|
|
- Services use Poetry for dependency management
|
|
- Frontend uses Vite for building
|