Volver a la wiki

Contexto Técnico del Proyecto - CreaRack Pro

Contexto Técnico del Proyecto - CreaRack Pro

Información técnica detallada: stack, modelos, APIs, arquitectura.

Nota histórica (2026-07): esta ficha se levantó en la era abril-2026 y muchas cifras concretas (versiones, conteos, endpoints) son de aquel snapshot. La fuente de verdad de la versión es config/settings/base.py (APP_VERSION) y del Local Agent terminal/agent/version.py (AGENT_VERSION). Correcciones aplicadas: stack IA (Gemma 4 vía Google AI Studio, DeepSeek/OpenRouter ya NO son proveedores activos), PostgreSQL 18, RLS multi-tenant ACTIVO en PROD, y la URL del repo. La carpeta Documentation/ fue archivada/eliminada en abril-2026 (doc técnica → wiki del workspace).


Descripción

CreaRack Pro es una plataforma SaaS para diseño de centros de datos y gestión de redes.


Stack Tecnológico

CategoríaTecnologíaVersión
LenguajePython3.14.2
FrameworkDjango6.0.1
APIDjango Ninja1.5.3
WebSocketDjango Channels4.3.0
Base de DatosPostgreSQL18
CacheValkey/Redis5.2.1
InfraestructuraDocker Compose-
AI/MLgoogle-genai (Gemma 4, primario único)1.60.0
AI Fallbackanthropic (Claude Haiku 4.5, fallback deliberado)-
AI compat devopenai (solo driver Ollama-compat en dev; NO DeepSeek)-
Colashuey-
SSHasyncssh2.18.0
Validaciónpydantic2.10+
ImágenesPillow11.1.0
FrontendVanilla JS ES6+-
CanvasKonva.js-

Modelos de Datos (13 modelos)

ModeloDescripción
OrganizationMulti-tenant SaaS (incluye CompanySettings)
UserUsuarios con roles y organizaciones
RackRacks de servidores
RackGroupGrupos de racks
DeviceDispositivos en racks
BlueprintMapas de infraestructura
StencilPlantillas de dispositivos
BoxCategoryCategorías de cajas
ConfigBackupBackups de configuración
SystemLogAuditoría de acciones
ScriptTemplateScripts reutilizables
AnnotationAnotaciones en blueprints
BlueprintConnectionConexiones entre racks

APIs Disponibles

Core API (core/api.py)

EndpointMétodoDescripción
/api/logs/exportGETExport logs CSV (Admin)
/api/statusGETSystem status dashboard
/api/status/statisticsGETEstadísticas de ocupación
/api/status/healthGETHealth check detallado
/api/status/racks-summaryGETResumen de racks
/api/status/blueprints-statsGETEstadísticas de mapas
/api/status/versionGETVersión del sistema
/api/searchGETBúsqueda global cross-módulo

Racks API (racks/api.py)

EndpointMétodoDescripción
/api/racksGET/POSTCRUD racks
/api/racks/{id}GET/PUT/DELETERack individual
/api/racks/{id}/exportGETExport rack JSON
/api/racks/importPOSTImport racks JSON
/api/racks/{id}/pdfGETGenerate rack PDF/HTML
/api/device/{id}/network-configGET/POSTNetwork config

Blueprints API (blueprints/api.py)

EndpointMétodoDescripción
/api/blueprintsGET/POSTCRUD mapas
/api/blueprints/{id}GET/PUT/DELETEMapa individual
/api/blueprints/{id}/clonePOSTClonar mapa
/api/blueprints/{id}/placementsGET/PUTPosiciones de racks
/api/blueprints/{id}/annotationsGET/POST/PUT/DELETEAnotaciones
/api/blueprints/autoplan/importPOSTAuto-Plan AI

Network API (network/api.py)

EndpointMétodoDescripción
/api/network/device/{id}/detailsGETDetalles dispositivo
/api/network/device/{id}/credentialsGETCredenciales
/api/network/device/{id}/backupsGETListar backups
/api/network/backup/{id}/viewGETVer backup
/api/network/backup/comparePOSTComparar backups
/api/network/device/{id}/backup/triggerPOSTBackup manual
/api/network/scriptsCRUDScript templates

Terminal API (terminal/api.py)

EndpointMétodoDescripción
/api/terminal/sessionsGET/POSTSesiones SSH
/ws/terminal/{session_id}WSWebSocket terminal

Estructura de Directorios

CreaRack_Pro_app_Django/
├── blueprints/              # App Django - Mapas
│   ├── api.py               # Endpoints API
│   ├── models.py            # Blueprint, Annotation, BlueprintConnection
│   └── services/
│       └── autoplan.py      # Auto-Plan AI con Gemma 4 (Google AI Studio)
│
├── racks/                   # App Django - Racks y dispositivos
│   ├── api.py               # Endpoints principales
│   ├── api/library.py       # Stencil library API
│   └── models.py            # Rack, Device, Stencil, etc.
│
├── core/                    # App Django - Core, auth, logs
│   ├── api.py               # Status, search, logs
│   ├── models.py            # User, Organization, SystemLog
│   ├── middleware/          # Middlewares de seguridad (v6.1.2)
│   │   ├── rate_limit.py    # Rate limiting con Redis
│   │   └── csp.py           # Content Security Policy
│   └── security/
│       └── credential_manager.py  # Encriptación Fernet
│
├── network/                 # App Django - Network management
│   ├── api.py               # Endpoints de red
│   └── services/
│       ├── device_config.py # Helpers de configuración (v6.1.0)
│       └── scrapli_manager.py # Automatización multi-vendor
│
├── terminal/                # App Django - Terminal SSH
│   ├── api.py               # Endpoints terminal
│   └── agent/               # Local Agent (standalone v4.3.1)
│       ├── local_agent.py   # Main FastAPI app
│       ├── models.py        # Pydantic schemas
│       ├── ssh_bridge.py    # Conexiones SSH
│       ├── cluster_engine.py # Ejecución paralela
│       ├── network_utils.py # Ping, scan, ARP
│       ├── scrapli_manager.py # Multi-vendor local
│       ├── logging_handler.py # Logs WebSocket
│       ├── windows_integration.py # Registry Windows
│       └── assets/
│           ├── terminal.html
│           ├── debug.html
│           └── oui_vendors.json
│
├── config/                  # Configuración Django
│   └── settings/
│       ├── base.py          # Settings base
│       ├── dev.py           # Desarrollo
│       └── production.py    # Producción
│
├── static/                  # Frontend assets
│   ├── js/
│   │   ├── base.js          # Utils globales + escapeHtml()
│   │   ├── blueprints/      # Editor de mapas
│   │   ├── editor/          # Backups, SFTP, import/export
│   │   └── modules/         # Network tools
│   └── css/
│
├── templates/               # Templates Django
├── Documentation/           # (ARCHIVADA/eliminada abr-2026 → doc técnica en wiki del workspace)
├── tests/                   # Sistema de validación
└── compose.yml              # Docker Compose config

Repositorio GitHub


Última actualización: 29-01-2026

Véase también

Subir