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>
140 lines
3.0 KiB
TOML
140 lines
3.0 KiB
TOML
[tool.poetry]
|
|
name = "datacenter-docs"
|
|
version = "1.0.0"
|
|
description = "Automated datacenter documentation system with LLM and MCP integration"
|
|
authors = ["Automation Team <automation@company.com>"]
|
|
license = "MIT"
|
|
readme = "README.md"
|
|
packages = [{include = "datacenter_docs", from = "src"}]
|
|
|
|
[tool.poetry.dependencies]
|
|
python = "^3.12"
|
|
|
|
# Web Framework
|
|
fastapi = "^0.115.0"
|
|
uvicorn = {extras = ["standard"], version = "^0.32.0"}
|
|
pydantic = "^2.10.0"
|
|
pydantic-settings = "^2.6.0"
|
|
|
|
# Database
|
|
motor = "^3.6.0" # Async MongoDB driver
|
|
pymongo = "^4.10.0"
|
|
redis = "^5.2.0"
|
|
beanie = "^1.27.0" # ODM for MongoDB
|
|
|
|
# MCP (Model Context Protocol)
|
|
# mcp = "^0.1.0" # Package name might be different
|
|
openai = "^1.58.0" # OpenAI-compatible API for multiple LLM providers
|
|
|
|
# Network and Device Management
|
|
paramiko = "^3.5.0"
|
|
netmiko = "^4.5.0"
|
|
pysnmp = "^6.2.0"
|
|
napalm = "^5.0.0"
|
|
|
|
# Virtualization
|
|
pyvmomi = "^8.0.3.0"
|
|
proxmoxer = "^2.1.0"
|
|
kubernetes = "^31.0.0"
|
|
|
|
# Storage
|
|
# purestorage = "^1.47.0" # Temporarily disabled
|
|
|
|
# Database Clients
|
|
mysql-connector-python = "^9.1.0"
|
|
psycopg2-binary = "^2.9.10"
|
|
|
|
# Monitoring
|
|
prometheus-client = "^0.21.0"
|
|
pyzabbix = "^1.3.0"
|
|
|
|
# Cloud Providers
|
|
boto3 = "^1.35.0"
|
|
azure-mgmt-compute = "^33.0.0"
|
|
google-cloud-compute = "^1.20.0"
|
|
|
|
# Utilities
|
|
jinja2 = "^3.1.4"
|
|
pyyaml = "^6.0.2"
|
|
python-dotenv = "^1.0.1"
|
|
httpx = "^0.28.0"
|
|
tenacity = "^9.0.0"
|
|
python-multipart = "^0.0.20"
|
|
|
|
# CLI
|
|
typer = "^0.15.0"
|
|
rich = "^13.9.0"
|
|
|
|
# Websockets for chat
|
|
websockets = "^14.0"
|
|
python-socketio = "^5.12.0"
|
|
|
|
# Background tasks
|
|
celery = {extras = ["redis"], version = "^5.4.0"}
|
|
flower = "^2.0.1"
|
|
|
|
# LLM Integration
|
|
langchain = "^0.3.0"
|
|
langchain-community = "^0.3.0"
|
|
# chromadb = "^0.5.0" # Requires Visual C++ Build Tools on Windows
|
|
|
|
[tool.poetry.group.dev.dependencies]
|
|
pytest = "^8.3.0"
|
|
pytest-asyncio = "^0.24.0"
|
|
pytest-cov = "^6.0.0"
|
|
black = "^24.10.0"
|
|
ruff = "^0.8.0"
|
|
mypy = "^1.13.0"
|
|
pre-commit = "^4.0.0"
|
|
ipython = "^8.30.0"
|
|
|
|
[tool.poetry.scripts]
|
|
datacenter-docs = "datacenter_docs.cli:app"
|
|
docs-api = "datacenter_docs.api.main:start"
|
|
docs-chat = "datacenter_docs.chat.main:start"
|
|
docs-worker = "datacenter_docs.workers.celery_app:start"
|
|
|
|
[build-system]
|
|
requires = ["poetry-core"]
|
|
build-backend = "poetry.core.masonry.api"
|
|
|
|
[tool.black]
|
|
line-length = 100
|
|
target-version = ['py312']
|
|
include = '\.pyi?$'
|
|
|
|
[tool.ruff]
|
|
line-length = 100
|
|
|
|
[tool.ruff.lint]
|
|
select = ["E", "F", "I", "N", "W"]
|
|
ignore = ["E501"]
|
|
|
|
[tool.ruff.lint.per-file-ignores]
|
|
"src/datacenter_docs/api/auto_remediation.py" = ["F821"]
|
|
"src/datacenter_docs/api/main_enhanced.py" = ["F821"]
|
|
|
|
[tool.mypy]
|
|
python_version = "3.12"
|
|
warn_return_any = true
|
|
warn_unused_configs = true
|
|
disallow_untyped_defs = true
|
|
|
|
[[tool.mypy.overrides]]
|
|
module = [
|
|
"datacenter_docs.api.auto_remediation",
|
|
"datacenter_docs.api.main_enhanced"
|
|
]
|
|
ignore_errors = true
|
|
|
|
[tool.pytest.ini_options]
|
|
testpaths = ["tests"]
|
|
python_files = "test_*.py"
|
|
python_classes = "Test*"
|
|
python_functions = "test_*"
|
|
addopts = "-v --cov=src/datacenter_docs --cov-report=html --cov-report=term"
|
|
|
|
[tool.coverage.run]
|
|
source = ["src"]
|
|
omit = ["*/tests/*", "*/test_*.py"]
|