mirror of
https://github.com/MacRimi/ProxMenux.git
synced 2026-10-01 19:17:10 +00:00
ProxMenux 1.2.6.2-beta: OCI containers in the Monitor, docs and fixes
OCI manager Apps - App tab: containers installed from an OCI image are identified from their installation record; the application and image versions are shown and an update is detected by image digest; repository link; Refresh data. - Updates tab for OCI containers: Update and Recreate run the same flow as the OCI menu in the Monitor terminal; the pre-update backup can be kept in a backup storage; scheduled image updates with an optional minimum age. - Logs tab: console output of the application, kept on the host (lxc.console.logfile + logrotate) and followed live. - The Proxmox console opens a shell (cmode: shell) when the image has one. - A damaged image download is fetched again before failing. - Multi-container applications open at their LAN address; volume mount points on block storage report their usage. Monitor - Proxmox notifications are delivered to a loopback-only HTTP listener when HTTPS is enabled, so they no longer fail certificate verification. - Log persistence counts recurring patterns only; an ended burst is not reported as persistent and its warning clears on its own (#386). - Proxmox notification config backups are deduplicated and capped at three. - The update icon on the Apps page opens the container on its Updates tab. - Version 1.2.6.2-beta and its release notes in every Monitor language. Docs - OCI manager Apps and Audit & Report rebuilt as per-page message files, with a new page for OCI containers in the Monitor. - Seven pages fixed where rich-text tags were missing from t.rich. Translations - Spanish fixes across the OCI engine, the Monitor and the TUI menus. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
386d33df6e
commit
4437a671d2
@@ -157,12 +157,12 @@
|
||||
{
|
||||
"endpoint": "/api/vms/<vmid>/control",
|
||||
"method": "POST",
|
||||
"use": "Encender / apagar / apagar limpio / reiniciar una VM o contenedor LXC (las mismas operaciones que expone la modal VM & LXC del Monitor). Body: {\"action\": \"start|stop|shutdown|reboot\"}. Síncrono — devuelve el resultado directo sin necesidad de polling."
|
||||
"use": "Encender / apagar / apagar limpio / reiniciar una VM o contenedor LXC (las mismas operaciones que expone la modal VM & LXC del Monitor). El cuerpo lleva <code>action</code>: <code>start</code>, <code>stop</code>, <code>shutdown</code> o <code>reboot</code>. Síncrono — devuelve el resultado directo sin necesidad de polling."
|
||||
},
|
||||
{
|
||||
"endpoint": "/api/vms/<vmid>/backup",
|
||||
"method": "POST",
|
||||
"use": "Crear un backup vzdump de una VM o LXC. Body (todo opcional excepto cuando los defaults no encajan con tu layout de storage): {\"storage\": \"<pve-storage>\", \"mode\": \"snapshot|suspend|stop\", \"compress\": \"zstd|lzo|gz|none\", \"protected\": true, \"notes\": \"…\", \"notification\": \"auto|always|failure|never\", \"pbs_change_detection\": \"default|legacy|data\"}. Devuelve el UPID de la tarea PVE."
|
||||
"use": "Crear un backup vzdump de una VM o LXC. Campos del cuerpo, todos opcionales salvo cuando los valores por defecto no encajan con la distribución del almacenamiento: <code>storage</code> (un almacenamiento de PVE), <code>mode</code> (<code>snapshot</code>, <code>suspend</code> o <code>stop</code>), <code>compress</code> (<code>zstd</code>, <code>lzo</code>, <code>gz</code> o <code>none</code>), <code>protected</code> (<code>true</code> o <code>false</code>), <code>notes</code>, <code>notification</code> (<code>auto</code>, <code>always</code>, <code>failure</code> o <code>never</code>) y <code>pbs_change_detection</code> (<code>default</code>, <code>legacy</code> o <code>data</code>). Devuelve el UPID de la tarea PVE."
|
||||
},
|
||||
{
|
||||
"endpoint": "/api/vms/<vmid>/backups",
|
||||
|
||||
@@ -0,0 +1,146 @@
|
||||
{
|
||||
"meta": {
|
||||
"title": "Evaluación e inventario | Auditoría e informes",
|
||||
"description": "La evaluación de Auditoría e informes: perfiles de informe, clasificación de los resultados, riesgos aceptados, fuentes ilegibles, Lynis e inventario del nodo."
|
||||
},
|
||||
"header": {
|
||||
"title": "Evaluación e inventario",
|
||||
"description": "La evaluación inspecciona el nodo, conserva sus hallazgos y responde a preguntas distintas según el perfil de informe.",
|
||||
"section": "Auditoría e informes"
|
||||
},
|
||||
"sections": [
|
||||
{
|
||||
"id": "read-only",
|
||||
"blocks": [
|
||||
{
|
||||
"calloutInfo": {
|
||||
"title": "Una evaluación inspecciona; no cambia la configuración",
|
||||
"body": "Lee la configuración y el estado del host. Escribe sus resultados, informes y logs, y las comprobaciones de arranque pueden montar un momento las particiones de sistema EFI. La configuración que evalúa no se modifica."
|
||||
}
|
||||
},
|
||||
{
|
||||
"p": "<strong>Ejecutar evaluación</strong> inicia una ejecución con el perfil seleccionado en <strong>Informe</strong>. La vista muestra la fecha de la última ejecución y cuánto tiempo ha pasado."
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "profiles",
|
||||
"title": "Perfiles de informe",
|
||||
"intro": "Cada perfil responde a una pregunta distinta. Las comprobaciones y las secciones se seleccionan antes de componer el documento.",
|
||||
"blocks": [
|
||||
{
|
||||
"table": {
|
||||
"headers": ["Perfil", "Qué abarca"],
|
||||
"rows": [
|
||||
["Auditoría completa", "Todas las comprobaciones y toda la estructura disponible."],
|
||||
["Diagnóstico rápido", "Todas las comprobaciones; el resultado empieza por los hallazgos críticos, las advertencias y las lecturas que no pudieron verificarse."],
|
||||
["Inventario", "Una descripción del nodo, sin comprobaciones ni clasificación."],
|
||||
["Revisión de seguridad", "Exposición, acceso, privilegios, certificados, actualizaciones, repositorios y Lynis."],
|
||||
["Garantía de backups", "Cobertura, antigüedad, resultados, verificación, retención y recuperación de los backups."],
|
||||
["Capacidad y desgaste", "Margen de crecimiento, memoria, ocupación y vida útil de los discos."]
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"p": "El contenido de cada documento se describe en <reportsLink>Informes y comparaciones</reportsLink>."
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "results",
|
||||
"title": "Cómo se clasifican los resultados",
|
||||
"blocks": [
|
||||
{
|
||||
"table": {
|
||||
"headers": ["Clasificación", "Significado"],
|
||||
"rows": [
|
||||
["Crítico", "Una condición fallida con prioridad."],
|
||||
["Advertencia", "Una condición que requiere revisión, según la evidencia o la política."],
|
||||
["Observación", "Información sobre el nodo que no se presenta como fallo."],
|
||||
["Sin verificar", "La fuente que necesita la comprobación no pudo leerse. No significa que el problema no exista."],
|
||||
["Conforme", "La condición cumple el criterio aplicado."],
|
||||
["No aplicable", "Dentro del alcance de la comprobación no hay nada a lo que aplicarla."],
|
||||
["Riesgo aceptado", "El hallazgo existe y hay registrada una decisión sobre él."],
|
||||
["Excluido por política", "La política declara que el elemento queda fuera del recuento."]
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"p": "Los hallazgos pueden filtrarse por área: Sistema, Almacenamiento, Red, Seguridad, Backups, Invitados y Hardware. Cada hallazgo conserva su evidencia, con la fuente de la que se leyó."
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "unverified",
|
||||
"title": "Cuando una fuente no puede leerse",
|
||||
"blocks": [
|
||||
{
|
||||
"table": {
|
||||
"headers": ["Caso", "Comportamiento"],
|
||||
"rows": [
|
||||
["Sin verificar", "La comprobación conserva su identidad, indica en su evidencia qué fuente falló y no convierte la falta de datos en un resultado conforme."],
|
||||
["Evidencia incompleta", "El informe nombra la fuente y el momento de la recogida, de modo que un problema real puede distinguirse de una lectura insuficiente."],
|
||||
["Una nueva ejecución", "Una vez corregido el acceso, el paquete o el servicio, el mismo perfil se ejecuta de nuevo y la comparación muestra si el resultado pudo verificarse."]
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "lynis",
|
||||
"title": "Lynis",
|
||||
"blocks": [
|
||||
{
|
||||
"p": "La revisión de seguridad usa el informe de Lynis del host. Cuando Lynis no se ha ejecutado todavía, o su informe supera el umbral de antigüedad de la política, un diálogo ofrece <strong>Ejecutar con Lynis</strong>, que tarda unos minutos más, o <strong>Ejecutar sin Lynis</strong>, que usa el informe existente."
|
||||
},
|
||||
{
|
||||
"figure": {
|
||||
"src": "/monitor/audit/lynis-dialog.png",
|
||||
"alt": "Diálogo que ofrece ejecutar la evaluación con o sin Lynis",
|
||||
"caption": "El diálogo de Lynis antes de una revisión de seguridad."
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "accept",
|
||||
"title": "Aceptar un riesgo",
|
||||
"blocks": [
|
||||
{
|
||||
"p": "<strong>Aceptar riesgo</strong> registra una decisión sobre un hallazgo. El motivo es obligatorio y se guarda junto al autor y la fecha."
|
||||
},
|
||||
{
|
||||
"table": {
|
||||
"headers": ["Campo", "Opciones"],
|
||||
"rows": [
|
||||
["Motivo", "Texto libre, obligatorio."],
|
||||
["Deja de aplicarse tras", "90 días, 180 días, 1 año o no caduca. Al cumplirse el plazo, el hallazgo vuelve a estar activo."],
|
||||
["Recordarme revisarla", "Un recordatorio que devuelve la decisión a la atención mientras sigue en vigor."]
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"p": "Un hallazgo aceptado sigue visible con su decisión, y <strong>Volver a activo</strong> la revoca. Un riesgo aceptado no es una corrección: la comparación lo presenta como aceptado, no como resuelto."
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "inventory",
|
||||
"title": "Inventario",
|
||||
"blocks": [
|
||||
{
|
||||
"list": {
|
||||
"items": [
|
||||
"Identidad, versión de Proxmox VE, kernel, suscripción y clúster.",
|
||||
"CPU, memoria, placa, BIOS, controladoras e IOMMU.",
|
||||
"Discos, SMART, horas de funcionamiento y eventos registrados.",
|
||||
"Adaptadores, bonds, bridges, latencia y conexiones.",
|
||||
"Almacenamiento, invitados con sus discos e interfaces, y backups.",
|
||||
"Passthrough PCI y el software que gestiona ProxMenux."
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,148 @@
|
||||
{
|
||||
"meta": {
|
||||
"title": "Cambios | Auditoría e informes",
|
||||
"description": "El registro de cambios de Auditoría e informes: qué ha cambiado ProxMenux en el host, qué había antes, la diferencia y si puede deshacerse."
|
||||
},
|
||||
"header": {
|
||||
"title": "Cambios",
|
||||
"description": "El registro de las operaciones que ProxMenux realiza en el host y, cuando se capturó, el estado antes y después de cada una.",
|
||||
"section": "Auditoría e informes"
|
||||
},
|
||||
"sections": [
|
||||
{
|
||||
"id": "purpose",
|
||||
"blocks": [
|
||||
{
|
||||
"calloutInfo": {
|
||||
"title": "Del script que se ejecutó al cambio que hizo",
|
||||
"body": "Una función extensa puede cambiar solo dos líneas. El registro conserva cada operación concreta con el script, la función y la versión responsables, el recurso afectado, la diferencia y si puede deshacerse."
|
||||
}
|
||||
},
|
||||
{
|
||||
"flow": {
|
||||
"nodes": [
|
||||
{ "label": "Script", "detail": "función + versión" },
|
||||
{ "label": "Captura", "detail": "contenido previo" },
|
||||
{ "label": "Operación", "detail": "archivo · paquete · servicio" },
|
||||
{ "label": "Registro", "detail": "atribución + diferencia" }
|
||||
],
|
||||
"caption": "La captura se toma al ejecutarse la operación y se consolida cuando el Monitor lee el registro."
|
||||
}
|
||||
},
|
||||
{
|
||||
"figure": {
|
||||
"src": "/monitor/audit/changes-view.png",
|
||||
"alt": "Vista Cambios de Auditoría e informes con las entradas agrupadas por opción de post-install y por script",
|
||||
"caption": "La vista Cambios, con la diferencia de un archivo editado por ProxMenux."
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "types",
|
||||
"title": "Tipos de entrada",
|
||||
"intro": "El filtro de la parte superior separa las entradas por tipo.",
|
||||
"blocks": [
|
||||
{
|
||||
"table": {
|
||||
"headers": ["Tipo", "Qué registra"],
|
||||
"rows": [
|
||||
["Configuración", "ProxMenux escribió, editó o eliminó un archivo, cambió un ajuste o alteró un servicio."],
|
||||
["Instalaciones", "ProxMenux añadió un paquete o componente, y se registran los paquetes que aparecieron realmente."],
|
||||
["Ejecuciones", "ProxMenux ejecutó un comando; lo que cambió depende del propio comando."],
|
||||
["Aplicado", "Una función se aplicó antes de que existiera el registro; el estado previo no se capturó."]
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "groups",
|
||||
"title": "Cómo se organiza la vista",
|
||||
"blocks": [
|
||||
{
|
||||
"table": {
|
||||
"headers": ["Sección", "Contenido"],
|
||||
"rows": [
|
||||
["Optimizaciones de post-install", "Agrupadas por la opción de post-install que seleccionó el usuario."],
|
||||
["Scripts de ProxMenux", "GPU, Coral, red, almacenamiento, seguridad, utilidades y el resto de scripts instrumentados, incluidos el instalador de ProxMenux y ProxMenux Monitor."],
|
||||
["Paquetes y utilidades instalados", "Software que ProxMenux instaló en el host."]
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"p": "Dentro de cada sección, <strong>Por función</strong> agrupa las entradas bajo la función que las hizo."
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "entry",
|
||||
"title": "Qué muestra cada entrada",
|
||||
"blocks": [
|
||||
{
|
||||
"list": {
|
||||
"items": [
|
||||
"El script, la función y la versión responsables.",
|
||||
"La fecha y el recurso afectado.",
|
||||
"El estado conocido antes y después del cambio.",
|
||||
"Las líneas añadidas y eliminadas.",
|
||||
"Los paquetes que se añadieron realmente.",
|
||||
"La transición de estado de un servicio.",
|
||||
"<strong>Deshacer esto</strong>: <em>Restaura exactamente lo que había</em>, <em>Elimina el fichero (no había ninguno antes)</em>, <em>Se puede desinstalar el paquete</em>, un deshacer parcial o <em>No se puede deshacer desde el registro</em>."
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "before",
|
||||
"title": "Qué significa el estado previo",
|
||||
"blocks": [
|
||||
{
|
||||
"p": "El estado previo puede ser contenido capturado, un archivo creado por primera vez o un estado desconocido. Los cambios hechos antes de que existiera el registro no pueden reconstruirse; al volver a ejecutar la función se captura primero el estado encontrado en ese momento."
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "limits",
|
||||
"title": "Alcance del registro",
|
||||
"blocks": [
|
||||
{
|
||||
"list": {
|
||||
"items": [
|
||||
"Los cambios manuales y los de otro software no se registran.",
|
||||
"Solo se cubren las operaciones que pasan por las primitivas de auditoría de ProxMenux.",
|
||||
"El registro nunca bloquea la operación que describe: si la entrada no puede escribirse, la operación continúa.",
|
||||
"Los cambios sucesivos de un mismo recurso se muestran como el origen conocido frente al estado actual."
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "retention",
|
||||
"title": "Evidencia guardada",
|
||||
"blocks": [
|
||||
{
|
||||
"table": {
|
||||
"headers": ["Elemento", "Comportamiento"],
|
||||
"rows": [
|
||||
["Entradas", "Se conservan en el host; del registro no se elimina nada automáticamente."],
|
||||
["Contenido capturado", "Un objeto capturado se conserva mientras alguna entrada lo referencia."],
|
||||
["Tamaño de una captura", "El contenido de más de 1 MiB no se guarda entero; la entrada registra que la captura se omitió por su tamaño."],
|
||||
["Lectura", "El Monitor no carga objetos guardados de más de 2 MiB."],
|
||||
["Diferencia", "Se muestran como máximo 400 líneas, y una diferencia más larga se marca como truncada."],
|
||||
["Listado", "La API devuelve 200 entradas por petición por defecto y hasta 1000."]
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"calloutWarning": {
|
||||
"title": "Conservar el contenido no es deshacer automáticamente",
|
||||
"body": "El contenido previo a un cambio puede consultarse y restaurarse a mano, pero la vista Cambios no revierte operaciones. Una entrada de ejecución registra el comando sin conocer todos los efectos de la herramienta que ejecutó."
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,83 @@
|
||||
{
|
||||
"meta": {
|
||||
"title": "Auditoría e informes | ProxMenux Monitor",
|
||||
"description": "Evaluación de un nodo Proxmox VE, registro de lo que ProxMenux ha cambiado en él y declaración de lo que se espera de sus invitados y almacenamientos, con informes imprimibles."
|
||||
},
|
||||
"header": {
|
||||
"title": "Auditoría e informes",
|
||||
"description": "Una evaluación del nodo, el registro de lo que ProxMenux ha cambiado en él y la declaración de lo que se espera de él, con documentos que pueden imprimirse o guardarse como PDF.",
|
||||
"section": "ProxMenux Monitor"
|
||||
},
|
||||
"sections": [
|
||||
{
|
||||
"id": "views",
|
||||
"blocks": [
|
||||
{
|
||||
"calloutInfo": {
|
||||
"title": "Tres vistas, tres preguntas",
|
||||
"body": "Auditoría e informes separa los hechos del nodo, las intervenciones de ProxMenux y las expectativas declaradas para él. Una configuración que la evaluación no puede contrastar con una finalidad declarada se describe, no se presenta como un fallo."
|
||||
}
|
||||
},
|
||||
{
|
||||
"cards": {
|
||||
"items": [
|
||||
{ "icon": "shield", "title": "Evaluación: ¿cómo está el nodo?", "body": "Ejecuta las comprobaciones del perfil elegido, compone el inventario y clasifica lo que requiere atención, con la evidencia de cada resultado." },
|
||||
{ "icon": "refresh", "title": "Cambios: ¿qué ha hecho ProxMenux?", "body": "Enumera los archivos, paquetes, servicios y comandos que han cambiado los scripts instrumentados de ProxMenux, con lo que había antes cuando se capturó." },
|
||||
{ "icon": "fileText", "title": "Política: ¿qué se espera?", "body": "Declara qué invitados necesitan backup o deben arrancar con el host, qué almacenamiento es esencial y los umbrales de las comprobaciones." }
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"flow": {
|
||||
"nodes": [
|
||||
{ "label": "Evaluación", "detail": "hechos" },
|
||||
{ "label": "Política", "detail": "contexto" },
|
||||
{ "label": "Cambios", "detail": "intervenciones" }
|
||||
],
|
||||
"caption": "La evaluación aporta los hechos, la política les da contexto y el registro recoge lo que ha hecho ProxMenux."
|
||||
}
|
||||
},
|
||||
{
|
||||
"figure": {
|
||||
"src": "/monitor/audit/assessment-view.png",
|
||||
"alt": "Auditoría e informes en ProxMenux Monitor con las vistas Evaluación, Cambios y Política",
|
||||
"caption": "Auditoría e informes, con la vista Evaluación abierta."
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "boundaries",
|
||||
"title": "Tres funciones distintas",
|
||||
"blocks": [
|
||||
{
|
||||
"table": {
|
||||
"headers": ["Función", "Qué hace"],
|
||||
"rows": [
|
||||
["<healthLink>Health Monitor</healthLink>", "Observa métricas y eventos de forma continua y puede generar notificaciones."],
|
||||
["Auditoría e informes", "Ejecuta una evaluación cuando se pide, documenta el nodo y compara ejecuciones entre sí."],
|
||||
["Registro de cambios", "Registra las operaciones que ProxMenux realiza a través de sus primitivas de auditoría."]
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "pages",
|
||||
"title": "Páginas de esta sección",
|
||||
"blocks": [
|
||||
{
|
||||
"next": {
|
||||
"items": [
|
||||
{ "label": "Evaluación e inventario", "href": "/docs/monitor/audit-report/assessment", "tail": "perfiles, resultados, riesgos aceptados e inventario." },
|
||||
{ "label": "Cambios", "href": "/docs/monitor/audit-report/changes", "tail": "el registro de lo que ProxMenux ha cambiado en el host." },
|
||||
{ "label": "Política", "href": "/docs/monitor/audit-report/policy", "tail": "invitados, almacenamiento y umbrales." },
|
||||
{ "label": "Informes y comparaciones", "href": "/docs/monitor/audit-report/reports", "tail": "los seis documentos y la ejecución de referencia." },
|
||||
{ "label": "Alcance y garantías", "href": "/docs/monitor/audit-report/scope", "tail": "fuentes, límites y datos guardados." }
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,95 @@
|
||||
{
|
||||
"meta": {
|
||||
"title": "Política | Auditoría e informes",
|
||||
"description": "La política del nodo en Auditoría e informes: backup, arranque y objetivo de recuperación de cada invitado, el papel de cada almacenamiento y los umbrales de las comprobaciones."
|
||||
},
|
||||
"header": {
|
||||
"title": "Política",
|
||||
"description": "La política declara lo que ninguna inspección puede deducir: para qué sirve cada invitado y almacenamiento y los umbrales que aplican las comprobaciones.",
|
||||
"section": "Auditoría e informes"
|
||||
},
|
||||
"sections": [
|
||||
{
|
||||
"id": "principle",
|
||||
"blocks": [
|
||||
{
|
||||
"calloutInfo": {
|
||||
"title": "Sin declaración, el informe describe; con ella, evalúa",
|
||||
"body": "Una evaluación ve lo que hace el host, no para qué sirve. Un invitado sin backup cuya finalidad no está declarada se presenta como observación. Si su backup se declara obligatorio, la misma ausencia se presenta como advertencia. No es obligatorio declarar nada."
|
||||
}
|
||||
},
|
||||
{
|
||||
"figure": {
|
||||
"src": "/monitor/audit/policy-view.png",
|
||||
"alt": "Vista Política con los invitados, el almacenamiento y los umbrales del nodo",
|
||||
"caption": "La vista Política."
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "guests",
|
||||
"title": "Invitados",
|
||||
"intro": "Cada VM y LXC del nodo tiene tres campos. Un valor que se deja por defecto toma el valor general, que se muestra a su lado.",
|
||||
"blocks": [
|
||||
{
|
||||
"table": {
|
||||
"headers": ["Campo", "Valores", "Efecto en la evaluación"],
|
||||
"rows": [
|
||||
["Backup", "Obligatorio, No obligatorio, Sin especificar", "La falta de backup es una advertencia si es obligatorio, una observación si no se especifica, y queda fuera del recuento si no es obligatorio."],
|
||||
["Arranque", "Obligatorio, No obligatorio, Sin especificar", "Si el invitado debe arrancar con el host."],
|
||||
["Objetivo de recuperación", "Horas", "La antigüedad máxima aceptable del último backup."]
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "storage",
|
||||
"title": "Almacenamiento",
|
||||
"intro": "Cada almacenamiento del nodo se declara Esencial, Opcional o Sin especificar.",
|
||||
"blocks": [
|
||||
{
|
||||
"p": "Un almacenamiento inaccesible se presenta como crítico cuando se declara esencial o sirve a un invitado en marcha, como advertencia cuando su papel no se especifica, y como observación cuando se declara opcional."
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "thresholds",
|
||||
"title": "Umbrales",
|
||||
"intro": "Un umbral vacío usa el valor de fábrica, que se muestra como texto de ejemplo.",
|
||||
"blocks": [
|
||||
{
|
||||
"list": {
|
||||
"items": [
|
||||
"Revisión de capacidad de almacenamiento (%) y revisión de ocupación de thin pool (%).",
|
||||
"Ratio de sobreaprovisionamiento thin y ratio de sobreasignación de memoria.",
|
||||
"Intervalo de scrub de ZFS (días).",
|
||||
"Plazo de respaldo para la antigüedad (días) y margen sobre el calendario (ratio).",
|
||||
"Aviso de caducidad de certificado (días).",
|
||||
"Vida útil del disco (horas) y ventana de errores de disco recientes (días).",
|
||||
"Antigüedad del informe de Lynis (días) y antigüedad de los índices de paquetes (días).",
|
||||
"Journal frente a su tope (%).",
|
||||
"Revisión de espacio del sistema de archivos (%) y revisión de inodos del sistema de archivos (%)."
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "save",
|
||||
"title": "Cómo se guarda la política",
|
||||
"blocks": [
|
||||
{
|
||||
"p": "La declaración se valida y se guarda de forma atómica en <code>/usr/local/share/proxmenux/audit_policy.json</code>. Cada guardado lleva una revisión: si la declaración cambió en otra sesión, el borrador no se guarda y la vista ofrece recargar la declaración guardada."
|
||||
},
|
||||
{
|
||||
"calloutWarning": {
|
||||
"title": "La política nunca se deduce",
|
||||
"body": "ProxMenux no añade ningún requisito por su cuenta. Un campo vacío conserva el valor de fábrica o queda sin especificar, y una declaración parcial solo afecta a los elementos que nombra."
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,160 @@
|
||||
{
|
||||
"meta": {
|
||||
"title": "Informes y comparaciones | Auditoría e informes",
|
||||
"description": "Los seis documentos de Auditoría e informes, cómo se imprimen o guardan como PDF y cómo se comparan las ejecuciones con una ejecución de referencia."
|
||||
},
|
||||
"header": {
|
||||
"title": "Informes y comparaciones",
|
||||
"description": "Seis documentos, cada uno compuesto para una pregunta distinta, y la comparación de cada ejecución con una ejecución de referencia.",
|
||||
"section": "Auditoría e informes"
|
||||
},
|
||||
"sections": [
|
||||
{
|
||||
"id": "intro",
|
||||
"blocks": [
|
||||
{
|
||||
"calloutInfo": {
|
||||
"title": "Seis documentos, no seis estilos",
|
||||
"body": "El motor selecciona las comprobaciones y las secciones antes de componer el documento. Un diagnóstico rápido no es una auditoría completa con menos páginas, y un inventario no presenta resultados de evaluación. Los documentos de muestra usan datos ficticios."
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "documents",
|
||||
"title": "Los seis documentos",
|
||||
"blocks": [
|
||||
{
|
||||
"downloads": {
|
||||
"items": [
|
||||
{
|
||||
"title": "Auditoría completa",
|
||||
"body": "Documenta el nodo de extremo a extremo como registro técnico.",
|
||||
"href": "/monitor/audit/sample-audit-full-report.pdf",
|
||||
"facts": [
|
||||
{ "label": "Comprobaciones", "value": "Todas las disponibles." },
|
||||
{ "label": "Contenido", "value": "Resumen ejecutivo; identidad y clúster; hardware; red y latencia; almacenamiento; invitados; passthrough; aplicaciones; hallazgos con evidencia; fuentes y alcance." }
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Diagnóstico rápido",
|
||||
"body": "Muestra lo que requiere atención sin el inventario completo.",
|
||||
"href": "/monitor/audit/sample-audit-diagnostic-report.pdf",
|
||||
"facts": [
|
||||
{ "label": "Comprobaciones", "value": "Las mismas que la auditoría completa." },
|
||||
{ "label": "Contenido", "value": "Identidad mínima; hallazgos críticos; advertencias; observaciones relevantes; lecturas sin verificar y acciones prioritarias. Deja fuera diagramas, inventario y anexos extensos." }
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Inventario",
|
||||
"body": "Describe lo que existe en el nodo sin evaluarlo.",
|
||||
"href": "/monitor/audit/sample-audit-inventory-report.pdf",
|
||||
"facts": [
|
||||
{ "label": "Comprobaciones", "value": "Ninguna; no se clasifica ningún hallazgo." },
|
||||
{ "label": "Contenido", "value": "Identidad; clúster; CPU y memoria; placa, BIOS y controladoras; red; almacenamiento; VM y LXC; passthrough; aplicaciones y elementos gestionados por ProxMenux." }
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Revisión de seguridad",
|
||||
"body": "Abarca la exposición y los controles de acceso al nodo.",
|
||||
"href": "/monitor/audit/sample-audit-security-report.pdf",
|
||||
"facts": [
|
||||
{ "label": "Comprobaciones", "value": "El área de seguridad, más los privilegios de los contenedores, las actualizaciones, los repositorios y la cadena APT." },
|
||||
{ "label": "Contenido", "value": "Identidad y clúster; red y latencia; acceso; cortafuegos; 2FA; certificados; privilegios; actualizaciones; repositorios; estado y antigüedad de Lynis." }
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Garantía de backups",
|
||||
"body": "Comprueba que la protección declarada existe y que sus backups son utilizables.",
|
||||
"href": "/monitor/audit/sample-audit-backup-report.pdf",
|
||||
"facts": [
|
||||
{ "label": "Comprobaciones", "value": "El área de backups, más la conectividad del almacenamiento y la entrega de notificaciones." },
|
||||
{ "label": "Contenido", "value": "Cobertura por invitado; objetivo de recuperación declarado; antigüedad y resultado; destino; retención; verificación; trabajos fallidos; recuperación y fuentes incompletas." }
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Capacidad y desgaste",
|
||||
"body": "Mide el margen de crecimiento y las señales de agotamiento o envejecimiento.",
|
||||
"href": "/monitor/audit/sample-audit-capacity-report.pdf",
|
||||
"facts": [
|
||||
{ "label": "Comprobaciones", "value": "Las áreas de almacenamiento y hardware, más memoria, swap, journal y el sistema de archivos del host." },
|
||||
{ "label": "Contenido", "value": "Ocupación y umbrales; thin pools; sobreaprovisionamiento; memoria; inodos; ZFS; temperaturas; horas de funcionamiento; errores SMART y vida útil de NVMe/SSD." }
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"figure": {
|
||||
"src": "/monitor/audit/audit-report-preview.png",
|
||||
"alt": "Primera página de un informe de auditoría completa",
|
||||
"caption": "Todos los documentos comparten el identificador del informe, las secciones numeradas, la fecha, el nodo, el perfil y el pie de página."
|
||||
}
|
||||
},
|
||||
{
|
||||
"p": "Un documento contiene la identidad del nodo y la fecha de la evaluación, el resultado ejecutivo, un resumen por áreas, la estructura de hardware, red y almacenamiento, la protección de los invitados, los hallazgos con su evidencia, las fuentes que no pudieron leerse, y el alcance y la política aplicada, en la medida en que cada perfil los incluye."
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "print",
|
||||
"title": "Imprimir o guardar como PDF",
|
||||
"blocks": [
|
||||
{
|
||||
"steps": {
|
||||
"items": [
|
||||
{ "title": "Ejecutar", "body": "Una evaluación se ejecuta con el perfil seleccionado en <strong>Informe</strong>." },
|
||||
{ "title": "Revisar", "body": "La ejecución terminada muestra sus hallazgos, las fuentes que no pudo leer y la política que aplicó." },
|
||||
{ "title": "Generar informe", "body": "<strong>Generar informe</strong> abre la vista preparada como documento." },
|
||||
{ "title": "Imprimir", "body": "<strong>Imprimir o guardar como PDF</strong> abre el diálogo de impresión del navegador, donde se selecciona una impresora o <em>Guardar como PDF</em>." }
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"calloutTip": {
|
||||
"title": "La impresión es un documento, no una captura",
|
||||
"body": "La barra de acciones se oculta, una tabla que continúa en la página siguiente repite su cabecera, los bloques evitan cortes innecesarios y cada página conserva la identificación y la numeración."
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "compare",
|
||||
"title": "Comparar con una ejecución de referencia",
|
||||
"intro": "<strong>Usar como referencia</strong> marca una ejecución terminada como referencia. Las ejecuciones posteriores se comparan con ella y sus hallazgos se separan en:",
|
||||
"blocks": [
|
||||
{
|
||||
"table": {
|
||||
"headers": ["Grupo", "Significado"],
|
||||
"rows": [
|
||||
["Nuevos", "Presentes ahora y no antes."],
|
||||
["Empeoraron", "Siguen presentes, y son más graves o afectan a más que antes."],
|
||||
["Mejoraron", "Siguen presentes, pero son menos graves o afectan a menos que antes."],
|
||||
["Resueltos", "Ya no aparecen, y nadie los aceptó."],
|
||||
["Aceptados", "Ya no cuentan porque se aceptó un riesgo, no porque haya cambiado el host."],
|
||||
["Ya no se evalúan", "Estaban antes y no aparecen en esta ejecución; nada ha verificado que hayan dejado de existir."]
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"table": {
|
||||
"headers": ["Ejecución de referencia", "Comportamiento"],
|
||||
"rows": [
|
||||
["Marcarla", "Puede marcarse cualquier ejecución terminada; ninguna se marca automáticamente."],
|
||||
["Cambiarla", "Marcar otra ejecución mueve la referencia sin borrar el historial."],
|
||||
["Comparar", "Si no se seleccionan dos ejecuciones, la comparación usa la referencia y la ejecución seleccionada o la más reciente."],
|
||||
["Conservar ejecuciones", "Se conservan las 30 ejecuciones más recientes, y la ejecución de referencia nunca se elimina."],
|
||||
["Sin referencia", "La vista indica que todavía no se ha elegido una ejecución de referencia, así que no hay con qué comparar."]
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"calloutWarning": {
|
||||
"title": "Un informe describe un momento",
|
||||
"body": "Una evaluación no certifica un periodo completo. Los resultados antiguos dejan de describir el estado actual; la vista muestra la antigüedad de la última ejecución y cada fuente conserva el momento en que se recogió."
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
{
|
||||
"meta": {
|
||||
"title": "Alcance y garantías | Auditoría e informes",
|
||||
"description": "De dónde proceden los datos de Auditoría e informes, qué queda fuera de su alcance, las garantías de su diseño y dónde se guardan sus datos."
|
||||
},
|
||||
"header": {
|
||||
"title": "Alcance y garantías",
|
||||
"description": "De dónde proceden los datos de una evaluación, qué queda fuera de su alcance y dónde guarda Auditoría e informes sus datos.",
|
||||
"section": "Auditoría e informes"
|
||||
},
|
||||
"sections": [
|
||||
{
|
||||
"id": "sees",
|
||||
"title": "Qué observa",
|
||||
"blocks": [
|
||||
{
|
||||
"list": {
|
||||
"items": [
|
||||
"La configuración y el estado del nodo local.",
|
||||
"La configuración declarada de las VM y los LXC.",
|
||||
"El estado del almacenamiento tal como lo conoce Proxmox VE.",
|
||||
"El historial disponible de backups y verificaciones.",
|
||||
"Los datos SMART y los eventos que ha recogido el Monitor.",
|
||||
"El estado de los servicios, el clúster, HA y las fuentes locales."
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "outside",
|
||||
"title": "Qué queda fuera de su alcance",
|
||||
"blocks": [
|
||||
{
|
||||
"list": {
|
||||
"items": [
|
||||
"El interior de los invitados, más allá de lo que declaran a Proxmox VE.",
|
||||
"El equipamiento de red fuera del host.",
|
||||
"Las dependencias remotas que el nodo no puede observar.",
|
||||
"El estado físico que el hardware no expone.",
|
||||
"Las acciones manuales o de otro software, en el registro de cambios."
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"calloutWarning": {
|
||||
"title": "La ausencia de evidencia no es evidencia de ausencia",
|
||||
"body": "Una fuente que no puede leerse da un resultado sin verificar o incompleto, nunca uno conforme. El informe enumera las fuentes que no estuvieron disponibles."
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "guarantees",
|
||||
"title": "Garantías del diseño",
|
||||
"blocks": [
|
||||
{
|
||||
"list": {
|
||||
"items": [
|
||||
"Identificadores estables para las comprobaciones.",
|
||||
"Historial de ejecuciones y hallazgos.",
|
||||
"Una política validada y guardada de forma atómica.",
|
||||
"Riesgos aceptados con motivo y visibles.",
|
||||
"Atribución de los cambios al script y a la función.",
|
||||
"Captura del estado anterior y posterior cuando está disponible.",
|
||||
"Un resultado explícito cuando algo no puede medirse o capturarse."
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "storage",
|
||||
"title": "Dónde se guardan los datos",
|
||||
"blocks": [
|
||||
{
|
||||
"table": {
|
||||
"headers": ["Datos", "Ubicación"],
|
||||
"rows": [
|
||||
["Política", "<code>/usr/local/share/proxmenux/audit_policy.json</code>"],
|
||||
["Evaluaciones", "La base de datos de auditoría del Monitor"],
|
||||
["Objetos capturados", "<code>/usr/local/share/proxmenux/changes/objects/</code>"],
|
||||
["Entradas pendientes", "<code>/usr/local/share/proxmenux/changes/spool/</code>"],
|
||||
["Registro consolidado", "<code>/usr/local/share/proxmenux/changes.db</code>"]
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"calloutInfo": {
|
||||
"title": "Una herramienta de revisión, no una certificación",
|
||||
"body": "Auditoría e informes revisa, compara y documenta el nodo. Sus resultados se leen junto con la finalidad del sistema, la política declarada y las fuentes disponibles."
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -96,7 +96,8 @@
|
||||
{ "method": "docker label / docker exec", "use": "Lee una etiqueta de versión OCI o ejecuta un comando de versión dentro de un contenedor Docker." },
|
||||
{ "method": "python distribution", "use": "Usa importlib.metadata mediante el intérprete de Python seleccionado." },
|
||||
{ "method": "command", "use": "Ejecuta un comando avanzado en formato argv, sin shell, y extrae la versión de su salida." },
|
||||
{ "method": "manual", "use": "Guarda una versión introducida manualmente; debe cambiarse después de actualizar la app." }
|
||||
{ "method": "manual", "use": "Guarda una versión introducida manualmente; debe cambiarse después de actualizar la app." },
|
||||
{ "method": "OCI image", "use": "Para contenedores instalados por OCI manager Apps. Lee las versiones de la aplicación y de la imagen del registro de la instalación y compara el digest instalado con el que publica el registro; no necesita configuración." }
|
||||
],
|
||||
"sourcesHeading": "Fuentes para la versión disponible",
|
||||
"sources": [
|
||||
|
||||
@@ -52,8 +52,8 @@
|
||||
},
|
||||
"drillIn": {
|
||||
"heading": "Modal de vista en detalle por guest",
|
||||
"intro": "El modal se abre con el nombre, VMID, tipo, estado y tiempo de actividad del sistema. La navegación se adapta al elemento: <strong>Estado</strong>, <strong>App</strong> y <strong>Actualizaciones</strong> para gestionar aplicaciones LXC, <strong>Montajes</strong> cuando existen puntos de montaje, además de <strong>Copias</strong> y <strong>Cortafuegos</strong>. La barra inferior mantiene los controles de ciclo de vida y el terminal LXC disponibles desde cualquier pestaña.",
|
||||
"statusTitle": "Pestaña 1 — Status",
|
||||
"intro": "El modal se abre con el nombre, VMID, tipo, estado y tiempo de actividad del sistema. La navegación se adapta al elemento: <strong>Estado</strong>, <strong>App</strong> y <strong>Actualizaciones</strong> para gestionar aplicaciones LXC, <strong>Montajes</strong> cuando existen puntos de montaje, <strong>Logs</strong> en los contenedores instalados por OCI manager Apps, además de <strong>Backups</strong> y <strong>Cortafuegos</strong>. La barra inferior mantiene los controles de ciclo de vida y el terminal LXC disponibles desde cualquier pestaña.",
|
||||
"statusTitle": "Pestaña 1 — Estado",
|
||||
"statusImageAlt": "Modal de vista en detalle por guest — pestaña Status con tarjetas en vivo de CPU / Memoria / Disco, totales de E/S de disco y red, el logo de distro del SO y el bloque Resources / IP Addresses",
|
||||
"statusImageCaption": "Pestaña Status — CPU / Memoria / Disco en vivo con barras de progreso arriba, totales de E/S acumulados (lectura/escritura de disco, descarga/subida de red) abajo, después el bloque estático Resources con expansiones de Notes y + Info y la lista de pastillas IP Addresses.",
|
||||
"statusIntro": "La pestaña por defecto — la vista \"¿este guest se está portando?\". Tres bloques:",
|
||||
@@ -106,7 +106,9 @@
|
||||
],
|
||||
"mountsCalloutTitle": "Lo que esto te da sobre la UI nativa",
|
||||
"mountsCalloutBody": "Una vista veraz y consciente de la capacidad de cada sitio donde el contenedor lee o escribe. Shares NFS o CIFS montados desde dentro del CT — invisibles para la UI web de Proxmox — aparecen aquí con el mismo aspecto y la misma sonda de salud que cualquier mount point configurado. Mounts remotos stale y zombie binds salen marcados antes de que muerdan durante un backup.",
|
||||
"backupsTitle": "Pestaña 5 — Copias",
|
||||
"logsTitle": "Pestaña 5 — Logs (solo contenedores OCI)",
|
||||
"logsBody": "Solo aparece en los contenedores instalados por OCI manager Apps. Muestra la salida de consola del proceso principal de la imagen, guardada en el host en <code>/var/log/proxmenux/oci/VMID.console.log</code>: las últimas 100, 500 o 1000 líneas, seguidas en directo con el contenedor en marcha, con un filtro y una descarga. Lee el archivo cada vez que se abre, así que también funciona con el contenedor detenido. Los detalles están en <ociLink>Contenedores OCI en ProxMenux Monitor</ociLink>.",
|
||||
"backupsTitle": "Pestaña 6 — Backups",
|
||||
"backupsImageAlt": "Modal de vista en detalle por guest — pestaña Backups con la lista de backups disponibles, etiqueta de destino, tamaños y el botón Create Backup",
|
||||
"backupsImageCaption": "Pestaña Backups — cada backup almacenado en los almacenamientos Proxmox configurados para este guest, ordenados de más nuevo a más viejo. La cabecera de la pestaña lleva la insignia de recuento.",
|
||||
"backupsIntro": "Lista cada backup almacenado en los almacenamientos Proxmox configurados para este guest, ordenados de más nuevo a más viejo. El título de la pestaña lleva una insignia de recuento para que veas de un vistazo si el guest está backupeado. Por fila:",
|
||||
@@ -116,7 +118,7 @@
|
||||
"<strong>Size</strong> — tamaño final en disco del backup."
|
||||
],
|
||||
"backupsOutro": "El botón <strong>+ Create Backup</strong> arriba a la derecha arranca una nueva ejecución en el almacenamiento marcado como \"Backup target\" en la config de almacenamiento de Proxmox. El restore vive en la UI web de Proxmox — el Monitor expone la vista \"¿este guest tiene backup reciente?\", no el flujo de recuperación.",
|
||||
"firewallTitle": "Pestaña 6 — Cortafuegos",
|
||||
"firewallTitle": "Pestaña 7 — Cortafuegos",
|
||||
"firewallIntro": "Lee el log de firewall de Proxmox por guest directamente del host (sin servicio extra, sin polling). La pestaña siempre está presente en la barra de navegación; el panel decide qué renderizar dependiendo de si el firewall está activo para ese guest y si alguna regla está logueando realmente:",
|
||||
"firewallItems": [
|
||||
"<strong>Firewall disabled</strong> — un aviso ámbar explica exactamente dónde activarlo en la UI de Proxmox (<em><Container|VM> → Firewall → Options</em>) y te recuerda que al menos una regla necesita <code>log: info</code> (o superior) antes de que aparezcan paquetes.",
|
||||
|
||||
Reference in New Issue
Block a user