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
+17
View File
@@ -0,0 +1,17 @@
# Example hosts file for netbird-install-update.sh
# Format: hostname [sudo_password]
# One host per line, comments start with #
# Host-specific passwords override --password flag
# Production servers (with host-specific sudo passwords)
prod-web-01.jeremy.skynet MySudoPassword123
prod-web-02.jeremy.skynet MySudoPassword123
prod-db-01.jeremy.skynet MySudoPassword123
# Development servers (will use --password flag or prompt interactively)
dev-app-01.jeremy.skynet
dev-app-02.jeremy.skynet
# You can also use IP addresses
# 192.168.1.100
# 10.0.0.50 MyPassword