mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-02-18 00:17:39 +01:00
Applied Codex's security and reliability recommendations: **SSH Key Safety:** - Added "pulse-managed-key" comment marker to all SSH keys - Removal now targets only marked keys (prevents deleting operator keys) - Uses atomic file replacement via mktemp for authorized_keys edits **Idempotency Improvements:** - LXC config glob now uses nullglob to handle empty directories - pveum token removal handles missing users gracefully (|| printf '') - All systemctl operations wrapped with || true for non-systemd hosts - sed operations in loops protected with || true **Container Detection:** - Validates container is running before IP check (pct status) - Confirms container exists with pct config before proceeding - Uses printf '' instead of || true for command substitution - Handles IPv6 and multi-IP scenarios more reliably **Network Operations:** - curl now uses --fail --show-error --silent --location - Error messages visible to users instead of silenced - Better diagnostics when download fails **Migration Safety:** - Verifies pulse-sensor-proxy service is active before key removal - Fallback check for binary existence if systemd unavailable - Preserves legacy SSH keys if proxy not confirmed healthy - Clear messaging about deferred cleanup All cleanup operations are now fully idempotent and safe for repeated execution, even on partially-configured hosts. Addresses #123