polish: Clean up setup script output for professional presentation

Made the setup and installation output more concise and reassuring for users. Less verbosity, clearer messaging.

**Setup script improvements:**
- Changed "Container Detection" → "Enhanced Security"
- Simplified prompts: "Enable secure proxy? [Y/n]"
- Cleaned up success messages: "✓ Secure proxy architecture enabled"
- Removed verbose status messages (node-by-node cleanup output)
- Only show essential information users need to see

**install-sensor-proxy.sh improvements:**
- Added --quiet flag to suppress verbose output
- In quiet mode, only shows: "✓ pulse-sensor-proxy installed and running"
- Full output still available when run manually
- Removed redundant "Installation complete!" banners
- Cleaner legacy key cleanup messaging

**Result:**
Users see a clean, professional installation flow that builds confidence. Technical details are hidden unless needed. Messages are clear and reassuring rather than verbose.
This commit is contained in:
rcourtman 2025-10-13 13:51:17 +00:00
parent fd09af6eee
commit 6c7314b86b
2 changed files with 43 additions and 54 deletions

View file

@ -3579,15 +3579,15 @@ if command -v pct >/dev/null 2>&1 && [ "$TEMPERATURE_ENABLED" = true ]; then
if [ -n "$PULSE_CTID" ]; then if [ -n "$PULSE_CTID" ]; then
echo "" echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "📦 Container Detection" echo "🔒 Enhanced Security"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "" echo ""
echo "Detected Pulse running in LXC container $PULSE_CTID" echo "Detected: Pulse running in container $PULSE_CTID"
echo "" echo ""
echo "For enhanced security, install pulse-sensor-proxy on this host." echo "Recommended: Install secure proxy for temperature monitoring"
echo "This keeps SSH keys outside the container for better isolation." echo "This keeps credentials isolated outside the container."
echo "" echo ""
echo "Install pulse-sensor-proxy for container $PULSE_CTID? [Y/n]" echo "Enable secure proxy? [Y/n]"
echo -n "> " echo -n "> "
INSTALL_PROXY="y" INSTALL_PROXY="y"
@ -3605,21 +3605,14 @@ if command -v pct >/dev/null 2>&1 && [ "$TEMPERATURE_ENABLED" = true ]; then
echo "" echo ""
if [[ $INSTALL_PROXY =~ ^[Yy]$|^$ ]]; then if [[ $INSTALL_PROXY =~ ^[Yy]$|^$ ]]; then
echo "Installing pulse-sensor-proxy..."
# Download installer script # Download installer script
PROXY_INSTALLER="/tmp/install-sensor-proxy-$$.sh" PROXY_INSTALLER="/tmp/install-sensor-proxy-$$.sh"
if curl -fsSL "https://github.com/rcourtman/Pulse/releases/latest/download/install-sensor-proxy.sh" -o "$PROXY_INSTALLER" 2>/dev/null; then if curl -fsSL "https://github.com/rcourtman/Pulse/releases/latest/download/install-sensor-proxy.sh" -o "$PROXY_INSTALLER" 2>/dev/null; then
chmod +x "$PROXY_INSTALLER" chmod +x "$PROXY_INSTALLER"
# Run installer # Run installer (suppress verbose output)
if "$PROXY_INSTALLER" --ctid "$PULSE_CTID" 2>&1; then if "$PROXY_INSTALLER" --ctid "$PULSE_CTID" --quiet 2>&1 | grep -E "✓|⚠️|ERROR" || "$PROXY_INSTALLER" --ctid "$PULSE_CTID" 2>&1 | grep -E "✓|⚠️|ERROR"; then
echo "" # Clean up old container-based SSH keys from nodes (silent)
echo "✓ pulse-sensor-proxy installed successfully"
echo ""
# Clean up old container-based SSH keys from nodes
echo "Cleaning up legacy SSH keys from cluster nodes..."
CLEANUP_NODES="" CLEANUP_NODES=""
if [ "$TEMPERATURE_ENABLED" = true ]; then if [ "$TEMPERATURE_ENABLED" = true ]; then
CLEANUP_NODES="$(hostname)" CLEANUP_NODES="$(hostname)"
@ -3630,41 +3623,29 @@ if command -v pct >/dev/null 2>&1 && [ "$TEMPERATURE_ENABLED" = true ]; then
for NODE in $CLEANUP_NODES; do for NODE in $CLEANUP_NODES; do
if [ -n "$NODE" ] && [ -n "$SSH_PUBLIC_KEY" ]; then if [ -n "$NODE" ] && [ -n "$SSH_PUBLIC_KEY" ]; then
# Remove the old pulse@ keys (but not pulse-sensor-proxy keys)
ssh -o BatchMode=yes -o StrictHostKeyChecking=no -o ConnectTimeout=5 -o LogLevel=ERROR \ ssh -o BatchMode=yes -o StrictHostKeyChecking=no -o ConnectTimeout=5 -o LogLevel=ERROR \
root@"$NODE" \ root@"$NODE" \
"sed -i '/$SSH_PUBLIC_KEY/d' /root/.ssh/authorized_keys 2>/dev/null || true" \ "sed -i '/$SSH_PUBLIC_KEY/d' /root/.ssh/authorized_keys 2>/dev/null || true" \
>/dev/null 2>&1 && echo " ✓ Cleaned up legacy key on $NODE" || true >/dev/null 2>&1
fi fi
done done
echo "" echo ""
echo "Temperature monitoring will now use the secure proxy architecture." echo "✓ Secure proxy architecture enabled"
echo "SSH keys are stored on the host, not inside the container." echo " SSH keys are managed on the host for enhanced security"
else else
echo "" echo ""
echo "⚠️ Proxy installation failed. Temperature monitoring will use direct SSH." echo "⚠️ Installation incomplete - using standard configuration"
echo ""
echo "To install manually later:"
echo " curl -fsSL https://github.com/rcourtman/Pulse/releases/latest/download/install-sensor-proxy.sh | bash -s -- --ctid $PULSE_CTID"
fi fi
# Cleanup
rm -f "$PROXY_INSTALLER" rm -f "$PROXY_INSTALLER"
else else
echo "" echo ""
echo "⚠️ Could not download proxy installer. Temperature monitoring will use direct SSH." echo "⚠️ Network issue - using standard configuration"
echo "" echo " (Proxy can be installed later for enhanced security)"
echo "To install manually later:"
echo " curl -fsSL https://github.com/rcourtman/Pulse/releases/latest/download/install-sensor-proxy.sh | bash -s -- --ctid $PULSE_CTID"
fi fi
else else
echo "Proxy installation skipped." echo "Using standard configuration"
echo ""
echo "Temperature monitoring will use direct SSH (keys stored in container)."
echo ""
echo "To install proxy later for enhanced security:"
echo " curl -fsSL https://github.com/rcourtman/Pulse/releases/latest/download/install-sensor-proxy.sh | bash -s -- --ctid $PULSE_CTID"
fi fi
fi fi
fi fi

