#!/usr/bin/env bash # Created by John A. Hoeven with the ethical assistance of Claude AI # --------------------------------------------------------------------------- # 02_monitor.sh # ~/projects/ceos/alpine-installer/lib/basic/02_monitor.sh # Version: v0.0.1 | Status: DEVELOPMENT # Target: Alpine Linux x86-64 (tinkerpad / ThinkPad T480) # --------------------------------------------------------------------------- # Basic Tier subscript: system monitoring — nethogs, iproute2, lnav (@edge). # lnav is an edge package; failure is logged and marked for manual follow-up. # Defines install_basic_monitor(). # --------------------------------------------------------------------------- install_basic_monitor() { log_info "--- basic/02_monitor: system monitoring ---" local -a PKGS=(nethogs iproute2) for pkg in "${PKGS[@]}"; do install_pkg "${pkg}" done run_test "ip present" 'command -v ip >/dev/null 2>&1' warn # lnav — edge package, warn-on-fail ensure_edge_repo log_info "Installing lnav from @edge..." if install_pkg_edge "lnav"; then run_test "lnav present" 'command -v lnav >/dev/null 2>&1' warn else MANUAL_PKGS+=("lnav: edge install failed — requires manual verification") fi } if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" SCRIPT_NAME="basic_02_monitor" source "${SCRIPT_DIR}/lib/ce-common.sh" || { echo "ERROR: ce-common.sh not found"; exit 1; } check_not_root install_basic_monitor print_summary fi