fix(infra): reasignar puerto a 2008 en CT 132 y MCP para liberar puerto 2006 a audio_control

This commit is contained in:
2026-10-20 00:34:03 -05:00
parent 035238c08d
commit 69a3ee98e6
9 changed files with 89 additions and 83 deletions
+74 -69
View File
@@ -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). | | **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. | | **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. | | **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** | `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 | 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-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 | | Responsable | pablinux |
| Estado actual | ✅ Operativo / En pruebas | | Estado actual | ✅ Operativo / En pruebas |
| Ubicación local | `siax-amd` — `/home/pablinux/Projects/GO/app_compartir` | | 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` | | Dominio público | `drop.sigmac.app` |
| Puerto | `2006` | | Puerto | `2008` |
| Servicio systemd | `siax-app-DROP_SIGMAC_APP.service` (gestionado por SIAX Monitor) | | Servicio systemd | `siax-app-DROP_SIGMAC_APP.service` (gestionado por SIAX Monitor) |
**Bases de Datos:** **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 ## 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 | | Parámetro | Valor |
|-----------|-------| |-----------|-------|
| Repositorio Git | `git@github.com:telcotronics/API_Service_IA.git` | | Repositorio Git | `git@github.com:telcotronics/API_Service_IA.git` |
| Tecnología principal | Python 3.14 + FastAPI + uvicorn | | Tecnología principal | Python 3.14 + FastAPI + uvicorn |
| Responsable | pablinux | | Responsable | pablinux |
| Estado actual | ✅ Producción | | Estado actual | ✅ Producción (verificado en vivo 2026-10-17) |
| Código local | `siax-amd:/home/pablinux/Projects/Python/api_service_ia/` | | Código local | `siax-intel:/home/pablinux/Projects/Python/api_service_ia/` |
| Servidor producción | `Ubuntu-Docker` — CT 105 (`192.168.10.145`) — usuario `root` | | Servidor producción | `APPS-SERVICE-IA` — CT 140, nodo cluster (`192.168.10.154`) — usuario `pablinux` — GPU RTX 5060 8 GB |
| Ruta en servidor | `/root/app/API_Service_IA` | | Ruta en servidor | `/home/pablinux/apps/API_Service_IA` (venv `api_env/`, Python 3.12.3) |
| Dominio público | `api.telcotronics.net` (`whisper.telcotronics.net` — legacy, obsoleto) | | 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` | | Puerto | `8000` |
| Servicio de arranque | `tmux` — sesión `api_service_ia` (pendiente migrar a systemd) | | Servicio de arranque | `tmux` — hoy en la sesión `ia-services` (`desplegar.sh` usa `api_service_ia`; pendiente unificar o migrar a systemd) |
| Última actualización | 2026-06-03 | | 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:** **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 | ✅ | | Remover fondo | `POST /removerFondo_img/` | PNG con transparencia | ✅ |
| PDF a texto | `POST /convertir_pdf_aTexto/` | JSON `{texto}` | ✅ | | PDF a texto | `POST /convertir_pdf_aTexto/` | JSON `{texto}` | ✅ |
| PDF a Word | `POST /convertir_pdf_aWord/` | `.docx` descargable | ✅ | | 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 | ✅ | | PDF tablas a JSON | `POST /pdf_tablas/` | JSON estructurado | ✅ |
| Reconocimiento facial | `POST /facial/detectar/` | JSON `{bbox, confianza}` | ✅ | | Reconocimiento facial | `POST /facial/detectar/` | JSON `{bbox, confianza}` | ✅ |
| Comparación facial | `POST /facial/comparar/` | JSON `{es_misma_persona, similitud}` | ✅ | | Comparación facial | `POST /facial/comparar/` | JSON `{es_misma_persona, similitud}` | ✅ |
| TTS online (gTTS) | `POST /texto_aVoz/` | MP3 descargable | ✅ requiere internet | | 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. **Autenticación:** header `X-API-Key` — validado contra `api_ia_python.api_key` en MariaDB .149.
**Integración con el ecosistema:** **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 - 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 — 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 | | Parámetro | Valor |
|---|---| |---|---|
| Repositorio Git | `https://git.telcotronics.net/pablinux/Service-Cloud-SINC.git` (privado, rama `main`, último commit documentado `babf1cd`) | | 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 para consolas web | | Tecnología principal | Rust 2021 · Axum 0.7 · Tokio · rusqlite/SQLite · filesystem local · HTML/CSS/JavaScript |
| Responsable | pablinux | | Responsable | pablinux |
| Estado actual | 🟡 Primer despliegue y smoke test HTTP aprobados; HTTPS público, auth Cloud dual y pruebas funcionales pendientes | | MCP de Infraestructura | Servicio id 12 · categoría `service` · estado `ACTIVE` |
| Equipo / código local | `siax-amd` (`192.168.10.100`) — `/home/pablinux/Projects/Rust/cloud monitor sinc` | | 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` — `/home/user_apps/apps/cloud-sync`; tmux activo, `/health` y consolas HTTP 200 verificados 2026-09-21 | | Servidor de producción | `192.168.10.136:3000`; ruta documentada `/home/user_apps/apps/cloud-sync` |
| Dominio público | Pendiente — VirtualHost HTTPS en Apache | | 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 |
| Puerto interno | `3000` | | Dominio público / HTTPS | Sin dominio confirmado; HTTPS público pendiente |
| Última actualización | 2026-09-30 | | 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 | | Motor | Host / ruta | 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 | `192.168.10.136` — `/home/user_apps/apps/cloud-sync/data/server.db` | Empresas, cuotas, perfiles, sesiones, metadatos de backups y eventos |
| SQLite (embebida, en el cliente) | Equipo de origen | `index.db` | Índice local de rutas, checksum SHA-256, backup_id y timestamps | | 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:** **Servicios que consume y expone:**
| Método | Endpoint | Auth | Descripción | | Método | Endpoint | Auth | Descripción |
|---|---|---|---| |---|---|---|---|
| GET | `/health` | — | Estado del servidor + info de disco | | GET | `/health` | — | Estado del servidor y capacidad de disco |
| POST | `/auth/token` | — | Login cliente (token UUID) → sesión Bearer | | POST | `/auth/token` | Token de empresa | Compatibilidad con agentes integradores |
| POST | `/auth/admin` | — | Login admin (argon2) → session token | | POST | `/auth/root`, `/auth/admin` | Usuario y contraseña | Login root; `/auth/admin` es alias compatible |
| POST | `/backup/upload` | Bearer token | Subir archivo cifrado (multipart) | | POST | `/auth/empresa` | Usuario y contraseña | Login de administrador de empresa |
| GET | `/backup/list` | Bearer token | Listar backups de la empresa | | POST | `/auth/logout` | Sesión Bearer | Revocar la sesión presentada |
| GET | `/backup/download/{id}` | Bearer token | Descargar backup para restore | | PUT | `/auth/admin/password` | Sesión root | Cambiar contraseña root |
| DELETE | `/backup/{id}` | Bearer token | Eliminar backup | | PUT | `/auth/empresa/password` | Sesión empresa | Cambiar contraseña de empresa |
| GET | `/me/storage` | Bearer token | Uso actual vs cuota asignada | | GET | `/empresa/cuenta` | Sesión empresa | Consultar su cuenta y perfil |
| GET | `/admin/storage` | X-Admin-Token | Capacidad CT146 + resumen global | | POST | `/backup/upload` | Bearer de integración | Subir backup cifrado multipart; límite configurado de hasta 10 GiB y cuota por empresa |
| GET/POST | `/admin/clientes` | X-Admin-Token | Listar / crear empresas | | GET | `/backup/list`, `/backup/status` | Bearer de integración | Listar respaldos y consultar estado |
| PUT | `/admin/clientes/{id}/cuota` | X-Admin-Token | Ajustar cuota por empresa | | GET | `/backup/download/{id}` | Bearer de integración o sesión empresa | Descargar respaldo cifrado propio |
| GET | `/admin/eventos` | X-Admin-Token | Log de auditoría | | DELETE | `/backup/{id}` | Bearer de integración | Eliminar backup propio |
| GET | `/root/` | — | Consola root para empresas, cuotas, estados, perfiles y accesos | | GET | `/me/storage` | Bearer de integración | Uso y cuota de empresa |
| GET | `/admin/` | — | Portal admin de empresa para consultar cuenta y descargar respaldos propios | | GET | `/admin/storage`, `/admin/clientes`, `/admin/eventos` | Sesión root | Capacidad, empresas y auditoría |
| GET | `/panel/` | Token de integración | Portal legado de cliente | | POST | `/admin/clientes` | Sesión root | Crear empresa y token de integración |
| 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 | | PUT | `/admin/clientes/{id}/cuota`, `/estado` | Sesión root | Cambiar cuota o suspender empresa |
| 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/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 | | API Rust y consola root | Implementadas y desplegadas; health HTTP verificado |
| Consola web admin (`/admin`) | ✅ Completa | | Consola de empresa | Implementada; validar login y flujos de consola en producción |
| Consola web panel cliente (`/panel`) | ✅ Completa | | Portal `/panel/` | Legado por token de integración |
| `cloud_sync_core` (librería Rust) — crypto, uploader, backup_engine, restore | ✅ Completo | | `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 |
| 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 | | Autenticación dual | Diseño aprobado; falta cerrar proveedor/login, tokens y registro/revocación de instalaciones |
| Script de despliegue configurable | ✅ Preparado para `192.168.10.136` | | Uploads reanudables y cola durable | Objetivo 10, pendiente de diseño e implementación |
| App desktop (Tauri — Windows/Linux/macOS) | ⏳ Pendiente | | Restauración automatizada y verificada | Objetivo 11; el harness validó un ciclo básico remoto, la automatización de archivos/dumps sigue pendiente |
| SDK Flutter (uniffi-rs → Dart FFI) | ⏳ Pendiente | | HTTPS público | Pendiente confirmar dominio y configurar la entrada aprobada |
| SDK Java (uniffi-rs → JNI) | ⏳ Pendiente | | Bitácora WebControl | Objetivo 8; bloqueada hasta confirmar `app_origen` y obtener `x-api-key` autorizada |
| Deploy en `192.168.10.136` | ✅ Ejecutado; smoke test HTTP aprobado | | App de escritorio Tauri / SDK Flutter / SDK Java | Pendientes |
| 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 |
**Integración con el ecosistema:** **Integración y separación de sistemas:**
- **SIGMAC** (Java ERP, CT 141): SDK Java pendiente — backup automático de archivos y BD de las empresas clientes - **MCP de Infraestructura** (`192.168.10.160:3006`): inventario y reglas operativas. Ficha de servicio id 12; no es proxy de errores de runtime.
- **sigmac_app** (Flutter, `.72`): SDK Flutter pendiente — backup de datos del app sin intervención del usuario - **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.
- **MCP de Infraestructura** (`192.168.10.160:3006`): inventario actualizado; no es proxy de la bitácora de errores - **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.
- **API-SIGMA-WEBCONTROL**: canal previsto para reportar/consultar errores de runtime cuando exista una clave autorizada - **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**: diseño aprobado para login de apps con access/refresh token y credencial protegida por instalación en servicios automáticos; implementación pendiente - **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.
- **Apache**: VirtualHost HTTPS pendiente
**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` **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`
+1 -1
View File
@@ -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 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 | 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-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 |
+5 -4
View File
@@ -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-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-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-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`). - 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`. - 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`. - 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] 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] 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] 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] 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)
--- ---
+1 -1
View File
@@ -15,7 +15,7 @@
## 2. Infraestructura y MCP ## 2. Infraestructura y MCP
- **Prohibido asumir o inventar IPs, puertos o servidores**: - **Prohibido asumir o inventar IPs, puertos o servidores**:
- Servidor de producción asignado: `server-webapps` CT 132 (`192.168.10.160`). - 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). - 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`). - 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. - Base de datos: SQLite en modo WAL (`data/compartir.db`) sin dependencias de MySQL ni MongoDB.
+3 -3
View File
@@ -14,21 +14,21 @@
- [x] **Autenticación Dual:** Login corporativo con Telcotronics WebControl (`api.siax-system.net`) y Google OAuth2. - [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] **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] **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] **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] **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] **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] **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] **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] **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 ## 🚀 En Progreso / Inmediatas
- [ ] **Ajuste de Proxy Reverso Apache (SSL port 443 en CT 150):** - [ ] **Ajuste de Proxy Reverso Apache (SSL port 443 en CT 150):**
- Asegurar que el VirtualHost SSL (`<VirtualHost *:443>`) 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 (`<VirtualHost *:443>`) 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:** - [ ] **Creación del Repositorio Git Remoto:**
- Crear repo en `git.telcotronics.net/pablinux/app_compartir.git`. - Crear repo en `git.telcotronics.net/pablinux/app_compartir.git`.
- Configurar `git remote add origin ...` y realizar primer push. - Configurar `git remote add origin ...` y realizar primer push.
+1 -1
View File
@@ -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`) | | **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 | | **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 | | **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) | | **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) | | **Identidad y Normas** | Consultar [`id_agente.md`](id_agente.md), [`agents.md`](agents.md) y [`.agente/reglas.md`](.agente/reglas.md) |
+1 -1
View File
@@ -74,7 +74,7 @@ Goroutine periódica (ticker) que consulta items donde `is_guest = true AND expi
| Parámetro | Valor | | Parámetro | Valor |
|---|---| |---|---|
| Dominio público | `drop.sigmac.app` | | 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) | | Servicio systemd | `siax-app-DROP_SIGMAC_APP.service` (gestionado por SIAX Monitor) |
| BD principal | SQLite local (`data/compartir.db`) | | BD principal | SQLite local (`data/compartir.db`) |
| MCP ID | `34` (registrado en `http://192.168.10.160:3007/api/services` / SSE `:3006`) | | MCP ID | `34` (registrado en `http://192.168.10.160:3007/api/services` / SSE `:3006`) |
+1 -1
View File
@@ -87,7 +87,7 @@ todo() {
echo "==================================================" echo "=================================================="
echo "🎉 ¡Despliegue completado con éxito!" echo "🎉 ¡Despliegue completado con éxito!"
echo "🌐 Dominio público: https://drop.sigmac.app" echo "🌐 Dominio público: https://drop.sigmac.app"
echo "🎯 Destino interno: http://$HOST:2006" echo "🎯 Destino interno: http://$HOST:2008"
echo "==================================================" echo "=================================================="
} }
+2 -2
View File
@@ -13,8 +13,8 @@ if [[ ! -f "$SCRIPT_DIR/.env" ]]; then
if [[ -f "$SCRIPT_DIR/.env.example" ]]; then if [[ -f "$SCRIPT_DIR/.env.example" ]]; then
echo "==> Creando .env inicial desde .env.example..." echo "==> Creando .env inicial desde .env.example..."
cp "$SCRIPT_DIR/.env.example" "$SCRIPT_DIR/.env" cp "$SCRIPT_DIR/.env.example" "$SCRIPT_DIR/.env"
# Configurar puerto de producción 2006 y URL por defecto # Configurar puerto de producción 2008 y URL por defecto
sed -i 's/^PORT=.*/PORT=2006/' "$SCRIPT_DIR/.env" sed -i 's/^PORT=.*/PORT=2008/' "$SCRIPT_DIR/.env"
sed -i 's|^BASE_URL=.*|BASE_URL=https://drop.sigmac.app|' "$SCRIPT_DIR/.env" sed -i 's|^BASE_URL=.*|BASE_URL=https://drop.sigmac.app|' "$SCRIPT_DIR/.env"
else else
echo "⚠️ Advertencia: No se encontró .env ni .env.example." echo "⚠️ Advertencia: No se encontró .env ni .env.example."