Initial commit: LLM Automation Docs & Remediation Engine v2.0

Features:
- Automated datacenter documentation generation
- MCP integration for device connectivity
- Auto-remediation engine with safety checks
- Multi-factor reliability scoring (0-100%)
- Human feedback learning loop
- Pattern recognition and continuous improvement
- Agentic chat support with AI
- API for ticket resolution
- Frontend React with Material-UI
- CI/CD pipelines (GitLab + Gitea)
- Docker & Kubernetes deployment
- Complete documentation and guides

v2.0 Highlights:
- Auto-remediation with write operations (disabled by default)
- Reliability calculator with 4-factor scoring
- Human feedback system for continuous learning
- Pattern-based progressive automation
- Approval workflow for critical actions
- Full audit trail and rollback capability
This commit is contained in:
LLM Automation System
2025-10-17 23:47:28 +00:00
commit 1ba5ce851d
89 changed files with 20468 additions and 0 deletions

128
pyproject.toml Normal file
View File

@@ -0,0 +1,128 @@
[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.10"
# Web Framework
fastapi = "^0.109.0"
uvicorn = {extras = ["standard"], version = "^0.27.0"}
pydantic = "^2.5.0"
pydantic-settings = "^2.1.0"
# Database
motor = "^3.3.2" # Async MongoDB driver
pymongo = "^4.6.1"
redis = "^5.0.1"
beanie = "^1.24.0" # ODM for MongoDB
# MCP (Model Context Protocol)
mcp = "^0.1.0"
anthropic = "^0.18.0"
# Network and Device Management
paramiko = "^3.4.0"
netmiko = "^4.3.0"
pysnmp = "^4.4.12"
napalm = "^4.1.0"
# Virtualization
pyvmomi = "^8.0.1.0"
proxmoxer = "^2.0.1"
python-openstackclient = "^6.5.0"
kubernetes = "^29.0.0"
# Storage
pure-storage-py = "^1.50.0"
# Database Clients
mysql-connector-python = "^8.3.0"
psycopg2-binary = "^2.9.9"
pymongo = "^4.6.1"
# Monitoring
prometheus-client = "^0.19.0"
python-zabbix = "^1.1.0"
# Cloud Providers
boto3 = "^1.34.34"
azure-mgmt-compute = "^30.5.0"
google-cloud-compute = "^1.16.1"
# Utilities
jinja2 = "^3.1.3"
pyyaml = "^6.0.1"
python-dotenv = "^1.0.1"
httpx = "^0.26.0"
tenacity = "^8.2.3"
python-multipart = "^0.0.9"
# CLI
typer = "^0.9.0"
rich = "^13.7.0"
# Websockets for chat
websockets = "^12.0"
python-socketio = "^5.11.0"
# Background tasks
celery = {extras = ["redis"], version = "^5.3.6"}
flower = "^2.0.1"
# LLM Integration
langchain = "^0.1.4"
langchain-anthropic = "^0.1.1"
chromadb = "^0.4.22"
[tool.poetry.group.dev.dependencies]
pytest = "^8.0.0"
pytest-asyncio = "^0.23.3"
pytest-cov = "^4.1.0"
black = "^24.1.1"
ruff = "^0.1.14"
mypy = "^1.8.0"
pre-commit = "^3.6.0"
ipython = "^8.20.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 = ['py310']
include = '\.pyi?$'
[tool.ruff]
line-length = 100
select = ["E", "F", "I", "N", "W"]
ignore = ["E501"]
[tool.mypy]
python_version = "3.10"
warn_return_any = true
warn_unused_configs = true
disallow_untyped_defs = 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"]