diff --git a/.agente/infraestructura.md b/.agente/infraestructura.md index 1098bad..272415f 100644 --- a/.agente/infraestructura.md +++ b/.agente/infraestructura.md @@ -153,8 +153,8 @@ cada proyecto debera implementar un algoritomo de control de versiones de las ac | **API-SIGMA-COMUNICACIONES** | `https://git.telcotronics.net/pablinux/API-SIGMA-COMUNICACIONES.git` | Node.js (Express) + MySQL | pablinux | 🔴 En desarrollo inicial | Gateway SaaS multi-tenant de canales de mensajería: cada cliente/organización crea y conecta su propio componente WhatsApp (bot o Meta), Telegram y redes sociales, aislado del resto. Independiente de `sigma-robot` (comunicaciones internas de Telcotronics). | | **MCP-Infraestructura** | `https://git.telcotronics.net/pablinux/MCP-INFRAESTRUCTURA.git` | TypeScript (@modelcontextprotocol/sdk) + Nuxt 3 + MySQL | pablinux | ✅ Activo | Servidor MCP y panel web para inventario y gestión en tiempo real de la infraestructura del ecosistema (hardware, servicios, apps IA y externos). Fuente de verdad en MySQL. | | **proxy_server_SRI** | `https://git.telcotronics.net/pablinux/proxy_server_SRI.git` | Python 3 (ThreadingHTTPServer + requests) | pablinux | ✅ Producción | Script proxy HTTP multihilo para consultas SRI en cascada de RUC y Cédula (Ecuador). Provee proxy y normalización para WebControl, SIGMAC y apps. | -| **cloud-sync** | `https://git.telcotronics.net/pablinux/Service-Cloud-SINC.git` | Rust 2021 + Axum 0.7 + SQLite | pablinux | 🟡 En mantenimiento / primer deploy | Servidor central de backup cifrado y consolas web. Puerto 3000 en 192.168.10.136. MCP ID: 12. | -| **cloud-sync-clients** | [sin remoto aún — siax-amd] | Rust 2021 + Axum 0.7 + Tokio + aes-gcm + zstd | pablinux | 🟡 En desarrollo activo | Clientes server-to-server (Linux/Windows) para respaldo y cifrado local hacia cloud-sync. UI local :3001. MCP ID: 21. | +| **cloud-sync** | `https://git.telcotronics.net/pablinux/Service-Cloud-SINC.git` | Rust 2021 + Axum 0.7 + SQLite | pablinux | ✅ Activo / Producción HTTP | Servidor central de backup cifrado y consolas web. `192.168.10.136:3000`, health `ok` y harness remoto upload/list/download/restore verificados el 2026-10-17. HTTPS pendiente; MCP id 12. | +| **cloud-sync-clients** | [sin remoto aún — siax-amd] | Rust 2021 + Axum 0.7 + Tokio + aes-gcm + zstd + rusqlite | pablinux | 🟡 Operativo / En desarrollo | Clientes server-to-server (Linux/Windows) para respaldo y cifrado local hacia cloud-sync. UI local :3001. Harness remoto validado (192.168.10.136:3000). MCP ID: 21. Agente ID: 42. | --- @@ -1340,9 +1340,9 @@ Aplicación web en Go para transferencia inmediata de archivos, fotos, documento | Responsable | pablinux | | Estado actual | ✅ Operativo / En pruebas | | Ubicación local | `siax-amd` — `/home/pablinux/Projects/GO/app_compartir` | -| Servidor de producción | `server-webapps` CT 132 (`192.168.10.160`) — pendiente deploy | +| Servidor de producción | `server-webapps` CT 132 (`192.168.10.160`) | | Dominio público | `drop.sigmac.app` | -| Puerto | `2006` | +| Puerto | `2008` | | Servicio systemd | `siax-app-DROP_SIGMAC_APP.service` (gestionado por SIAX Monitor) | **Bases de Datos:** @@ -2410,21 +2410,25 @@ SIAX es la inteligencia artificial del ecosistema. Aprende de forma autónoma y ## api_service_ia — API de Servicios con IA -Microservicio REST que centraliza modelos de IA preentrenados para consumo interno del ecosistema. Es el **único proyecto Python serio de Telcotronics**: todos los demás son Node.js, Java, PHP, Rust o Flutter. Expone capacidades de procesamiento pesado (Whisper, InsightFace, Silero, rembg) como endpoints HTTP autenticados, evitando duplicar dependencias en cada proyecto que las necesite. Actualmente consumido por `sigma-robot` para STT y OCR. +Microservicio REST que centraliza modelos de IA preentrenados para consumo interno del ecosistema. Es el **único proyecto Python serio de Telcotronics**: todos los demás son Node.js, Java, PHP, Rust o Flutter. Expone capacidades de procesamiento pesado (Whisper, InsightFace, Silero, rembg) como endpoints HTTP autenticados, evitando duplicar dependencias en cada proyecto que las necesite. Actualmente consumido por `sigma-robot` para STT y OCR. Requiere GPU NVIDIA: Whisper corre en CUDA sin fallback a CPU, por decisión de diseño. | Parámetro | Valor | |-----------|-------| | Repositorio Git | `git@github.com:telcotronics/API_Service_IA.git` | | Tecnología principal | Python 3.14 + FastAPI + uvicorn | | Responsable | pablinux | -| Estado actual | ✅ Producción | -| Código local | `siax-amd:/home/pablinux/Projects/Python/api_service_ia/` | -| Servidor producción | `Ubuntu-Docker` — CT 105 (`192.168.10.145`) — usuario `root` | -| Ruta en servidor | `/root/app/API_Service_IA` | -| Dominio público | `api.telcotronics.net` (`whisper.telcotronics.net` — legacy, obsoleto) | +| Estado actual | ✅ Producción (verificado en vivo 2026-10-17) | +| Código local | `siax-intel:/home/pablinux/Projects/Python/api_service_ia/` | +| Servidor producción | `APPS-SERVICE-IA` — CT 140, nodo cluster (`192.168.10.154`) — usuario `pablinux` — GPU RTX 5060 8 GB | +| Ruta en servidor | `/home/pablinux/apps/API_Service_IA` (venv `api_env/`, Python 3.12.3) | +| Dominio público | `https://api.telcotronics.net` vía Nginx Proxy Manager .141 (`whisper.telcotronics.net` — legacy, obsoleto) | +| Swagger | `https://api.telcotronics.net/docs` | | Puerto | `8000` | -| Servicio de arranque | `tmux` — sesión `api_service_ia` (pendiente migrar a systemd) | -| Última actualización | 2026-06-03 | +| Servicio de arranque | `tmux` — hoy en la sesión `ia-services` (`desplegar.sh` usa `api_service_ia`; pendiente unificar o migrar a systemd) | +| Servidor anterior | `192.168.10.145` — ya no sirve la API (puerto 8000 cerrado) | +| MCP de Infraestructura | App IA id 2 `api_service_ia` · hardware id 12 `CT 140 APPS-SERVICE-IA` · agente id 5 | +| Agente en sigma-robot | `Agente API Service IA` — ID 85 | +| Última actualización | 2026-10-19 | **BD que usa:** @@ -2443,20 +2447,20 @@ Microservicio REST que centraliza modelos de IA preentrenados para consumo inter | Remover fondo | `POST /removerFondo_img/` | PNG con transparencia | ✅ | | PDF a texto | `POST /convertir_pdf_aTexto/` | JSON `{texto}` | ✅ | | PDF a Word | `POST /convertir_pdf_aWord/` | `.docx` descargable | ✅ | -| PDF a Excel | `POST /convertir_pdf_aExcel/` | `.xlsx` descargable | ✅ | +| PDF a Excel | `POST /convertir_pdf_aExcel/` | `.xlsx` descargable | ❌ en producción (dependencia `tabula` equivocada); corregido en el repo, pendiente de desplegar | | PDF tablas a JSON | `POST /pdf_tablas/` | JSON estructurado | ✅ | | Reconocimiento facial | `POST /facial/detectar/` | JSON `{bbox, confianza}` | ✅ | | Comparación facial | `POST /facial/comparar/` | JSON `{es_misma_persona, similitud}` | ✅ | | TTS online (gTTS) | `POST /texto_aVoz/` | MP3 descargable | ✅ requiere internet | -| TTS offline (Silero) | `POST /texto_aVoz/silero/` | WAV 24kHz descargable | ✅ offline tras 1ª descarga | +| TTS offline (Silero) | `POST /texto_aVoz/silero/` | WAV 16 kHz descargable | ⚠️ en producción el audio sale truncado; corregido en el repo, pendiente de desplegar | **Autenticación:** header `X-API-Key` — validado contra `api_ia_python.api_key` en MariaDB .149. **Integración con el ecosistema:** -- **sigma-robot** la consume para STT (`/convertir_audio_aTexto/`) y OCR/imágenes (`https://api.telcotronics.net`) +- **sigma-robot** la consume para STT (`/convertir_audio_aTexto/`) y OCR/imágenes — debe usar `https://api.telcotronics.net`, no `192.168.10.145:8000` - Cualquier proyecto del ecosistema puede consumirla con una API key válida -**Dónde buscar más info:** `siax-amd:/home/pablinux/Projects/Python/api_service_ia/agents.md` +**Dónde buscar más info:** `siax-intel:/home/pablinux/Projects/Python/api_service_ia/agents.md` --- @@ -2561,74 +2565,75 @@ curl -X POST https://api.telcotronics.com/api/biometria/1001 \ ## cloud-sync — Sistema de Backup Automático y Recuperación ante Desastre -cloud-sync es el servidor central de backup y recuperación ante desastre para clientes SIGMA. El agente de origen comprime y cifra archivos y dumps de SQLite, MySQL, MariaDB o bases compatibles antes de subirlos; el servidor almacena metadatos y contenido cifrado, sin recibir la clave del cliente. El repositorio incluye la API Rust y las consolas root/empresa; los ejecutables server-to-server viven en `cloud-sync-clients`. La integración Flutter/Java y la aplicación de escritorio siguen siendo objetivos posteriores. +cloud-sync es un servidor central de backup y recuperación ante desastre para clientes SIGMA. Los datos se comprimen y cifran en el equipo de origen antes de subirlos; el servidor almacena contenido cifrado y metadatos, sin recibir la clave de cifrado. El repositorio mantiene la API Rust y las consolas root/empresa. Los ejecutables server-to-server están en el proyecto separado `cloud-sync-clients`; Tauri y los SDK Flutter/Java siguen pendientes. | Parámetro | Valor | |---|---| -| Repositorio Git | `https://git.telcotronics.net/pablinux/Service-Cloud-SINC.git` (privado, rama `main`, último commit documentado `babf1cd`) | -| Tecnología principal | Rust 2021 · Axum 0.7 · Tokio · rusqlite/SQLite · filesystem local · HTML/CSS/JavaScript para consolas web | +| Repositorio Git | `https://git.telcotronics.net/pablinux/Service-Cloud-SINC.git` (privado, rama `main`) | +| Tecnología principal | Rust 2021 · Axum 0.7 · Tokio · rusqlite/SQLite · filesystem local · HTML/CSS/JavaScript | | Responsable | pablinux | -| Estado actual | 🟡 Primer despliegue y smoke test HTTP aprobados; HTTPS público, auth Cloud dual y pruebas funcionales pendientes | -| Equipo / código local | `siax-amd` (`192.168.10.100`) — `/home/pablinux/Projects/Rust/cloud monitor sinc` | -| Servidor de producción | `192.168.10.136` — `/home/user_apps/apps/cloud-sync`; tmux activo, `/health` y consolas HTTP 200 verificados 2026-09-21 | -| Dominio público | Pendiente — VirtualHost HTTPS en Apache | -| Puerto interno | `3000` | -| Última actualización | 2026-09-30 | +| MCP de Infraestructura | Servicio id 12 · categoría `service` · estado `ACTIVE` | +| Estado operativo | Producción HTTP. El 2026-10-17 `/health` respondió HTTP 200, `status: ok`, versión `0.1.0`; harness remoto aislado completó upload/list/download/restore desde `cloud-sync-clients` | +| Servidor de producción | `192.168.10.136:3000`; ruta documentada `/home/user_apps/apps/cloud-sync` | +| Hardware / CT | No hay entidad correspondiente a `192.168.10.136` en `infra://hardware`; sin CT confirmado. Feedback MISSING id 24, abierto el 2026-10-17 | +| Dominio público / HTTPS | Sin dominio confirmado; HTTPS público pendiente | +| Feedback MCP | Cero reportes al iniciar la revisión del 2026-10-17; se abrió después el MISSING id 24 por la ficha de hardware faltante | +| Reglas de despliegue | Ninguna activa devuelta para alcance `cloud-sync` ni global. Hay una regla global SRI en borrador, no aplicable a este servicio | +| Última actualización | 2026-10-17 | -**BD que usa:** +**Almacenamiento de datos:** -| Motor | Host | Nombre | Uso | -|---|---|---|---| -| SQLite (embebida, bundled) | `192.168.10.136` — `/home/user_apps/apps/cloud-sync/data` | `server.db` | Empresas, cuotas, tokens, perfiles, sesiones, backups (metadata) y eventos | -| SQLite (embebida, en el cliente) | Equipo de origen | `index.db` | Índice local de rutas, checksum SHA-256, backup_id y timestamps | +| Motor | Host / ruta | Uso | +|---|---|---| +| SQLite embebida | `192.168.10.136` — `/home/user_apps/apps/cloud-sync/data/server.db` | Empresas, cuotas, perfiles, sesiones, metadatos de backups y eventos | +| SQLite local del cliente | Equipo de origen — `index.db` | Rutas, checksum SHA-256, identificadores y timestamps de backups | +| Filesystem | Servidor `192.168.10.136` | Contenido cifrado de los backups, organizado por empresa | **Servicios que consume y expone:** | Método | Endpoint | Auth | Descripción | |---|---|---|---| -| GET | `/health` | — | Estado del servidor + info de disco | -| POST | `/auth/token` | — | Login cliente (token UUID) → sesión Bearer | -| POST | `/auth/admin` | — | Login admin (argon2) → session token | -| POST | `/backup/upload` | Bearer token | Subir archivo cifrado (multipart) | -| GET | `/backup/list` | Bearer token | Listar backups de la empresa | -| GET | `/backup/download/{id}` | Bearer token | Descargar backup para restore | -| DELETE | `/backup/{id}` | Bearer token | Eliminar backup | -| GET | `/me/storage` | Bearer token | Uso actual vs cuota asignada | -| GET | `/admin/storage` | X-Admin-Token | Capacidad CT146 + resumen global | -| GET/POST | `/admin/clientes` | X-Admin-Token | Listar / crear empresas | -| PUT | `/admin/clientes/{id}/cuota` | X-Admin-Token | Ajustar cuota por empresa | -| GET | `/admin/eventos` | X-Admin-Token | Log de auditoría | -| GET | `/root/` | — | Consola root para empresas, cuotas, estados, perfiles y accesos | -| GET | `/admin/` | — | Portal admin de empresa para consultar cuenta y descargar respaldos propios | -| GET | `/panel/` | Token de integración | Portal legado de cliente | -| MCP Infraestructura | `http://192.168.10.160:3006/sse` | Uso interno del ecosistema | Inventario; `cloud-sync` registrado como servicio id 12; `cloud-sync-clients` registrado como servicio id 21. No transporta errores de runtime | -| API-SIGMA-WEBCONTROL | `https://api.siax-system.net/api/errores` | `x-api-key` por aplicación | Integración de bitácora de errores pendiente; no hay clave configurada | +| GET | `/health` | — | Estado del servidor y capacidad de disco | +| POST | `/auth/token` | Token de empresa | Compatibilidad con agentes integradores | +| POST | `/auth/root`, `/auth/admin` | Usuario y contraseña | Login root; `/auth/admin` es alias compatible | +| POST | `/auth/empresa` | Usuario y contraseña | Login de administrador de empresa | +| POST | `/auth/logout` | Sesión Bearer | Revocar la sesión presentada | +| PUT | `/auth/admin/password` | Sesión root | Cambiar contraseña root | +| PUT | `/auth/empresa/password` | Sesión empresa | Cambiar contraseña de empresa | +| GET | `/empresa/cuenta` | Sesión empresa | Consultar su cuenta y perfil | +| POST | `/backup/upload` | Bearer de integración | Subir backup cifrado multipart; límite configurado de hasta 10 GiB y cuota por empresa | +| GET | `/backup/list`, `/backup/status` | Bearer de integración | Listar respaldos y consultar estado | +| GET | `/backup/download/{id}` | Bearer de integración o sesión empresa | Descargar respaldo cifrado propio | +| DELETE | `/backup/{id}` | Bearer de integración | Eliminar backup propio | +| GET | `/me/storage` | Bearer de integración | Uso y cuota de empresa | +| GET | `/admin/storage`, `/admin/clientes`, `/admin/eventos` | Sesión root | Capacidad, empresas y auditoría | +| POST | `/admin/clientes` | Sesión root | Crear empresa y token de integración | +| PUT | `/admin/clientes/{id}/cuota`, `/estado` | Sesión root | Cambiar cuota o suspender empresa | +| GET/PUT | `/admin/clientes/{id}/perfil` | Sesión root | Consultar o editar perfil | +| PUT | `/admin/clientes/{id}/acceso` | Sesión root | Asignar o reemplazar acceso de empresa | +| GET | `/root/`, `/admin/`, `/panel/` | Según consola | Root, administrador de empresa y portal legado | -**Módulos disponibles:** +**Estado de módulos y pendientes:** -| Módulo | Estado | +| Módulo / tarea | Estado | |---|---| -| Servidor API REST (Axum) | ✅ Completo y probado | -| Consola web admin (`/admin`) | ✅ Completa | -| Consola web panel cliente (`/panel`) | ✅ Completa | -| `cloud_sync_core` (librería Rust) — crypto, uploader, backup_engine, restore | ✅ Completo | -| Agente server-to-server (`cloud-sync-clients`) — archivos y dumps | ✅ Base Linux; UI local :3001; harness local/remoto; MCP ID 21; Windows pendiente de validación real | -| Script de despliegue configurable | ✅ Preparado para `192.168.10.136` | -| App desktop (Tauri — Windows/Linux/macOS) | ⏳ Pendiente | -| SDK Flutter (uniffi-rs → Dart FFI) | ⏳ Pendiente | -| SDK Java (uniffi-rs → JNI) | ⏳ Pendiente | -| Deploy en `192.168.10.136` | ✅ Ejecutado; smoke test HTTP aprobado | -| HTTPS público detrás de Apache | ⏳ Pendiente de configurar y verificar | -| Bitácora centralizada de errores | ⏳ Pendiente de clave, reportador y consulta operativa | -| Autenticación dual para apps y servicios | ⏳ Diseño aprobado; login Cloud, sesiones cortas y credencial por instalación pendientes | +| API Rust y consola root | Implementadas y desplegadas; health HTTP verificado | +| Consola de empresa | Implementada; validar login y flujos de consola en producción | +| Portal `/panel/` | Legado por token de integración | +| `cloud-sync-clients` | Proyecto separado, MCP id 21; harness aislado upload/list/download/restore pasó contra `192.168.10.136:3000` el 2026-10-17; Windows pendiente de validación funcional | +| Autenticación dual | Diseño aprobado; falta cerrar proveedor/login, tokens y registro/revocación de instalaciones | +| Uploads reanudables y cola durable | Objetivo 10, pendiente de diseño e implementación | +| Restauración automatizada y verificada | Objetivo 11; el harness validó un ciclo básico remoto, la automatización de archivos/dumps sigue pendiente | +| HTTPS público | Pendiente confirmar dominio y configurar la entrada aprobada | +| Bitácora WebControl | Objetivo 8; bloqueada hasta confirmar `app_origen` y obtener `x-api-key` autorizada | +| App de escritorio Tauri / SDK Flutter / SDK Java | Pendientes | -**Integración con el ecosistema:** -- **SIGMAC** (Java ERP, CT 141): SDK Java pendiente — backup automático de archivos y BD de las empresas clientes -- **sigmac_app** (Flutter, `.72`): SDK Flutter pendiente — backup de datos del app sin intervención del usuario -- **MCP de Infraestructura** (`192.168.10.160:3006`): inventario actualizado; no es proxy de la bitácora de errores -- **API-SIGMA-WEBCONTROL**: canal previsto para reportar/consultar errores de runtime cuando exista una clave autorizada -- **Autenticación Cloud**: diseño aprobado para login de apps con access/refresh token y credencial protegida por instalación en servicios automáticos; implementación pendiente -- **Apache**: VirtualHost HTTPS pendiente +**Integración y separación de sistemas:** +- **MCP de Infraestructura** (`192.168.10.160:3006`): inventario y reglas operativas. Ficha de servicio id 12; no es proxy de errores de runtime. +- **Feedback MCP:** el 2026-10-17 se reportó MISSING id 24 porque el inventario no contiene una entidad de hardware para `192.168.10.136`. No registrar un CT o ubicación hasta confirmarlos. +- **API-SIGMA-WEBCONTROL** (`https://api.siax-system.net/api/errores`): destino separado para errores de runtime. No hay `x-api-key` autorizada ni `app_origen` confirmado en este proyecto; la ausencia de consulta no significa ausencia de errores. +- **Reglas de despliegue:** no se devolvieron reglas activas globales ni para `cloud-sync`; no inferir dominio, DNS, ruta pública o contenedor. +- **Autenticación Cloud:** la implementación dual sigue pendiente de cerrar el contrato con el proveedor autorizado. No persistir contraseñas Cloud en cloud-sync. **Dónde buscar más información:** `siax-amd:/home/pablinux/Projects/Rust/cloud monitor sinc/agents.md`; cliente server-to-server: `/home/pablinux/Projects/Rust/cloud-sync-clients/agents.md` diff --git a/.agente/objetivos.md b/.agente/objetivos.md index 8f16020..1a433c0 100644 --- a/.agente/objetivos.md +++ b/.agente/objetivos.md @@ -40,4 +40,4 @@ | 2026-10-17 | Registro oficial en MCP Infraestructura (ID 34) | Ficha técnica completa registrada en MariaDB bajo categoría application | | 2026-10-17 | Registro en centro de comunicaciones de agentes (sigma-robot) | Identidad `Agente drop.sigmac.app` registrada vía REST; credenciales en `.env` | | 2026-10-17 | Sincronización de normas y archivos base del ecosistema | Creación de `id_agente.md`, `reglas.md`, `tareas.md` y espejo de `infraestructura.md` | -| 2026-10-19 | Despliegue en producción en CT 132 con SIAX Monitor (:8080) | Servicio `siax-app-DROP_SIGMAC_APP.service` operativo en puerto 2006 | +| 2026-10-19 | Despliegue en producción en CT 132 con SIAX Monitor (:8080) | Servicio `siax-app-DROP_SIGMAC_APP.service` operativo en puerto 2008 | diff --git a/.agente/proyecto_memoria.md b/.agente/proyecto_memoria.md index 002dabe..89e7809 100644 --- a/.agente/proyecto_memoria.md +++ b/.agente/proyecto_memoria.md @@ -17,7 +17,8 @@ | 2026-10-13 | Soporte doble de login: WebControl corporativo + Google OAuth | Brinda flexibilidad tanto para colaboradores del ecosistema Telcotronics (vía `api.siax-system.net`) como para usuarios externos con Google. | | 2026-10-14 | Adopción de la marca y dominio `drop.sigmac.app` | Nombre conciso, memorable y alineado con los servicios y subdominios del ecosistema SIGMA (sigmac.app). | | 2026-10-17 | Registro oficial en MCP Infraestructura (ID 34) e identidad de agente | Se vinculó el proyecto al inventario central MariaDB vía API REST (:3007), asignando ID 34 bajo categoría application, y se creó `id_agente.md` según el estándar de identidad del ecosistema. | -| 2026-10-19 | Despliegue en producción en CT 132 con supervisión SIAX Monitor | Se desplegó en `server-webapps` (puerto 2006). Registrado en SIAX Monitor (:8080) como `siax-app-DROP_SIGMAC_APP.service`, habilitando reinicio atómico vía API sin sudo. | +| 2026-10-19 | Despliegue en producción en CT 132 con supervisión SIAX Monitor | Se desplegó en `server-webapps`. Registrado en SIAX Monitor (:8080) como `siax-app-DROP_SIGMAC_APP.service`, habilitando reinicio atómico vía API sin sudo. | +| 2026-10-20 | Reasignación de puerto a 2008 para liberar 2006 a audio_control | Se acordó con pablinux liberar el puerto 2006 para `audio_control` (correlativo a SoundWave en 2005) y trasladar `drop.sigmac.app` al puerto 2008 en CT 132 y MCP Infraestructura (ID 34). | --- @@ -30,7 +31,7 @@ Versión funcional completa y validada: - Purga automática cada 10 minutos para archivos guest > 24h (test automatizado superado en `main_test.go`). - Cuentas registradas con almacenamiento permanente y panel `/mis-archivos`. - Registrado oficialmente en el MCP de Infraestructura (ID 34) y sincronizado con espejo local `.agente/infraestructura.md`. -- Desplegado y ejecutándose activamente en producción (CT 132 puerto 2006) supervisado por SIAX Monitor. +- Desplegado y ejecutándose activamente en producción (CT 132 puerto 2008) supervisado por SIAX Monitor. --- @@ -45,9 +46,9 @@ Versión funcional completa y validada: - [x] Sincronizar sección de infraestructura en global e internal para MCP - [x] Crear scripts de despliegue estándar (`desplegar.sh`, `init.sh`, `servers.conf.example`) - [x] Integrar servicio systemd para SIAX Monitor (`siax-app-DROP_SIGMAC_APP.service`) -- [x] Soporte para proxy reverso dinámico Apache (`X-Forwarded-Proto`, `Host`) en puerto 2006 +- [x] Soporte para proxy reverso dinámico Apache (`X-Forwarded-Proto`, `Host`) en puerto 2008 - [x] Registrar proyecto en MCP de Infraestructura (ID 34) y crear `id_agente.md` oficial -- [x] Desplegar en producción en `server-webapps` (CT 132, :2006) y registrar en SIAX Monitor (:8080) +- [x] Desplegar en producción en `server-webapps` (CT 132, :2008) y registrar en SIAX Monitor (:8080) --- diff --git a/.agente/reglas.md b/.agente/reglas.md index 6366c8f..eaa0f8f 100644 --- a/.agente/reglas.md +++ b/.agente/reglas.md @@ -15,7 +15,7 @@ ## 2. Infraestructura y MCP - **Prohibido asumir o inventar IPs, puertos o servidores**: - Servidor de producción asignado: `server-webapps` CT 132 (`192.168.10.160`). - - Puerto de producción interno: `2006` (puerto local de desarrollo: `8085`). + - Puerto de producción interno: `2008` (puerto local de desarrollo: `8085`). - Dominio público: `https://drop.sigmac.app` (Reverse Proxy Apache con SSL/TLS Let's Encrypt). - Servicio systemd: `siax-app-DROP_SIGMAC_APP.service` (gestionado y supervisado por SIAX Monitor en el puerto `8080`). - Base de datos: SQLite en modo WAL (`data/compartir.db`) sin dependencias de MySQL ni MongoDB. diff --git a/.agente/tareas.md b/.agente/tareas.md index f458581..5fc2651 100644 --- a/.agente/tareas.md +++ b/.agente/tareas.md @@ -14,21 +14,21 @@ - [x] **Autenticación Dual:** Login corporativo con Telcotronics WebControl (`api.siax-system.net`) y Google OAuth2. - [x] **Panel "Mis Archivos":** Interfaz `/mis-archivos` para usuarios autenticados con almacenamiento permanente, estadísticas y borrado manual. - [x] **Scripts de Despliegue:** `desplegar.sh` (compilación Linux amd64, transferencia scp/rsync) e `init.sh` (ejecutor en servidor). -- [x] **Integración con SIAX Monitor:** Servicio systemd `siax-app-DROP_SIGMAC_APP.service` para supervisión en puerto 2006 / 8080. +- [x] **Integración con SIAX Monitor:** Servicio systemd `siax-app-DROP_SIGMAC_APP.service` para supervisión en puerto 2008 / 8080. - [x] **Soporte de Reverse Proxy:** Manejo dinámico de encabezados Apache (`X-Forwarded-Proto`, `Host`, `X-Forwarded-For`). - [x] **Pruebas Automatizadas:** Suite de tests unitarios y de integración en `main_test.go` verificando la retención 24h vs permanencia. - [x] **Registro en MCP de Infraestructura:** Registrado oficialmente con **ID 34** en MariaDB (`http://192.168.10.160:3007/api/services/34`). - [x] **Espejo de Infraestructura:** Sincronizado `.agente/infraestructura.md` con `/home/pablinux/Projects/infraestructura.md`. - [x] **Identidad del Agente:** Creación de `id_agente.md` en la raíz del repositorio. - [x] **Centro de Comunicaciones sigma-robot:** Autorizado formalmente por Pablinux como **Agente ID 86** (`Agente drop.sigmac.app`). Token definitivo resguardado en `.env` (modo 600). -- [x] **Despliegue a Producción (CT 132 server-webapps):** Desplegado y ejecutándose activamente como `siax-app-DROP_SIGMAC_APP.service` supervisado por SIAX Monitor (`:8080`), escuchando en puerto interno `2006`. Subida atómica y reinicio automático operativo. +- [x] **Despliegue a Producción (CT 132 server-webapps):** Desplegado y ejecutándose activamente como `siax-app-DROP_SIGMAC_APP.service` supervisado por SIAX Monitor (`:8080`), escuchando en puerto interno `2008` (dejando el 2006 reservado para `audio_control`). Subida atómica y reinicio automático operativo. --- ## 🚀 En Progreso / Inmediatas - [ ] **Ajuste de Proxy Reverso Apache (SSL port 443 en CT 150):** - - Asegurar que el VirtualHost SSL (``) para `drop.sigmac.app` tenga configurado `ProxyPass / http://192.168.10.160:2006/` y `ProxyPassReverse / http://192.168.10.160:2006/` (actualmente en puerto 443 responde el VirtualHost por defecto de Marketing SIGMA). + - Asegurar que el VirtualHost SSL (``) para `drop.sigmac.app` tenga configurado `ProxyPass / http://192.168.10.160:2008/` y `ProxyPassReverse / http://192.168.10.160:2008/` (actualmente en puerto 443 responde el VirtualHost por defecto de Marketing SIGMA). - [ ] **Creación del Repositorio Git Remoto:** - Crear repo en `git.telcotronics.net/pablinux/app_compartir.git`. - Configurar `git remote add origin ...` y realizar primer push. diff --git a/README.md b/README.md index acb07cd..3690518 100644 --- a/README.md +++ b/README.md @@ -165,7 +165,7 @@ Este proyecto forma parte oficial del **Ecosistema Telcotronics** y se encuentra |---|---| | **Registro Central MCP** | Registrado en MariaDB como **Servicio ID 34** (Categoría: `application`) | | **Centro de Agentes (sigma-robot)** | **Agente ID 86** (`Agente drop.sigmac.app`) activo y autorizado vía API REST | -| **Servidor de Producción** | `server-webapps` CT 132 (`192.168.10.160`), puerto interno `2006` | +| **Servidor de Producción** | `server-webapps` CT 132 (`192.168.10.160`), puerto interno `2008` | | **Dominio y Proxy Apache** | `https://drop.sigmac.app` con terminación SSL/TLS Let's Encrypt | | **Supervisión de Procesos** | Servicio `siax-app-DROP_SIGMAC_APP.service` en [SIAX Monitor](http://192.168.10.160:8080) | | **Identidad y Normas** | Consultar [`id_agente.md`](id_agente.md), [`agents.md`](agents.md) y [`.agente/reglas.md`](.agente/reglas.md) | diff --git a/agents.md b/agents.md index d52f1c3..27913e7 100644 --- a/agents.md +++ b/agents.md @@ -74,7 +74,7 @@ Goroutine periódica (ticker) que consulta items donde `is_guest = true AND expi | Parámetro | Valor | |---|---| | Dominio público | `drop.sigmac.app` | -| Puerto interno | `2006` (producción) / `8085` (local) | +| Puerto interno | `2008` (producción) / `8085` (local) | | Servicio systemd | `siax-app-DROP_SIGMAC_APP.service` (gestionado por SIAX Monitor) | | BD principal | SQLite local (`data/compartir.db`) | | MCP ID | `34` (registrado en `http://192.168.10.160:3007/api/services` / SSE `:3006`) | diff --git a/desplegar.sh b/desplegar.sh index 97791d6..f68bda9 100755 --- a/desplegar.sh +++ b/desplegar.sh @@ -87,7 +87,7 @@ todo() { echo "==================================================" echo "🎉 ¡Despliegue completado con éxito!" echo "🌐 Dominio público: https://drop.sigmac.app" - echo "🎯 Destino interno: http://$HOST:2006" + echo "🎯 Destino interno: http://$HOST:2008" echo "==================================================" } diff --git a/init.sh b/init.sh index dda1e8f..fdf6f43 100755 --- a/init.sh +++ b/init.sh @@ -13,8 +13,8 @@ if [[ ! -f "$SCRIPT_DIR/.env" ]]; then if [[ -f "$SCRIPT_DIR/.env.example" ]]; then echo "==> Creando .env inicial desde .env.example..." cp "$SCRIPT_DIR/.env.example" "$SCRIPT_DIR/.env" - # Configurar puerto de producción 2006 y URL por defecto - sed -i 's/^PORT=.*/PORT=2006/' "$SCRIPT_DIR/.env" + # Configurar puerto de producción 2008 y URL por defecto + sed -i 's/^PORT=.*/PORT=2008/' "$SCRIPT_DIR/.env" sed -i 's|^BASE_URL=.*|BASE_URL=https://drop.sigmac.app|' "$SCRIPT_DIR/.env" else echo "⚠️ Advertencia: No se encontró .env ni .env.example."