From 96cc547666f4a2f0454c454c3a789ac32ced80ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kry=C5=A1tof=20Pe=C5=A1ek?= Date: Thu, 5 Nov 2026 20:13:20 +0100 Subject: [PATCH] feat(fleet): add provision-penguin for automated Chromebook onboarding --- provision-penguin | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100755 provision-penguin diff --git a/provision-penguin b/provision-penguin new file mode 100755 index 0000000..6060f5f --- /dev/null +++ b/provision-penguin @@ -0,0 +1,30 @@ +#!/usr/bin/env bash +# provision-penguin: Onboard or update penguin (Chromebook) once powered on and reachable +set -euo pipefail + +PENGUIN_IP="${1:-192.168.1.105}" + +echo "[provision-penguin] Checking connectivity to penguin ($PENGUIN_IP)..." +if ! ping -c 1 -W 2 "$PENGUIN_IP" &>/dev/null; then + echo "[provision-penguin] Error: penguin ($PENGUIN_IP) is currently offline / unreachable." + exit 1 +fi + +echo "[provision-penguin] Updating ~/bin and identity on penguin..." +ssh -o ConnectTimeout=5 "kof@$PENGUIN_IP" ' +git -C ~/bin pull origin main +sudo bash -c "cat << CONF > /etc/fleet_id +# Fleet Node Identification +FLEET_NODE=\"penguin\" +FLEET_ARCH=\"x86_64\" +FLEET_SIGN=\"[penguin:x86_64]\" +CONF +chmod 644 /etc/fleet_id" + +grep -q "bin-env" ~/.zshenv 2>/dev/null || echo "[ -f \"\$HOME/bin/bin-env\" ] && source \"\$HOME/bin/bin-env\"" >> ~/.zshenv +grep -q "bin-env" ~/.bashrc 2>/dev/null || echo "[ -f \"\$HOME/bin/bin-env\" ] && source \"\$HOME/bin/bin-env\"" >> ~/.bashrc +grep -q "bin-env" ~/.zshrc 2>/dev/null || echo "[ -f \"\$HOME/bin/bin-env\" ] && source \"\$HOME/bin/bin-env\"" >> ~/.zshrc + +~/bin/fleet-id +' +echo "[provision-penguin] Complete."