onboard-spoke.sh: use script-based rclone mount with sleep 90 for reliable boot ordering, add per-spoke mount log

This commit is contained in:
Justin Oros
2026-04-20 22:27:10 -07:00
parent c7c5d2bf8d
commit defb4fdaa3

View File

@@ -230,8 +230,15 @@ echo "${SPOKE_NAME} ${TUNNEL_PORT} ${KEY_PATH} ${MOUNT_POINT}" >> "$REGISTRY"
info "$SPOKE_NAME registered." info "$SPOKE_NAME registered."
header "Setting Up Auto-Mount" header "Setting Up Auto-Mount"
MOUNT_CMD="/usr/bin/rclone mount ${SPOKE_NAME}-remote: ${MOUNT_POINT} --config ${HOME}/.config/rclone/rclone.conf --vfs-cache-mode writes --allow-other --allow-non-empty --daemon" MOUNT_SCRIPT="${HOME}/mount-${SPOKE_NAME}.sh"
CRON_ENTRY="@reboot ${MOUNT_CMD}" cat > "$MOUNT_SCRIPT" << MOUNTEOF
#!/usr/bin/env bash
sleep 90
/usr/bin/rclone mount ${SPOKE_NAME}-remote: ${MOUNT_POINT} --config ${HOME}/.config/rclone/rclone.conf --vfs-cache-mode writes --allow-other --allow-non-empty --daemon
MOUNTEOF
chmod +x "$MOUNT_SCRIPT"
CRON_ENTRY="@reboot $MOUNT_SCRIPT >> ${HOME}/rclone-${SPOKE_NAME}.log 2>&1"
EXISTING=$(crontab -l 2>/dev/null || true) EXISTING=$(crontab -l 2>/dev/null || true)
if echo "$EXISTING" | grep -qF "${SPOKE_NAME}-remote:"; then if echo "$EXISTING" | grep -qF "${SPOKE_NAME}-remote:"; then
warn "Crontab entry for ${SPOKE_NAME}-remote already exists, skipping." warn "Crontab entry for ${SPOKE_NAME}-remote already exists, skipping."
@@ -245,7 +252,7 @@ else
fi fi
info "Starting mount now..." info "Starting mount now..."
mkdir -p "$MOUNT_POINT" mkdir -p "$MOUNT_POINT"
eval "$MOUNT_CMD" 2>/dev/null && info "Mounted ${SPOKE_NAME} at ${MOUNT_POINT}." || warn "Mount failed — will retry on next reboot." /usr/bin/rclone mount ${SPOKE_NAME}-remote: ${MOUNT_POINT} --config ${HOME}/.config/rclone/rclone.conf --vfs-cache-mode writes --allow-other --allow-non-empty --daemon 2>/dev/null && info "Mounted ${SPOKE_NAME} at ${MOUNT_POINT}." || warn "Mount failed — will retry on next reboot."
header "Onboarding Complete" header "Onboarding Complete"
echo -e " Spoke: ${GREEN}$SPOKE_NAME${NC}" echo -e " Spoke: ${GREEN}$SPOKE_NAME${NC}"