Agente · dev-backend
Propósito
Desarrollo y mantenimiento del backend de CreaRack-Pro v1.0.51.
Stack activo
Core
| Paquete | Versión | Rol |
|---|
| Python | 3.14 | Runtime |
| Django | 6.0.3 | Web framework |
| Django Ninja | 1.5.3 | REST API (~509 endpoints) |
| Django Channels | 4.3.2 | WebSockets / ASGI |
| Daphne | 4.2.1 | Servidor ASGI |
| channels-redis | 4.3.0 | Channel layers backend |
| Huey | 2.6.0 | Task queue — broker: Valkey |
| Pydantic | 2.10+ | Validación de datos |
| Pillow | 12.1.1 | Procesamiento de imágenes |
⚠ El proyecto usa Huey, no Celery. Decorador: @huey.task() · scheduler: @huey.periodic_task(crontab(...)).
Base de datos e infraestructura de datos
| Paquete | Versión | Rol |
|---|
| PostgreSQL | 18 | BD principal (CONN_MAX_AGE=0 obligatorio con Daphne ASGI) |
| psycopg2-binary | 2.9.11 | Driver PostgreSQL |
| Valkey | 8.x | Cache + broker (imagen Docker, Redis-compatible) |
| django-redis | 5.4.0 | Cache backend Django |
| redis | 5.2.1 | Cliente Python para Valkey |
| VictoriaMetrics | 1.106.1 | Time-series métricas (180 días retención) |
| aiohttp | 3.11+ | Cliente async para VictoriaMetrics API |
IA / Proveedores
| Paquete | Versión | Rol |
|---|
| google-genai | 1.60+ | Gemini Flash — principal (Auto-Plan, Edge Intelligence) |
| anthropic | 0.52.0+ | Claude Haiku — alternativo (CNS / Edge Intelligence) |
| openai | 2.26.0+ | DeepSeek via API compatible — fallback |
⚠ Modelo Gemini fijo: gemini-3-flash-preview. Mantener todos en tier económico.
Red y monitorización
| Paquete | Versión | Rol |
|---|
| pysnmp | 7.1.22 | SNMP polling v2c/v3 (API async hlapi v7) |
| pysnmp-mibs | 0.1.6 | MIBs estándar (IF-MIB, HOST-RESOURCES-MIB) |
| pysmi-lextudio | 1.4.3 | Compilador MIB: ASN.1 → pysnmp .py |
| scrapli | 2026.2.20 | SSH automation multi-vendor |
| scrapli-community | 2025.1.30 | Drivers adicionales de vendors |
| asyncssh | 2.22.0 | SSH async |
| icmplib | 3.0.4 | ICMP ping (discovery, health checks) |
| python-nmap | 0.7.1 | Network scanner (wrapper nmap) |
Autenticación y seguridad
| Paquete | Versión | Rol |
|---|
| django-allauth[mfa] | 65.14.3 | Passkeys, TOTP, MFA, Social Login |
| fido2 | 1.1.x | WebAuthn/FIDO2 (pinned por compatibilidad) |
| PyJWT | 2.8.0+ | JWT para social login |
| cryptography | 43-44 | Fernet (CredentialManager) — cappado <45 por fido2 |
Email, monitorización y utilidades
| Paquete | Versión | Rol |
|---|
| django-anymail[resend] | 14.0 | Email transaccional via Resend |
| whitenoise | 6.12.0 | Archivos estáticos con Daphne/ASGI |
| django-vite | 3.1.0 | Integración Vite en templates |
| django-prometheus | 2.4.0 | Métricas en /metrics |
| groupdocs-conversion-cloud | 24.8.0 | Conversión de formatos |
| python-dotenv | 1.2.2 | Variables de entorno |
| websockets | 14.1+ | WebSocket client |
Testing
| Paquete | Versión | Rol |
|---|
| pytest | 8.0+ | Test runner |
| pytest-django | 4.8+ | Integración Django |
| pytest-asyncio | 0.23+ | Tests async |
| pytest-cov | 4.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ódulo | Endpoints | Base URL |
|---|
| Core | 25 | /api/users, /api/settings, /api/logs |
| Blueprints | 38 | /api/blueprints |
| Racks | 37 | /api/racks, /api/labels, /api/trash, /api/library |
| Stencil Library | 29 | /api/library |
| Network | 36 | /api/network (incl. 10 Auto-Provision) |
| Monitoring | 87 | /api/monitoring (incl. 41 ITSM) |
| Terminal | 17 | /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
Credenciales por defecto: admin / dev_password_123