Add audit and reports page, and a change journal

ProxMenux modifies the host: it rewrites configuration files, installs packages, enables services. Until now nobody could say afterwards what had changed, and showing the script does not answer that question — a four-hundred-line function may alter two values, and the reader has no way to know which two. This adds the two halves of an answer.

The change journal records what ProxMenux does as it does it. Eleven bash primitives capture the previous state, apply the change and record it in the same step, writing to a spool that the Monitor reads back. One hundred and thirteen functions across twenty-five scripts are instrumented, covering post-install, shared storage, security tooling, container conversions, disk operations and the PVE 8 to 9 upgrade path. The page shows the difference — rotate 7 becoming rotate 14 — and never the script. Restore and backup scripts are deliberately left out: a restore puts the host back to a state some other script already recorded.

The Audit and reports page answers the other half: what state is this host in, regardless of who put it there. Forty-three checks across seven areas read the host and classify each result as critical, warning, observation, conformant, unverified or not applicable, with the evidence they read attached to each one. A declared policy lets the reader say what this particular host is expected to do — which guests must have a backup, which storages are essential — so the report judges the host against its own intent rather than a generic template. An inventory records the hardware, network and guest topology behind those readings, a comparison shows what moved between two runs, and six report profiles produce a printable document scoped to what the reader needs. Everything is available in the eight supported languages.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
MacRimi
2026-09-08 21:06:04 +02:00
co-authored by Claude Opus 5
parent ae75508eff
commit da8a480eff
102 changed files with 24118 additions and 1403 deletions
+8 -8
View File
@@ -456,7 +456,7 @@
"Cannot proceed with invalid export path.": "Nedá sa pokračovať s neplatnou cestou exportu.",
"Cannot proceed with invalid share name.": "Nedá sa pokračovať s neplatným názvom zdieľania.",
"Cannot reach Proxmox repositories": "Repozitáre Proxmoxu nie sú dostupné",
"Cannot reach download.proxmox.com. Check network, proxy or DNS.": "Nedá sa dosiahnuť download.proxmox.com.Skontrolujte sieť, proxy alebo DNS.",
"Cannot reach download.proxmox.com. Check network, proxy or DNS.": "Nedá sa dosiahnuť download.proxmox.com. Skontrolujte sieť, proxy alebo DNS.",
"Cannot reach portal:": "Portál nie je dostupný:",
"Cannot reach server": "Server nie je dostupný",
"Cannot validate credentials - no shares available for testing.": "Prihlasovacie údaje sa nedajú overiť - nie sú dostupné žiadne zdieľania na test.",
@@ -599,7 +599,7 @@
"Cleaning up unused time synchronization services...": "Čistím nepoužívané služby synchronizácie času...",
"Cleans duplicate or conflicting sources": "Vyčistí duplicitné alebo konfliktné zdroje",
"Cleanup Complete": "Čistenie je dokončené",
"Cleanup completed. A reboot is recommended to fully apply pending kernel package configurations.": "Čistenie dokončené.Na úplné uplatnenie čakajúcich konfigurácií balíkov jadra sa odporúča reštart.",
"Cleanup completed. A reboot is recommended to fully apply pending kernel package configurations.": "Čistenie dokončené. Na úplné uplatnenie čakajúcich konfigurácií balíkov jadra sa odporúča reštart.",
"Cleanup finished": "Čistenie je dokončené",
"Cleanup legacy gasket-dkms": "Vyčistiť starší balík gasket-dkms",
"Cleanup partial VM?": "Vyčistiť čiastočne vytvorenú VM?",
@@ -898,7 +898,7 @@
"Could not detect the CIFS mount for this directory. Try accessing it manually.": "Pre tento priečinok sa nepodarilo zistiť CIFS mount. Skúste ho otvoriť ručne.",
"Could not determine a valid ISO storage directory.": "Nepodarilo sa určiť platný priečinok pre ISO úložisko.",
"Could not determine disk path for:": "Nepodarilo sa zistiť cestu k disku pre:",
"Could not determine filesystem signature types. Aborting.": "Nepodarilo sa určiť typy podpisov súborových systémov.Prerušuje sa.",
"Could not determine filesystem signature types. Aborting.": "Nepodarilo sa určiť typy podpisov súborových systémov. Prerušuje sa.",
"Could not determine the IOMMU group for the selected GPU.": "Nepodarilo sa zistiť IOMMU skupinu pre vybranú GPU.",
"Could not download recovery blob from PBS.": "Nepodarilo sa stiahnuť obnovovací balíček z PBS.",
"Could not download the installer.": "Inštalátor sa nepodarilo stiahnuť.",
@@ -920,8 +920,8 @@
"Could not mount": "Nepodarilo sa pripojiť",
"Could not mount ISO on device": "ISO sa nepodarilo pripojiť k zariadeniu",
"Could not parse OVF file, or no disk image references found.": "OVF súbor sa nepodarilo spracovať alebo neobsahuje odkazy na diskové obrazy.",
"Could not prepare on-boot restore service. Nothing new was scheduled.": "Nepodarilo sa pripraviť službu obnovenia pri spustení.Nič nové nebolo naplánované.",
"Could not publish pending restore. Previous pending restore was kept.": "Nepodarilo sa zverejniť čakajúce obnovenie.Predchádzajúce čakajúce obnovenie bolo zachované.",
"Could not prepare on-boot restore service. Nothing new was scheduled.": "Nepodarilo sa pripraviť službu obnovenia pri spustení. Nič nové nebolo naplánované.",
"Could not publish pending restore. Previous pending restore was kept.": "Nepodarilo sa zverejniť čakajúce obnovenie. Predchádzajúce čakajúce obnovenie bolo zachované.",
"Could not push the key. Check the password and that": "Kľúč sa nepodarilo odoslať. Skontrolujte heslo a to, že",
"Could not read SMART data from": "SMART dáta sa nepodarilo prečítať z",
"Could not read VM configuration.": "Nastavenie VM sa nepodarilo prečítať.",
@@ -935,7 +935,7 @@
"Could not set VM virtual display to vga: std": "Virtuálne zobrazenie VM sa nepodarilo nastaviť na vga: std",
"Could not set boot order for": "Poradie bootovania sa nepodarilo nastaviť pre",
"Could not stage pending restore path:": "Nepodarilo sa pripraviť cestu obnovenia:",
"Could not stage pending restore. Nothing new was scheduled.": "Nepodarilo sa pripraviť čakajúce obnovenie.Nič nové nebolo naplánované.",
"Could not stage pending restore. Nothing new was scheduled.": "Nepodarilo sa pripraviť čakajúce obnovenie. Nič nové nebolo naplánované.",
"Could not stop LXC": "LXC sa nepodarilo zastaviť",
"Could not unload nouveau module (may be in use). The blacklist will take effect after reboot. Installation will continue but a reboot will be required.": "Modul nouveau sa nepodarilo uvoľniť (možno sa práve používa). Blacklist sa prejaví po reštarte. Inštalácia bude pokračovať, ale reštart bude potrebný.",
"Could not unmount": "Nepodarilo sa odpojiť",
@@ -2975,7 +2975,7 @@
"No ports configured": "Nie sú nastavené žiadne porty",
"No privileged containers available in Proxmox.": "V Proxmoxe nie sú dostupné žiadne privilegované kontajnery.",
"No pve-enterprise.list present (skipped)": "pve-enterprise.list neexistuje (preskočené)",
"No reboot was started. Review the log before retrying:": "Nebol spustený žiadny reštart.Pred opätovným pokusom skontrolujte denník:",
"No reboot was started. Review the log before retrying:": "Nebol spustený žiadny reštart. Pred opätovným pokusom skontrolujte denník:",
"No recent": "Žiadne nedávne",
"No recent Samba servers found.": "Nenašli sa žiadne nedávne Samba servery.",
"No routing information found.": "Nenašli sa žiadne informácie o smerovaní.",
@@ -4824,7 +4824,7 @@
"Version info not available": "Informácie o verzii nie sú dostupné",
"Version:": "Verzia:",
"Version: Auto-negotiation (NFSv3/NFSv4)": "Verzia: automatické dohodnutie (NFSv3/NFSv4)",
"Versions shown belong to maintained NVIDIA branches that list your GPU PCI ID. DKMS compilation is the final validation against the running kernel. The recommended version keeps the current branch, or uses the NVIDIA Production Branch on a fresh install.": "Zobrazené verzie patria do udržiavaných pobočiek NVIDIA, ktoré uvádzajú vaše ID PCI GPU.Kompilácia DKMS je konečná validácia voči bežiacemu jadru.Odporúčaná verzia ponecháva aktuálnu vetvu alebo používa NVIDIA Production Branch pri novej inštalácii.",
"Versions shown belong to maintained NVIDIA branches that list your GPU PCI ID. DKMS compilation is the final validation against the running kernel. The recommended version keeps the current branch, or uses the NVIDIA Production Branch on a fresh install.": "Zobrazené verzie patria do udržiavaných pobočiek NVIDIA, ktoré uvádzajú vaše ID PCI GPU.Kompilácia DKMS je konečná validácia voči bežiacemu jadru. Odporúčaná verzia ponecháva aktuálnu vetvu alebo používa NVIDIA Production Branch pri novej inštalácii.",
"View CIFS Mounts (pvesm + fstab)": "Zobraziť CIFS mounty (pvesm + fstab)",
"View Current Exports": "Zobraziť aktuálne exporty",
"View Current Mounts": "Zobraziť aktuálne pripojenia",