A tailscale_authkey file on the autoinstall drive gets the installed machine onto the tailnet on its own: the tailscale package is bundled in the offline mirror and installed only when the key is present, the key is staged root-only at /etc/tailscale/authkey, and a oneshot first-boot unit runs tailscale up once the network is really there. On success the key is deleted and the unit disables itself; on failure both survive to retry on the next boot, so an offline install joins whenever it first gets connectivity. ufw allows traffic in on tailscale0 via the same write-the-rule-then-ignore-the-chroot-exit-code dance as the SSH phase. Bundling rather than fetching at first boot is deliberate: pacman -Sy tailscale on a fresh machine is a partial upgrade, and pacman -Syu means an unattended full system upgrade racing the user's first login. The offline mirror is a coherent snapshot; installing from it keeps the target consistent and the install offline-capable. See plans/tailscale.md. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Xc74h4WSYpuYPGuYbFAR1q
27 lines
1.2 KiB
Bash
Executable File
27 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# Live-ISO entry point for the Omarchy install orchestrator. Invoked from
|
|
# /root/.automated_script.sh after the configurator wizard has produced its
|
|
# user_*.json / user_*.txt files. The outer shim owns install logging.
|
|
|
|
set -eEo pipefail
|
|
|
|
# Parse our args; convert to env vars before exec'ing Python so archinstall's
|
|
# own argparse (which runs at module import time inside the orchestrator)
|
|
# doesn't choke on flags it doesn't recognize.
|
|
while [[ $# -gt 0 ]]; do
|
|
case $1 in
|
|
--config) export OMARCHY_INSTALL_CONFIG="$2"; shift 2 ;;
|
|
--creds) export OMARCHY_INSTALL_CREDS="$2"; shift 2 ;;
|
|
--full-name-file) export OMARCHY_INSTALL_FULL_NAME_FILE="$2"; shift 2 ;;
|
|
--email-file) export OMARCHY_INSTALL_EMAIL_FILE="$2"; shift 2 ;;
|
|
--encrypt-file) export OMARCHY_INSTALL_ENCRYPT_FILE="$2"; shift 2 ;;
|
|
--authorized-keys-file) export OMARCHY_INSTALL_AUTHORIZED_KEYS_FILE="$2"; shift 2 ;;
|
|
--tailscale-authkey-file) export OMARCHY_INSTALL_TAILSCALE_AUTHKEY_FILE="$2"; shift 2 ;;
|
|
*) echo "omarchy-iso-install: unknown arg $1" >&2; exit 2 ;;
|
|
esac
|
|
done
|
|
|
|
cd /usr/share/omarchy-iso
|
|
exec python -m orchestrator.main
|