Agente · dev-backend

Agente · dev-backend

Propósito

Desarrollo y mantenimiento del backend de CreaRack-Pro v1.0.51.

Stack activo

Core

PaqueteVersiónRol
Python3.14Runtime
Django6.0.3Web framework
Django Ninja1.5.3REST API (~509 endpoints)
Django Channels4.3.2WebSockets / ASGI
Daphne4.2.1Servidor ASGI
channels-redis4.3.0Channel layers backend
Huey2.6.0Task queue — broker: Valkey
Pydantic2.10+Validación de datos
Pillow12.1.1Procesamiento de imágenes

⚠ El proyecto usa Huey, no Celery. Decorador: @huey.task() · scheduler: @huey.periodic_task(crontab(...)).

Base de datos e infraestructura de datos

PaqueteVersiónRol
PostgreSQL18BD principal (CONN_MAX_AGE=0 obligatorio con Daphne ASGI)
psycopg2-binary2.9.11Driver PostgreSQL
Valkey8.xCache + broker (imagen Docker, Redis-compatible)
django-redis5.4.0Cache backend Django
redis5.2.1Cliente Python para Valkey
VictoriaMetrics1.106.1Time-series métricas (180 días retención)
aiohttp3.11+Cliente async para VictoriaMetrics API

IA / Proveedores

PaqueteVersiónRol
google-genai1.60+Gemini Flash — principal (Auto-Plan, Edge Intelligence)
anthropic0.52.0+Claude Haiku — alternativo (CNS / Edge Intelligence)
openai2.26.0+DeepSeek via API compatible — fallback

⚠ Modelo Gemini fijo: gemini-3-flash-preview. Mantener todos en tier económico.

Red y monitorización

PaqueteVersiónRol
pysnmp7.1.22SNMP polling v2c/v3 (API async hlapi v7)
pysnmp-mibs0.1.6MIBs estándar (IF-MIB, HOST-RESOURCES-MIB)
pysmi-lextudio1.4.3Compilador MIB: ASN.1 → pysnmp .py
scrapli2026.2.20SSH automation multi-vendor
scrapli-community2025.1.30Drivers adicionales de vendors
asyncssh2.22.0SSH async
icmplib3.0.4ICMP ping (discovery, health checks)
python-nmap0.7.1Network scanner (wrapper nmap)

Autenticación y seguridad

PaqueteVersiónRol
django-allauth[mfa]65.14.3Passkeys, TOTP, MFA, Social Login
fido21.1.xWebAuthn/FIDO2 (pinned por compatibilidad)
PyJWT2.8.0+JWT para social login
cryptography43-44Fernet (CredentialManager) — cappado <45 por fido2

Email, monitorización y utilidades

PaqueteVersiónRol
django-anymail[resend]14.0Email transaccional via Resend
whitenoise6.12.0Archivos estáticos con Daphne/ASGI
django-vite3.1.0Integración Vite en templates
django-prometheus2.4.0Métricas en /metrics
groupdocs-conversion-cloud24.8.0Conversión de formatos
python-dotenv1.2.2Variables de entorno
websockets14.1+WebSocket client

Testing

PaqueteVersiónRol
pytest8.0+Test runner
pytest-django4.8+Integración Django
pytest-asyncio0.23+Tests async
pytest-cov4.1+Cobertura

Estructura del proyecto

CreaRack-Pro/
├── blueprints/          # Mapas de infraestructura (Map Editor)
├── config/              # Settings, URLs raíz, ASGI
├── core/                # Autenticación, usuarios
│   └── htmx_views.py    # Vistas HTMX
├── monitoring/          # Network Observatory (SNMP, ping, HTTP, CNS)
├── network/             # Gestión de red (Auto-Provision, scripts)
├── racks/               # Racks y dispositivos (Rack Editor)
├── signage/             # Digital Signage CMS
├── terminal/            # Terminal SSH
│   └── agent/           # Local Agent v2.0.11 (Windows exe)
├── templates/           # 45 templates (16 HTMX en templates/htmx/)
├── compose.yml
├── compose.observability.yml   # VictoriaMetrics opcional
├── Dockerfile
└── requirements.txt

