mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-02-18 00:17:39 +01:00
Major improvements to the host agent installation experience: Installation Enhancements: - Add interactive mode with prompts for URL/token if not provided - Add colored output with ANSI codes (✓ ℹ ⚠ ✗) matching Windows style - Add professional header/footer with bordered sections - Display masked configuration before installation - Add version detection and update notifications - Add reinstall confirmation for existing installations Security Improvements: - Store tokens in macOS Keychain instead of plaintext plist - Create wrapper script to read token from Keychain at runtime - Add SHA256 checksum verification for downloaded binaries - Set restrictive permissions (chmod 600) on service configs - Graceful fallback if Keychain access denied Validation & Verification: - Wait 10 seconds and verify service is running - Query /api/hosts endpoint to confirm agent registered - Verify hostname appears in Pulse server - Provide detailed troubleshooting if validation fails Error Handling: - Comprehensive error messages with actionable guidance - Platform-specific install instructions for missing dependencies - 4-step troubleshooting guide for download failures - Build-from-source fallback instructions - Service failure diagnostics with log viewing commands Logging Improvements: - Use persistent log directories (no more /tmp) - macOS: ~/Library/Logs/Pulse/host-agent.log - Linux: /var/log/pulse/host-agent.log - Automatically create log directories Post-Install: - Display service management commands (start/stop/restart/logs) - Show installed file locations - Provide uninstall instructions - Link to Pulse dashboard Uninstall Script: - New dedicated uninstall script with colored output - Comprehensive cleanup (service, binary, logs, Keychain) - Platform detection and appropriate cleanup steps - Remove macOS Keychain entries and wrapper scripts - Remove temporary logs from old /tmp location - Retry logic for file locking issues Progress Indicators: - Better download progress with curl --progress-bar - Clear status messages for each installation step - Visual feedback throughout installation These changes bring the macOS/Linux installation experience to parity with Windows and add several features that exceed Windows quality: - API endpoint verification (Windows doesn't have) - Checksum verification (Windows doesn't have) - macOS Keychain integration (more secure than Windows config) - Update detection (Windows doesn't have)