netbird-install-update: add install/update script with remote deployment and auto-update timers

- Detects Netbird installation method (binary vs package manager)
- Replaces package manager installs with binary for consistency
- Supports single-host and multi-host SSH deployment
- Adds systemd timer for daily auto-updates with persistent scheduling
- Handles sudo password automation via --password flag or hosts file
- Connection-safe updates using background execution to survive SSH disconnects
- Fixes SELinux contexts and binary permissions automatically
- Provides detailed deployment summaries with per-host action tracking
- Includes SSH timeout handling to prevent hanging on unreachable hosts
- Color-coded output with icons for better readability
This commit is contained in:
2026-07-25 22:42:44 -04:00
parent e54d77893a
commit 376fac0665
5 changed files with 912 additions and 0 deletions
+16
View File
@@ -0,0 +1,16 @@
# Test SSH remote execution
echo "=== Testing SSH remote execution ==="
echo ""
echo "Usage examples:"
echo " ./netbird-install-update.sh # Run locally"
echo " ./netbird-install-update.sh --timer # Run locally with auto-update timer"
echo " ./netbird-install-update.sh --ssh user@host # Deploy to remote host"
echo " ./netbird-install-update.sh --ssh user@host --timer # Deploy to remote host with timer"
echo ""
echo "The -ssh flag will:"
echo "1. Copy this script to the remote host via scp"
echo "2. Execute it remotely with sudo"
echo "3. Pass through any other flags (like --timer)"
echo "4. Clean up the remote copy after execution"
echo ""
echo "Script is ready for testing!"