API REST

~509 endpoints (REST + HTMX) + 27 WebSocket

MóduloEndpointsBase URL
Core25/api/users, /api/settings, /api/logs
Blueprints38/api/blueprints
Racks37/api/racks, /api/labels, /api/trash, /api/library
Stencil Library29/api/library
Network36/api/network (incl. 10 Auto-Provision)
Monitoring87/api/monitoring (incl. 41 ITSM)
Terminal17/api/terminal, /api/agent (incl. 3 Fleet)

Batch endpoints (concurrencia)

POST /api/monitoring/targets/batch-ping   # 20 concurrentes max
POST /api/monitoring/targets/batch-snmp   # 10 concurrentes max
POST /api/monitoring/targets/batch-http   # 15 concurrentes max

Módulos principales

Auto-Plan AI (digitalización de planos)

  • Análisis de planos bitmap → racks, dispositivos, conexiones
  • Proveedor principal: Gemini Flash (gemini-3-flash-preview)
  • Alternativos: Claude Haiku · DeepSeek
  • Reintentos con backoff exponencial vía Huey

Auto-Provision (descubrimiento de red)

  • Multi-stage: ICMP + ARP + SNMP + HTTP fingerprinting
  • Bulk subnet scan (/20 a /30) con batched enrichment
  • 1.600+ vendors (IANA PEN + curated) con sysObjectID detection
  • Confidence scoring 0-100%

CNS · CreaRack Network Sentinel

  • Edge Intelligence: AnomalyDetector + InsightReporter en loops Sentinel
  • Proveedores IA: Gemini Flash (principal) · Claude Haiku (alternativo)
  • Anomalías detectadas: packet loss >10%, latencia >200ms, CRC errors >100/min
  • Workflow: Agent detecta → IA diagnostica → operador aprueba

Local Agent v2.0.11 (Windows)

  • Ejecutable Windows (~23 MB) · puerto 5050 (localhost only)
  • Arquitectura modular: main.py + 9 routers
  • Multi-Agent Fleet: Primary (Sentinel) / Secondary (SSH tools)
  • Failover automático si Primary se desconecta
  • Distribución: GitHub Releases (no en el repo git)

Digital Signage CMS

  • Gestión de contenido, playlists, scheduling, deployment SpinetiX
  • ITSM Integration: SLA, notificaciones, escalamiento, analytics

Convenciones

  • API: Django Ninja · prefijo /api/v1/ obligatorio
  • Autenticación: django-allauth · JWT via PyJWT
  • Tests: pytest-asyncio para tareas async y conexiones de red
  • ⚠ No usar: Celery, NAPALM, Netmiko, DRF, TimescaleDB

Entorno de desarrollo (Windows)

# Arrancar servicios básicos
docker compose up -d

# Arrancar con observabilidad (VictoriaMetrics)
docker compose -f compose.yml -f compose.observability.yml up -d

# Arrancar Huey worker
python manage.py run_huey

# Arrancar Django con Daphne (ASGI)
daphne -p 8000 config.asgi:application

# Shell Django
docker compose exec web python manage.py shell

# Migraciones
docker compose exec web python manage.py makemigrations
docker compose exec web python manage.py migrate

# Tests
docker compose exec web python -m pytest tests/api/ -v

# Logs en tiempo real
docker compose logs -f web

URLs de desarrollo

ServicioURL
Dashboardhttp://localhost:8000
Adminhttp://localhost:8000/admin
API Docshttp://localhost:8000/api/docs
Metricshttp://localhost:8000/metrics
VictoriaMetricshttp://localhost:8428
Local Agenthttp://localhost:5050

Credenciales por defecto: admin / dev_password_123