feat: Agregar controles de Iniciar/Detener/Reiniciar en panel web

Cambios en el frontend (index.html):
- Cambiar header "Actions" a "Acciones"
- Agregar botones de control según estado de la app:
  * Si está Running: botones Detener (rojo) y Reiniciar (amarillo)
  * Si está Stopped: botón Iniciar (verde)
  * Siempre: botón Ver logs (azul)
- Agregar función controlApp() para llamar a la API
- Diálogo de confirmación antes de ejecutar acciones
- Recarga automática de la tabla después de ejecutar acción

Cambios en el backend (lifecycle.rs):
- Corregir formato de service_name en start_app()
- Corregir formato de service_name en stop_app()
- Corregir formato de service_name en restart_app()
- Ahora usa: siax-app-{app_name}.service en lugar de {app_name}.service

Los botones ahora funcionan correctamente con los servicios systemd
This commit is contained in:
2026-01-18 03:55:07 -05:00
parent 87ce154789
commit 868f3a2d30
2 changed files with 71 additions and 7 deletions

View File

@@ -26,7 +26,7 @@ impl LifecycleManager {
logger.info("Lifecycle", &format!("Iniciando aplicación: {}", app_name));
let service_name = format!("{}.service", app_name);
let service_name = format!("siax-app-{}.service", app_name);
SystemCtl::start(&service_name)?;
// Actualizar rate limiter
@@ -45,7 +45,7 @@ impl LifecycleManager {
logger.info("Lifecycle", &format!("Deteniendo aplicación: {}", app_name));
let service_name = format!("{}.service", app_name);
let service_name = format!("siax-app-{}.service", app_name);
SystemCtl::stop(&service_name)?;
// Actualizar rate limiter
@@ -64,7 +64,7 @@ impl LifecycleManager {
logger.info("Lifecycle", &format!("Reiniciando aplicación: {}", app_name));
let service_name = format!("{}.service", app_name);
let service_name = format!("siax-app-{}.service", app_name);
SystemCtl::restart(&service_name)?;
// Actualizar rate limiter