mirror of
https://github.com/MacRimi/ProxMenux.git
synced 2026-06-11 11:06:24 +00:00
Updated the Spanish roadmap document for ProxMenux, improving clarity and correcting phrasing throughout. Adjusted sections on version planning and contributions.
197 lines
8.7 KiB
Markdown
197 lines
8.7 KiB
Markdown
# <img src="https://raw.githubusercontent.com/MacRimi/ProxMenux/main/images/logo.png" alt="ProxMenux logo" width="40"/> ProxMenux — Roadmap
|
||
|
||
> Última actualización: **2026-05-20** · Versión actual: **1.2.1.2-beta**
|
||
> 🇬🇧 English version: [ROADMAP.md](ROADMAP.md)
|
||
|
||
Este documento es la hoja de ruta para llevar ProxMenux y
|
||
ProxMenux Monitor a un estado **listo para producción**. Está basado
|
||
en las dos infografías que un colaborador preparó y enriquecido con
|
||
una auditoría real del código actual.
|
||
|
||
## 🖼️ Infografías de origen
|
||
|
||
Las dos infografías son obra de
|
||
**[@pitiriguisvi](https://github.com/pitiriguisvi)** y resumen
|
||
visualmente las dos grandes áreas de trabajo — gracias por dedicarle
|
||
el tiempo:
|
||
|
||
| ProxMenux Monitor (Dashboard) | ProxMenux (Scripts) |
|
||
|---|---|
|
||
| <img src="images/proxmenux_phases_1.png" alt="Fases ProxMenux Monitor" width="380"/> | <img src="images/proxmenux_phases_2.png" alt="Fases ProxMenux" width="380"/> |
|
||
| *Mejoras recomendadas para hacerlo más seguro, útil y apto para producción* | *Mejoras recomendadas para hacerlo más seguro, auditable y apto para producción* |
|
||
|
||
**¿Qué se muestra?:**
|
||
|
||
* La tabla **Estado actual** refleja lo que YA existe hoy.
|
||
* El **Plan por versión** marca qué entra en cada release.
|
||
* La sección **Cambios publicados** se va rellenando a medida que
|
||
se cierren items, con la versión en la que se entregó.
|
||
|
||
Símbolos:
|
||
|
||
* 🟢 — Hecho y en producción
|
||
* 🟡 — Parcial (existe la base, falta UI o feature completa)
|
||
* 🔴 — Pendiente
|
||
|
||
---
|
||
|
||
## 🎯 Visión
|
||
|
||
> *"La prioridad no es añadir más métricas ni más scripts, sino mejorar
|
||
> seguridad, alertas, permisos, auditabilidad e integración real con
|
||
> Proxmox."*
|
||
|
||
ProxMenux ya es una herramienta para gestionar los nodos. El siguiente salto es convertirlo en una
|
||
herramienta **apta para entornos de producción y para clientes**:
|
||
|
||
* El operador tiene que poder dar **acceso de solo lectura** a
|
||
terceros sin miedo a que toquen nada.
|
||
* Tiene que existir un **historial auditable** de qué pasó y quién
|
||
lo hizo.
|
||
* Los cambios destructivos tienen que poder **previsualizarse y
|
||
revertirse**.
|
||
* La instalación tiene que poder operarse en **modo conservador**
|
||
cuando el nodo no es un laboratorio.
|
||
|
||
---
|
||
|
||
## 📊 Estado actual
|
||
|
||
### ProxMenux Monitor (Dashboard)
|
||
|
||
#### 1️⃣ Modo solo lectura
|
||
| Item | Estado | Notas |
|
||
|---|---|---|
|
||
| Separar monitorizar de controlar | 🔴 | El dashboard mezcla ambos hoy |
|
||
| Dashboard 100 % read-only | 🟡 | El scope `read_only` existe en los API tokens, falta exponerlo al usuario web |
|
||
| Sin acciones de start/stop por defecto | 🔴 | Requiere lo anterior |
|
||
| Ideal para clientes y producción | 🔴 | Llega cuando el modo solo lectura esté completo |
|
||
|
||
#### 2️⃣ Permisos y tokens
|
||
| Item | Estado | Notas |
|
||
|---|---|---|
|
||
| Roles viewer / operator / admin | 🔴 | Single-user hoy |
|
||
| Tokens con scopes | 🟡 | 2 scopes (`read_only`, `full_admin`), no granulares |
|
||
| Caducidad configurable | 🟡 | Hoy fija en 365 días |
|
||
| Tokens de solo lectura para NA / homepage | 🟢 | Cubierto por `scope=read_only` |
|
||
|
||
#### 3️⃣ Seguridad web
|
||
| Item | Estado | Notas |
|
||
|---|---|---|
|
||
| Bind a localhost o LAN | 🔴 | El backend escucha en `0.0.0.0:8008` |
|
||
| HTTPS y proxy inverso guiado | 🟢 | Documentado, ACME + self-signed CA trust |
|
||
| Allowlist IP opcional | 🔴 | No existe |
|
||
| Rate limits y bloqueo anti-fuerza bruta | 🟡 | Hay cooldown en login; no es un panel configurable. Fail2Ban es opcional |
|
||
|
||
#### 4️⃣ Logs y auditoría
|
||
| Item | Estado | Notas |
|
||
|---|---|---|
|
||
| Registrar login, logout e intentos fallidos | 🟡 | Se notifica `auth_fail`; no hay panel histórico |
|
||
| Guardar IP, usuario y token usado | 🟡 | Llega a notificación, no se persiste para auditar |
|
||
| Auditar accesos sobre VM/LXC | 🔴 | Las acciones de control no se registran |
|
||
| Historial claro con resultado y error | 🔴 | No hay pestaña "Audit" |
|
||
|
||
#### 5️⃣ Alertas útiles
|
||
| Item | Estado | Notas |
|
||
|---|---|---|
|
||
| CPU, RAM, disco y temperatura altos | 🟢 | Health Monitor + thresholds configurables |
|
||
| Snapshot / backup confirmado | 🟢 | Eventos `vzdump_complete` |
|
||
| SMART warnings y predicción | 🟢 | `disk_failure_predicted` + tiers de `disk_io_error` (1.2.1.2) |
|
||
| Telegram, Gotify, ntfy, email, webhook | 🟢 | 7 canales activos |
|
||
|
||
#### 6️⃣ PBS y cluster
|
||
| Item | Estado | Notas |
|
||
|---|---|---|
|
||
| Último backup por VM/LXC | 🔴 | No se muestra en ningún sitio; tampoco hay integración con PBS para listar/consultar backups |
|
||
| VMs sin backup y jobs fallidos | 🟡 | Detección **pasiva** de líneas `vzdump .* finished` en syslog (notificación), pero **no hay vista** de "VMs sin job de backup" ni integración con la API de jobs de PVE |
|
||
| Quorum, nodos, estado global | 🟡 | Detección **pasiva** de `quorum lost` / `split brain` en syslog. **No hay** panel de cluster ni consulta activa a la API (`pvecm status`, `/cluster/status`) |
|
||
| Dashboard de salud del entorno | 🔴 | El Health tab es del **nodo local**. No existe vista multi-nodo del cluster |
|
||
|
||
---
|
||
|
||
### ProxMenux (Scripts y Post-install)
|
||
|
||
#### 1️⃣ Seguridad operativa
|
||
| Item | Estado | Notas |
|
||
|---|---|---|
|
||
| Dry-run / previsualización antes de aplicar | 🔴 | No existe como flag general |
|
||
| Avisos delante de cambios críticos | 🟡 | Algunos diálogos, no uniforme |
|
||
| Verificación posterior de la acción | 🟡 | `update_component_status` registra el resultado |
|
||
| Confirmación reforzada en tareas sensibles | 🟡 | Hay `whiptail --yesno` en algunos scripts; no es regla |
|
||
|
||
#### 2️⃣ Rollback y recuperación
|
||
| Item | Estado | Notas |
|
||
|---|---|---|
|
||
| Restaurar última configuración válida | 🟢 | Sistema `backup_restore/` completo (host backup + `apply_pending_restore`) |
|
||
| Menú de recuperación antes de fallos | 🟡 | Existe el restore manual, falta un wizard preventivo |
|
||
| Revertir red / postinstall / grupos | 🟡 | El backup snapshotea, no hay rollback granular por subsistema |
|
||
| Empaquetado para diagnóstico (`bug-report`) | 🔴 | No existe el bundle |
|
||
|
||
#### 3️⃣ Scripts externos
|
||
| Item | Estado | Notas |
|
||
|---|---|---|
|
||
| Listas, hashes y firma | 🔴 | Se ejecutan sin verificación |
|
||
| Fijar versión / commit / hash | 🔴 | Helper-scripts traídos en vivo del upstream |
|
||
| Etiquetar nivel de riesgo | 🟡 | El menú nuevo añadió "richer context"; falta etiqueta formal |
|
||
| Mostrar script antes de ejecutarlo | 🔴 | Sin paso de preview |
|
||
|
||
#### 4️⃣ Logs y trazabilidad
|
||
| Item | Estado | Notas |
|
||
|---|---|---|
|
||
| Registrar acción, usuario y fecha | 🟡 | Logs en `/var/log/proxmenux/`, no estructurados |
|
||
| Guardar comandos y archivos modificados | 🔴 | No hay tracking de qué tocó cada script |
|
||
| Errores claros con código de salida | 🟡 | Algunos scripts sí; no es regla |
|
||
| Historial de cambios reciente | 🔴 | No hay UI "qué hizo ProxMenux en este host" |
|
||
|
||
#### 5️⃣ Modo producción
|
||
| Item | Estado | Notas |
|
||
|---|---|---|
|
||
| Perfil conservador para todo el nodo | 🔴 | El concepto no existe |
|
||
| Bloquear acciones destructivas por defecto | 🔴 | Tampoco |
|
||
| Limitar cambios de red sin confirmación | 🟡 | Algunos scripts piden confirmación |
|
||
| Más validaciones y avisos | 🟡 | Mejoras incrementales, no como modo |
|
||
|
||
#### 6️⃣ Entornos reales
|
||
| Item | Estado | Notas |
|
||
|---|---|---|
|
||
| Salida tipo "esto pasó" clara y multilingüe | 🟡 | `translate()` + `msg_*` funcionan; falta resumen final |
|
||
| Visibilidad de quorum / almacenamiento | 🔴 | El Monitor lo muestra, pero los **scripts** no inspeccionan ni reportan el estado de quorum/almacenamiento antes de actuar |
|
||
| Postinstall Proxmox Backup Server | 🔴 | No existe un script de instalación/configuración de PBS (sí existe el `Proxmox_Backup_Client.AppImage` que es el cliente, no el servidor) |
|
||
| Detector de fallos rápido para escenarios | 🟡 | Health Monitor; falta "preflight" antes de cada cambio |
|
||
|
||
---
|
||
|
||
|
||
## 📦 Cambios publicados
|
||
|
||
> Esta sección se actualiza con cada release.
|
||
> Aquí se anota qué pasó de pendiente (🔴 / 🟡) a hecho (🟢)
|
||
> y en qué versión.
|
||
|
||
| Fecha | Versión | Item | Notas |
|
||
|---|---|---|---|
|
||
| — | — | — | Aún no hay items cerrados de este roadmap |
|
||
|
||
---
|
||
|
||
## 🙏 Agradecimientos
|
||
|
||
* **[@pitiriguisvi](https://github.com/pitiriguisvi)** — autor de las
|
||
dos infografías originales sobre las que se construye este roadmap.
|
||
|
||
---
|
||
|
||
## 💬 Cómo aportar
|
||
|
||
Cualquier persona puede:
|
||
|
||
* Comentar en el item que considere prioritario o que falte.
|
||
* Proponer un nuevo item con el formato de la tabla
|
||
(categoría + descripción + por qué importa).
|
||
* Sugerir mover items entre versiones si el orden no encaja con
|
||
su uso real.
|
||
|
||
El roadmap es vivo y se reordena. La única regla es: **los items
|
||
solo cambian de estado 🔴/🟡 → 🟢 cuando hay código que los respalda
|
||
en una release publicada**.
|