github tis24dev/proxsave v0.13.4

7 hours ago

ProxSave v0.13.4

🧰 More granular collectors, clearer end-of-run summaries, and safer restore UX refinements

This release tightens operational clarity and configurability across backup and restore workflows. It adds issue capture with end-of-run summaries, introduces finer PBS collection toggles with clearer logging, improves PVE manifest/cluster handling, prunes deprecated env keys during upgrades, and refines restore interaction and network rollback UX for more reliable operation on constrained terminals (IPMI/serial). It also improves notifier ergonomics with automatic email recipient detection and bumps the Go toolchain.

  • End-of-run issue capture and summary reporting:
    • Logger now captures WARNING/ERROR/CRITICAL lines as sanitized single-line “issue entries” for later reporting.
    • Added thread-safe accessors for warning/error counts and collected issue lines.
    • Final-run summaries can now print the captured issue lines to surface root causes quickly.
  • Granular PBS collection toggles + clearer logs:
    • Added fine-grained PBS flags to independently enable/disable subcomponents (S3 endpoints, node config, ACME accounts/plugins, metric servers, traffic control, PBS network config).
    • Collector/orchestrator logic now respects these flags (exclude files, skip commands/snapshots when disabled), with clearer per-file status messages via disable hints.
    • Updated docs, tests, and env templates to reflect the new options.
  • Improved PVE manifest logging and cluster handling:
    • populatePVEManifest now always initializes the manifest and uses structured logging options for consistent, descriptive output.
    • Better “not found” accounting and richer record descriptions (including disable hints) for PVE config items.
    • Refined cluster logic to separate BACKUP_CLUSTER_CONFIG gating from node/cluster-specific actions; improved copy/skip logging and tuned log levels for firewall, VZDump, and Ceph detection.
    • Added a template note explaining that enabled-but-unconfigured features may emit warnings and can be disabled via BACKUP_* flags.
  • Config/upgrade cleanup: prune deprecated keys and fully populate results:
    • Removed BASE_DIR and CRON_* from generated backup.env (BASE_DIR is auto-detected; cron is managed via crontab).
    • Config upgrade now prunes deprecated keys (BASE_DIR, CRON_SCHEDULE, CRON_HOUR, CRON_MINUTE), emits a warning, and avoids rewriting unless missing keys were added or deprecated lines were removed.
    • Even when no content changes occur, UpgradeResult is now fully populated (MissingKeys, ExtraKeys, CaseConflictKeys, PreservedValues, Warnings) for consistent caller behavior.
  • Network parsing and rollback UI improvements:
    • Network snapshot IP extraction now robustly returns the primary address with CIDR, handles whitespace/tokenization safely, and prefers IPv4 when available (with unit tests for IPv4/IPv6/CIDR and missing snapshots).
    • Added suppressPVEChecks for cluster restores to skip PVE-specific health checks and adjust network health options.
    • Restore UI messaging improved with observed/original IP context and reconnect-host guidance.
    • applyNetworkWithRollbackWithUI now returns a constructed NetworkApplyNotCommittedError for richer downstream reporting.
  • Prompt UX reliability on constrained terminals:
    • Removed live-updating countdown prompts in CLI/TUI and replaced them with a single-line deadline display (HH:MM:SS + total seconds).
    • Simplified input handling to use ReadLineWithContext directly, avoiding carriage-return update issues on IPMI/serial consoles while preserving timeout/cancel behavior.
  • Email notifier: recipient auto-detection:
    • Implemented automatic recipient discovery for root@pam across Proxmox platforms:
      • Try pvesh first, fall back to pveum / proxmox-backup-manager, and finally parse user.cfg from PVE/PBS locations.
    • Added helpers for redaction and truncated diagnostics, improved debug logging, expanded tests, and updated CONFIGURATION/TROUBLESHOOTING docs with quick verification steps.
  • Maintenance and tooling:
    • Cleaned up duplicated parse comments above Config.parse.
    • Bumped Go toolchain to 1.25.7.

Overall: more configurable backups (especially PBS), clearer and more actionable run summaries, cleaner env upgrades with deprecated-key pruning, and a more robust restore/operator experience—especially on real-world consoles and clustered restores.

Changelog

Don't miss a new proxsave release

NewReleases is sending notifications on new releases.