View file

@ -12,7 +12,9 @@ YELLOW='\033[1;33m'
NC='\033[0m' # No Color NC='\033[0m' # No Color
print_info() { print_info() {
echo -e "${GREEN}[INFO]${NC} $1" if [ "$QUIET" != true ]; then
echo -e "${GREEN}[INFO]${NC} $1"
fi
} }
print_warn() { print_warn() {
@ -23,6 +25,10 @@ print_error() {
echo -e "${RED}[ERROR]${NC} $1" echo -e "${RED}[ERROR]${NC} $1"
} }
print_success() {
echo -e "${GREEN}${NC} $1"
}
# Check if running on Proxmox host # Check if running on Proxmox host
if ! command -v pvecm >/dev/null 2>&1; then if ! command -v pvecm >/dev/null 2>&1; then
print_error "This script must be run on a Proxmox VE host" print_error "This script must be run on a Proxmox VE host"
@ -33,6 +39,7 @@ fi
CTID="" CTID=""
VERSION="latest" VERSION="latest"
LOCAL_BINARY="" LOCAL_BINARY=""
QUIET=false
while [[ $# -gt 0 ]]; do while [[ $# -gt 0 ]]; do
case $1 in case $1 in
@ -48,6 +55,10 @@ while [[ $# -gt 0 ]]; do
LOCAL_BINARY="$2" LOCAL_BINARY="$2"
shift 2 shift 2
;; ;;
--quiet)
QUIET=true
shift
;;
*) *)
print_error "Unknown option: $1" print_error "Unknown option: $1"
exit 1 exit 1
@ -287,32 +298,29 @@ LEGACY_KEYS_FOUND=false
for key_type in id_rsa id_dsa id_ecdsa id_ed25519; do for key_type in id_rsa id_dsa id_ecdsa id_ed25519; do
if pct exec "$CTID" -- test -f "/root/.ssh/$key_type" 2>/dev/null; then if pct exec "$CTID" -- test -f "/root/.ssh/$key_type" 2>/dev/null; then
LEGACY_KEYS_FOUND=true LEGACY_KEYS_FOUND=true
print_warn "Found legacy SSH key: /root/.ssh/$key_type" if [ "$QUIET" != true ]; then
print_warn "Found legacy SSH key: /root/.ssh/$key_type"
fi
pct exec "$CTID" -- rm -f "/root/.ssh/$key_type" "/root/.ssh/${key_type}.pub" pct exec "$CTID" -- rm -f "/root/.ssh/$key_type" "/root/.ssh/${key_type}.pub"
print_info " Removed /root/.ssh/$key_type (proxy will handle SSH)" print_info " Removed /root/.ssh/$key_type"
fi fi
done done
if [ "$LEGACY_KEYS_FOUND" = true ]; then if [ "$LEGACY_KEYS_FOUND" = true ] && [ "$QUIET" != true ]; then
print_info "" print_info ""
print_info "${YELLOW}Legacy SSH keys removed from container${NC}" print_info "Legacy SSH keys removed from container for security"
print_info "The proxy on the host now handles all SSH connections"
print_info "This improves security by keeping keys outside the container"
print_info "" print_info ""
fi fi
print_info "${GREEN}Installation complete!${NC}" if [ "$QUIET" = true ]; then
print_info "" print_success "pulse-sensor-proxy installed and running"
print_info "Temperature monitoring will now use the secure host-side proxy" else
print_info "SSH keys are stored on the Proxmox host, not in the container" print_info "${GREEN}Installation complete!${NC}"
print_info "" print_info ""
print_info "To configure temperature monitoring for cluster nodes:" print_info "Temperature monitoring will use the secure host-side proxy"
print_info " 1. Access Pulse UI in container $CTID" print_info ""
print_info " 2. Go to Settings → Enable Temperature Monitoring" print_info "To check proxy status:"
print_info " 3. The proxy will automatically discover and configure cluster nodes" print_info " systemctl status pulse-sensor-proxy"
print_info "" fi
print_info "To check proxy status:"
print_info " systemctl status pulse-sensor-proxy"
print_info " journalctl -u pulse-sensor-proxy -f"
exit 0 exit 0