diff --git a/config/monitored_apps.json b/config/monitored_apps.json index b2b6982..91259c6 100644 --- a/config/monitored_apps.json +++ b/config/monitored_apps.json @@ -2,11 +2,27 @@ "apps": [ { "name": "app_tareas", - "port": 3000 + "service_name": "", + "path": "", + "port": 3000, + "entry_point": "", + "node_bin": "", + "mode": "production", + "service_file_path": "", + "deleted": true, + "deleted_at": "2026-01-21T18:01:42.273756980-05:00", + "deleted_reason": "Eliminada desde el panel de control" }, { "name": "fidelizacion", - "port": 3001 + "service_name": "", + "path": "", + "port": 3001, + "entry_point": "", + "node_bin": "", + "mode": "production", + "service_file_path": "", + "deleted": false } ] } \ No newline at end of file diff --git a/logs/errors.log b/logs/errors.log index a2a7530..09e9168 100644 --- a/logs/errors.log +++ b/logs/errors.log @@ -2328,3 +2328,173 @@ [2026-01-19 08:27:21] [ERROR] [Monitor] Error sincronizando app_tareas | HTTP 500 Internal Server Error: {"success":false,"message":"Error al actualizar el estado","error":"Table 'webControl.app_service_history' doesn't exist"} [2026-01-19 08:27:21] [INFO] [Monitor] App fidelizacion ya existe (ID: 4), actualizando... [2026-01-19 08:27:21] [ERROR] [Monitor] Error sincronizando fidelizacion | HTTP 500 Internal Server Error: {"success":false,"message":"Error al actualizar el estado","error":"Table 'webControl.app_service_history' doesn't exist"} +[2026-01-20 06:35:19] [INFO] [Sistema] Iniciando SIAX Agent +[2026-01-20 06:35:19] [INFO] [Sistema] Escaneando servicios systemd existentes... +[2026-01-20 06:35:19] [INFO] [Discovery] 🔍 Escaneando servicios systemd en: /etc/systemd/system +[2026-01-20 06:35:19] [INFO] [Discovery] ✅ Directorio /etc/systemd/system accesible +[2026-01-20 06:35:19] [INFO] [Discovery] 📊 Escaneados 131 archivos, 0 con prefijo 'siax-app-', 0 parseados exitosamente +[2026-01-20 06:35:19] [INFO] [Config] Usando archivo de configuración: config/monitored_apps.json +[2026-01-20 06:35:19] [INFO] [Config] ✅ Configuración cargada: 2 apps desde config/monitored_apps.json +[2026-01-20 06:35:19] [INFO] [Sistema] Servidor detectado: siax-intel +[2026-01-20 06:35:19] [INFO] [Sistema] Iniciando servidor unificado en puerto 8080 +[2026-01-20 06:35:19] [INFO] [Sistema] Sistema SIAX completamente operativo en puerto 8080 +[2026-01-20 06:35:19] [INFO] [Monitor] Vigilando procesos para siax-intel [SIAX-Agent/0.1.0 (linux/x86_64; Rust-Monitor)] +[2026-01-20 06:35:19] [INFO] [Monitor] Buscando app app_tareas en API central... +[2026-01-20 06:35:19] [INFO] [Monitor] App app_tareas encontrada en cloud (ID: 3) +[2026-01-20 06:35:19] [ERROR] [Monitor] Error sincronizando app_tareas | HTTP 500 Internal Server Error: {"success":false,"message":"Error al actualizar el estado","error":"Table 'webControl.app_service_history' doesn't exist"} +[2026-01-20 06:35:19] [INFO] [Monitor] Buscando app fidelizacion en API central... +[2026-01-20 06:35:19] [INFO] [Monitor] App fidelizacion encontrada en cloud (ID: 4) +[2026-01-20 06:35:19] [ERROR] [Monitor] Error sincronizando fidelizacion | HTTP 500 Internal Server Error: {"success":false,"message":"Error al actualizar el estado","error":"Table 'webControl.app_service_history' doesn't exist"} +[2026-01-20 06:36:20] [INFO] [Monitor] App app_tareas ya existe (ID: 3), actualizando... +[2026-01-20 06:36:20] [ERROR] [Monitor] Error sincronizando app_tareas | HTTP 500 Internal Server Error: {"success":false,"message":"Error al actualizar el estado","error":"Table 'webControl.app_service_history' doesn't exist"} +[2026-01-20 06:36:20] [INFO] [Monitor] App fidelizacion ya existe (ID: 4), actualizando... +[2026-01-20 06:36:20] [ERROR] [Monitor] Error sincronizando fidelizacion | HTTP 500 Internal Server Error: {"success":false,"message":"Error al actualizar el estado","error":"Table 'webControl.app_service_history' doesn't exist"} +[2026-01-20 06:37:20] [INFO] [Monitor] App app_tareas ya existe (ID: 3), actualizando... +[2026-01-20 06:37:20] [ERROR] [Monitor] Error sincronizando app_tareas | HTTP 500 Internal Server Error: {"success":false,"message":"Error al actualizar el estado","error":"Table 'webControl.app_service_history' doesn't exist"} +[2026-01-20 06:37:20] [INFO] [Monitor] App fidelizacion ya existe (ID: 4), actualizando... +[2026-01-20 06:37:20] [ERROR] [Monitor] Error sincronizando fidelizacion | HTTP 500 Internal Server Error: {"success":false,"message":"Error al actualizar el estado","error":"Table 'webControl.app_service_history' doesn't exist"} +[2026-01-20 06:38:20] [INFO] [Monitor] App app_tareas ya existe (ID: 3), actualizando... +[2026-01-20 06:38:20] [ERROR] [Monitor] Error sincronizando app_tareas | HTTP 500 Internal Server Error: {"success":false,"message":"Error al actualizar el estado","error":"Table 'webControl.app_service_history' doesn't exist"} +[2026-01-20 06:38:20] [INFO] [Monitor] App fidelizacion ya existe (ID: 4), actualizando... +[2026-01-20 06:38:20] [ERROR] [Monitor] Error sincronizando fidelizacion | HTTP 500 Internal Server Error: {"success":false,"message":"Error al actualizar el estado","error":"Table 'webControl.app_service_history' doesn't exist"} +[2026-01-20 06:39:20] [INFO] [Monitor] App app_tareas ya existe (ID: 3), actualizando... +[2026-01-20 06:39:20] [ERROR] [Monitor] Error sincronizando app_tareas | HTTP 500 Internal Server Error: {"success":false,"message":"Error al actualizar el estado","error":"Table 'webControl.app_service_history' doesn't exist"} +[2026-01-20 06:39:20] [INFO] [Monitor] App fidelizacion ya existe (ID: 4), actualizando... +[2026-01-20 06:39:20] [ERROR] [Monitor] Error sincronizando fidelizacion | HTTP 500 Internal Server Error: {"success":false,"message":"Error al actualizar el estado","error":"Table 'webControl.app_service_history' doesn't exist"} +[2026-01-20 06:40:20] [INFO] [Monitor] App app_tareas ya existe (ID: 3), actualizando... +[2026-01-20 06:40:21] [ERROR] [Monitor] Error sincronizando app_tareas | HTTP 500 Internal Server Error: {"success":false,"message":"Error al actualizar el estado","error":"Table 'webControl.app_service_history' doesn't exist"} +[2026-01-20 06:40:21] [INFO] [Monitor] App fidelizacion ya existe (ID: 4), actualizando... +[2026-01-20 06:40:21] [ERROR] [Monitor] Error sincronizando fidelizacion | HTTP 500 Internal Server Error: {"success":false,"message":"Error al actualizar el estado","error":"Table 'webControl.app_service_history' doesn't exist"} +[2026-01-20 06:41:21] [INFO] [Monitor] App app_tareas ya existe (ID: 3), actualizando... +[2026-01-20 06:41:21] [ERROR] [Monitor] Error sincronizando app_tareas | HTTP 500 Internal Server Error: {"success":false,"message":"Error al actualizar el estado","error":"Table 'webControl.app_service_history' doesn't exist"} +[2026-01-20 06:41:21] [INFO] [Monitor] App fidelizacion ya existe (ID: 4), actualizando... +[2026-01-20 06:41:21] [ERROR] [Monitor] Error sincronizando fidelizacion | HTTP 500 Internal Server Error: {"success":false,"message":"Error al actualizar el estado","error":"Table 'webControl.app_service_history' doesn't exist"} +[2026-01-20 06:42:21] [INFO] [Monitor] App app_tareas ya existe (ID: 3), actualizando... +[2026-01-20 06:42:21] [ERROR] [Monitor] Error sincronizando app_tareas | HTTP 500 Internal Server Error: {"success":false,"message":"Error al actualizar el estado","error":"Table 'webControl.app_service_history' doesn't exist"} +[2026-01-20 06:42:21] [INFO] [Monitor] App fidelizacion ya existe (ID: 4), actualizando... +[2026-01-20 06:42:21] [ERROR] [Monitor] Error sincronizando fidelizacion | HTTP 500 Internal Server Error: {"success":false,"message":"Error al actualizar el estado","error":"Table 'webControl.app_service_history' doesn't exist"} +[2026-01-20 06:43:21] [INFO] [Monitor] App app_tareas ya existe (ID: 3), actualizando... +[2026-01-20 06:43:21] [ERROR] [Monitor] Error sincronizando app_tareas | HTTP 500 Internal Server Error: {"success":false,"message":"Error al actualizar el estado","error":"Table 'webControl.app_service_history' doesn't exist"} +[2026-01-20 06:43:21] [INFO] [Monitor] App fidelizacion ya existe (ID: 4), actualizando... +[2026-01-20 06:43:21] [ERROR] [Monitor] Error sincronizando fidelizacion | HTTP 500 Internal Server Error: {"success":false,"message":"Error al actualizar el estado","error":"Table 'webControl.app_service_history' doesn't exist"} +[2026-01-20 06:44:21] [INFO] [Monitor] App app_tareas ya existe (ID: 3), actualizando... +[2026-01-20 06:44:21] [ERROR] [Monitor] Error sincronizando app_tareas | HTTP 500 Internal Server Error: {"success":false,"message":"Error al actualizar el estado","error":"Table 'webControl.app_service_history' doesn't exist"} +[2026-01-20 06:44:21] [INFO] [Monitor] App fidelizacion ya existe (ID: 4), actualizando... +[2026-01-20 06:44:21] [ERROR] [Monitor] Error sincronizando fidelizacion | HTTP 500 Internal Server Error: {"success":false,"message":"Error al actualizar el estado","error":"Table 'webControl.app_service_history' doesn't exist"} +[2026-01-20 06:44:46] [INFO] [Sistema] Iniciando SIAX Agent +[2026-01-20 06:44:46] [INFO] [Sistema] Escaneando servicios systemd existentes... +[2026-01-20 06:44:46] [INFO] [Discovery] 🔍 Escaneando servicios systemd en: /etc/systemd/system +[2026-01-20 06:44:46] [INFO] [Discovery] ✅ Directorio /etc/systemd/system accesible +[2026-01-20 06:44:46] [INFO] [Discovery] 📊 Escaneados 131 archivos, 0 con prefijo 'siax-app-', 0 parseados exitosamente +[2026-01-20 06:44:46] [INFO] [Config] Usando archivo de configuración: config/monitored_apps.json +[2026-01-20 06:44:46] [INFO] [Config] ✅ Configuración cargada: 2 apps desde config/monitored_apps.json +[2026-01-20 06:44:46] [INFO] [Sistema] Servidor detectado: siax-intel +[2026-01-20 06:44:46] [INFO] [Sistema] Iniciando servidor unificado en puerto 8080 +[2026-01-20 06:44:46] [INFO] [Sistema] Sistema SIAX completamente operativo en puerto 8080 +[2026-01-20 06:44:46] [INFO] [Monitor] Vigilando procesos para siax-intel [SIAX-Agent/0.1.0 (linux/x86_64; Rust-Monitor)] +[2026-01-20 06:44:46] [INFO] [Monitor] Buscando app app_tareas en API central... +[2026-01-20 06:44:46] [INFO] [Monitor] App app_tareas encontrada en cloud (ID: 3) +[2026-01-20 06:44:46] [ERROR] [Monitor] Error sincronizando app_tareas | HTTP 500 Internal Server Error: {"success":false,"message":"Error al actualizar el estado","error":"Table 'webControl.app_service_history' doesn't exist"} +[2026-01-20 06:44:46] [INFO] [Monitor] Buscando app fidelizacion en API central... +[2026-01-20 06:44:46] [INFO] [Monitor] App fidelizacion encontrada en cloud (ID: 4) +[2026-01-20 06:44:46] [ERROR] [Monitor] Error sincronizando fidelizacion | HTTP 500 Internal Server Error: {"success":false,"message":"Error al actualizar el estado","error":"Table 'webControl.app_service_history' doesn't exist"} +[2026-01-20 06:45:08] [INFO] [WebSocket] Nueva conexión para logs de: fidelizacion +[2026-01-20 06:45:09] [INFO] [WebSocket] Nueva conexión para logs de: app_tareas +[2026-01-20 06:45:09] [INFO] [WebSocket] Conexión cerrada para: fidelizacion +[2026-01-21 17:08:02] [INFO] [Sistema] Iniciando SIAX Agent +[2026-01-21 17:08:02] [INFO] [Sistema] Escaneando servicios systemd existentes... +[2026-01-21 17:08:02] [INFO] [Discovery] 🔍 Escaneando servicios systemd en: /etc/systemd/system +[2026-01-21 17:08:02] [INFO] [Discovery] ✅ Directorio /etc/systemd/system accesible +[2026-01-21 17:08:02] [INFO] [Discovery] 📊 Escaneados 131 archivos, 0 con prefijo 'siax-app-', 0 parseados exitosamente +[2026-01-21 17:08:02] [INFO] [Config] Usando archivo de configuración: config/monitored_apps.json +[2026-01-21 17:08:02] [INFO] [Config] ✅ Configuración cargada: 2 apps desde config/monitored_apps.json +[2026-01-21 17:08:02] [INFO] [Sistema] Servidor detectado: siax-intel +[2026-01-21 17:08:02] [INFO] [Sistema] Iniciando servidor unificado en puerto 8080 +[2026-01-21 17:08:02] [INFO] [Sistema] Sistema SIAX completamente operativo en puerto 8080 +[2026-01-21 17:08:02] [INFO] [Monitor] Vigilando procesos para siax-intel [SIAX-Agent/0.1.0 (linux/x86_64; Rust-Monitor)] +[2026-01-21 17:08:02] [INFO] [Monitor] Buscando app app_tareas en API central... +[2026-01-21 17:08:03] [INFO] [Monitor] App app_tareas encontrada en cloud (ID: 3) +[2026-01-21 17:08:03] [ERROR] [Monitor] Error sincronizando app_tareas | HTTP 500 Internal Server Error: {"success":false,"message":"Error al actualizar el estado","error":"Table 'webControl.app_service_history' doesn't exist"} +[2026-01-21 17:08:03] [INFO] [Monitor] Buscando app fidelizacion en API central... +[2026-01-21 17:08:03] [INFO] [Monitor] App fidelizacion encontrada en cloud (ID: 4) +[2026-01-21 17:08:04] [ERROR] [Monitor] Error sincronizando fidelizacion | HTTP 500 Internal Server Error: {"success":false,"message":"Error al actualizar el estado","error":"Table 'webControl.app_service_history' doesn't exist"} +[2026-01-21 17:55:31] [INFO] [Sistema] Iniciando SIAX Agent +[2026-01-21 17:55:31] [INFO] [Sistema] Escaneando servicios systemd existentes... +[2026-01-21 17:55:31] [INFO] [Discovery] 🔍 Escaneando servicios systemd en: /etc/systemd/system +[2026-01-21 17:55:31] [INFO] [Discovery] ✅ Directorio /etc/systemd/system accesible +[2026-01-21 17:55:31] [INFO] [Discovery] 📊 Escaneados 131 archivos, 0 con prefijo 'siax-app-', 0 parseados exitosamente +[2026-01-21 17:55:31] [INFO] [Config] Usando archivo de configuración: config/monitored_apps.json +[2026-01-21 17:55:31] [INFO] [Config] ✅ Configuración cargada: 2 apps desde config/monitored_apps.json +[2026-01-21 17:55:31] [INFO] [Sistema] Servidor detectado: siax-intel +[2026-01-21 17:55:31] [INFO] [Sistema] Iniciando servidor unificado en puerto 8080 +[2026-01-21 17:55:31] [INFO] [Sistema] Sistema SIAX completamente operativo en puerto 8080 +[2026-01-21 17:55:32] [INFO] [Monitor] Vigilando procesos para siax-intel [SIAX-Agent/0.1.0 (linux/x86_64; Rust-Monitor)] +[2026-01-21 17:55:32] [INFO] [Monitor] Buscando app app_tareas en API central... +[2026-01-21 17:55:32] [INFO] [Monitor] App app_tareas encontrada en cloud (ID: 3) +[2026-01-21 17:55:32] [ERROR] [Monitor] Error sincronizando app_tareas | HTTP 500 Internal Server Error: {"success":false,"message":"Error al actualizar el estado","error":"Table 'webControl.app_service_history' doesn't exist"} +[2026-01-21 17:55:32] [INFO] [Monitor] Buscando app fidelizacion en API central... +[2026-01-21 17:55:33] [INFO] [Monitor] App fidelizacion encontrada en cloud (ID: 4) +[2026-01-21 17:55:33] [ERROR] [Monitor] Error sincronizando fidelizacion | HTTP 500 Internal Server Error: {"success":false,"message":"Error al actualizar el estado","error":"Table 'webControl.app_service_history' doesn't exist"} +[2026-01-21 17:56:33] [INFO] [Monitor] App app_tareas ya existe (ID: 3), actualizando... +[2026-01-21 17:56:33] [ERROR] [Monitor] Error sincronizando app_tareas | HTTP 500 Internal Server Error: {"success":false,"message":"Error al actualizar el estado","error":"Table 'webControl.app_service_history' doesn't exist"} +[2026-01-21 17:56:33] [INFO] [Monitor] App fidelizacion ya existe (ID: 4), actualizando... +[2026-01-21 17:56:33] [ERROR] [Monitor] Error sincronizando fidelizacion | HTTP 500 Internal Server Error: {"success":false,"message":"Error al actualizar el estado","error":"Table 'webControl.app_service_history' doesn't exist"} +[2026-01-21 17:57:30] [INFO] [Sistema] Iniciando SIAX Agent +[2026-01-21 17:57:30] [INFO] [Sistema] Escaneando servicios systemd existentes... +[2026-01-21 17:57:30] [INFO] [Discovery] 🔍 Escaneando servicios systemd en: /etc/systemd/system +[2026-01-21 17:57:30] [INFO] [Discovery] ✅ Directorio /etc/systemd/system accesible +[2026-01-21 17:57:30] [INFO] [Discovery] 📊 Escaneados 131 archivos, 0 con prefijo 'siax-app-', 0 parseados exitosamente +[2026-01-21 17:57:30] [INFO] [Config] Usando archivo de configuración: config/monitored_apps.json +[2026-01-21 17:57:30] [INFO] [Config] ✅ Configuración cargada: 2 apps desde config/monitored_apps.json +[2026-01-21 17:57:30] [INFO] [Sistema] Servidor detectado: siax-intel +[2026-01-21 17:57:30] [INFO] [Sistema] Iniciando servidor unificado en puerto 8080 +[2026-01-21 17:57:30] [INFO] [Sistema] Sistema SIAX completamente operativo en puerto 8080 +[2026-01-21 17:57:30] [INFO] [Monitor] Vigilando procesos para siax-intel [SIAX-Agent/0.1.0 (linux/x86_64; Rust-Monitor)] +[2026-01-21 17:57:30] [INFO] [Monitor] Buscando app app_tareas en API central... +[2026-01-21 17:57:30] [INFO] [Monitor] App app_tareas encontrada en cloud (ID: 3) +[2026-01-21 17:57:30] [ERROR] [Monitor] Error sincronizando app_tareas | HTTP 500 Internal Server Error: {"success":false,"message":"Error al actualizar el estado","error":"Table 'webControl.app_service_history' doesn't exist"} +[2026-01-21 17:57:30] [INFO] [Monitor] Buscando app fidelizacion en API central... +[2026-01-21 17:57:31] [INFO] [Monitor] App fidelizacion encontrada en cloud (ID: 4) +[2026-01-21 17:57:31] [ERROR] [Monitor] Error sincronizando fidelizacion | HTTP 500 Internal Server Error: {"success":false,"message":"Error al actualizar el estado","error":"Table 'webControl.app_service_history' doesn't exist"} +[2026-01-21 17:58:31] [INFO] [Monitor] App app_tareas ya existe (ID: 3), actualizando... +[2026-01-21 17:58:31] [ERROR] [Monitor] Error sincronizando app_tareas | HTTP 500 Internal Server Error: {"success":false,"message":"Error al actualizar el estado","error":"Table 'webControl.app_service_history' doesn't exist"} +[2026-01-21 17:58:31] [INFO] [Monitor] App fidelizacion ya existe (ID: 4), actualizando... +[2026-01-21 17:58:31] [ERROR] [Monitor] Error sincronizando fidelizacion | HTTP 500 Internal Server Error: {"success":false,"message":"Error al actualizar el estado","error":"Table 'webControl.app_service_history' doesn't exist"} +[2026-01-21 17:59:32] [INFO] [Monitor] App app_tareas ya existe (ID: 3), actualizando... +[2026-01-21 17:59:32] [ERROR] [Monitor] Error sincronizando app_tareas | HTTP 500 Internal Server Error: {"success":false,"message":"Error al actualizar el estado","error":"Table 'webControl.app_service_history' doesn't exist"} +[2026-01-21 17:59:32] [INFO] [Monitor] App fidelizacion ya existe (ID: 4), actualizando... +[2026-01-21 17:59:32] [ERROR] [Monitor] Error sincronizando fidelizacion | HTTP 500 Internal Server Error: {"success":false,"message":"Error al actualizar el estado","error":"Table 'webControl.app_service_history' doesn't exist"} +[2026-01-21 18:00:32] [INFO] [Monitor] App app_tareas ya existe (ID: 3), actualizando... +[2026-01-21 18:00:33] [ERROR] [Monitor] Error sincronizando app_tareas | HTTP 500 Internal Server Error: {"success":false,"message":"Error al actualizar el estado","error":"Table 'webControl.app_service_history' doesn't exist"} +[2026-01-21 18:00:33] [INFO] [Monitor] App fidelizacion ya existe (ID: 4), actualizando... +[2026-01-21 18:00:33] [ERROR] [Monitor] Error sincronizando fidelizacion | HTTP 500 Internal Server Error: {"success":false,"message":"Error al actualizar el estado","error":"Table 'webControl.app_service_history' doesn't exist"} +[2026-01-21 18:01:28] [INFO] [Sistema] Iniciando SIAX Agent +[2026-01-21 18:01:28] [INFO] [Sistema] Escaneando servicios systemd existentes... +[2026-01-21 18:01:28] [INFO] [Discovery] 🔍 Escaneando servicios systemd en: /etc/systemd/system +[2026-01-21 18:01:28] [INFO] [Discovery] ✅ Directorio /etc/systemd/system accesible +[2026-01-21 18:01:28] [INFO] [Discovery] 📊 Escaneados 131 archivos, 0 con prefijo 'siax-app-', 0 parseados exitosamente +[2026-01-21 18:01:28] [INFO] [Config] Usando archivo de configuración: config/monitored_apps.json +[2026-01-21 18:01:28] [INFO] [Config] ✅ Configuración cargada: 2 apps desde config/monitored_apps.json +[2026-01-21 18:01:28] [INFO] [Sistema] Servidor detectado: siax-intel +[2026-01-21 18:01:28] [INFO] [Sistema] Iniciando servidor unificado en puerto 8080 +[2026-01-21 18:01:28] [INFO] [Sistema] Sistema SIAX completamente operativo en puerto 8080 +[2026-01-21 18:01:28] [INFO] [Monitor] Vigilando procesos para siax-intel [SIAX-Agent/0.1.0 (linux/x86_64; Rust-Monitor)] +[2026-01-21 18:01:29] [INFO] [Monitor] Buscando app app_tareas en API central... +[2026-01-21 18:01:29] [INFO] [Monitor] App app_tareas encontrada en cloud (ID: 3) +[2026-01-21 18:01:29] [ERROR] [Monitor] Error sincronizando app_tareas | HTTP 500 Internal Server Error: {"success":false,"message":"Error al actualizar el estado","error":"Table 'webControl.app_service_history' doesn't exist"} +[2026-01-21 18:01:29] [INFO] [Monitor] Buscando app fidelizacion en API central... +[2026-01-21 18:01:29] [INFO] [Monitor] App fidelizacion encontrada en cloud (ID: 4) +[2026-01-21 18:01:30] [ERROR] [Monitor] Error sincronizando fidelizacion | HTTP 500 Internal Server Error: {"success":false,"message":"Error al actualizar el estado","error":"Table 'webControl.app_service_history' doesn't exist"} +[2026-01-21 18:01:42] [INFO] [API] 🗑️ Solicitud de eliminación para: app_tareas +[2026-01-21 18:01:42] [INFO] [AppManager] Desregistrando aplicación (soft delete): app_tareas +[2026-01-21 18:01:42] [WARNING] [API] App no encontrada en AppManager: Aplicación no encontrada: app_tareas +[2026-01-21 18:01:42] [INFO] [API] ✅ Soft delete en JSON: app_tareas +[2026-01-21 18:01:42] [INFO] [SystemCtl] Deteniendo servicio: siax-app-app_tareas.service +[2026-01-21 18:01:50] [INFO] [API] Deteniendo servicio: siax-app-app_tareas.service +[2026-01-21 18:01:50] [INFO] [SystemCtl] Deshabilitando servicio: siax-app-app_tareas.service +[2026-01-21 18:01:56] [INFO] [API] Deshabilitando servicio: siax-app-app_tareas.service +[2026-01-21 18:01:56] [INFO] [ServiceGenerator] Eliminando servicio: /etc/systemd/system/siax-app-app_tareas.service +[2026-01-21 18:01:56] [WARNING] [ServiceGenerator] Servicio no encontrado | siax-app-app_tareas.service +[2026-01-21 18:01:56] [INFO] [API] ✅ Archivo .service eliminado: siax-app-app_tareas.service +[2026-01-21 18:01:56] [INFO] [SystemCtl] Recargando daemon de systemd +[2026-01-21 18:01:59] [INFO] [API] 🔄 daemon-reload ejecutado diff --git a/src/api/handlers.rs b/src/api/handlers.rs index ac7f217..11af022 100644 --- a/src/api/handlers.rs +++ b/src/api/handlers.rs @@ -170,6 +170,7 @@ pub async fn update_app_handler( entry_point, node_bin, mode, + user: config.user.clone(), service_file_path, registered_at: chrono::Local::now().to_rfc3339(), deleted: false, diff --git a/src/config.rs b/src/config.rs index 5382b8c..3c11d4f 100644 --- a/src/config.rs +++ b/src/config.rs @@ -32,6 +32,10 @@ pub struct MonitoredApp { #[serde(default = "default_mode")] pub mode: String, + /// Usuario del sistema que ejecuta la aplicación + #[serde(default = "default_user")] + pub user: String, + /// Ruta completa al archivo .service de systemd #[serde(default)] pub service_file_path: String, @@ -64,6 +68,13 @@ fn default_mode() -> String { "production".to_string() } +fn default_user() -> String { + // Intentar obtener el usuario actual del sistema + std::env::var("USER") + .or_else(|_| std::env::var("LOGNAME")) + .unwrap_or_else(|_| "root".to_string()) +} + #[derive(Debug, Clone, Serialize, Deserialize)] pub struct AppConfig { pub apps: Vec, @@ -200,6 +211,7 @@ impl ConfigManager { entry_point: String::new(), node_bin: String::new(), mode: "production".to_string(), + user: default_user(), service_file_path: String::new(), registered_at, deleted: false, diff --git a/src/discovery.rs b/src/discovery.rs index f7d202a..b377da2 100644 --- a/src/discovery.rs +++ b/src/discovery.rs @@ -255,6 +255,7 @@ pub fn sync_discovered_services(services: Vec) { entry_point: service.entry_point.unwrap_or_default(), node_bin: service.node_bin.unwrap_or_default(), mode: service.node_env, + user: service.user.clone().unwrap_or_else(|| "root".to_string()), service_file_path: service.service_file.clone(), registered_at, deleted: false, diff --git a/src/orchestrator/app_manager.rs b/src/orchestrator/app_manager.rs index 8774300..80dd74d 100644 --- a/src/orchestrator/app_manager.rs +++ b/src/orchestrator/app_manager.rs @@ -86,6 +86,7 @@ impl AppManager { entry_point, node_bin, mode, + user: config.user.clone(), service_file_path, registered_at, deleted: false, diff --git a/web/edit.html b/web/edit.html index c1910f2..2421f6e 100644 --- a/web/edit.html +++ b/web/edit.html @@ -475,8 +475,8 @@ document.getElementById("working_directory").value = app.path || ""; - // El user no está en el JSON, usar valor por defecto - document.getElementById("user").value = "pablinux"; + // Cargar usuario desde JSON o usar valor por defecto + document.getElementById("user").value = app.user || "root"; document.getElementById("restart_policy").value = "always"; document.getElementById("app_type").value = "nodejs"; document.getElementById("description").value = "";