Commit Graph

28 Commits

Author SHA1 Message Date
Kevin Veen-Birkenbach
f79bac2927 Release version 1.0.0 v1.0.0 2026-05-12 23:38:38 +02:00
Kevin Veen-Birkenbach
88e9127f9b Use $SERVER env var in README instead of YOUR_SERVER_IP placeholder
`$SERVER` is set once at the top of the setup flow, then reused across
all five setup sections and the debugging chapter. Avoids 24× repetition
of the placeholder and lets the reader paste the blocks directly after
`export SERVER=...`.

`$SERVER` (not `$HOST`) because zsh sets `$HOST` to the local hostname
as a built-in parameter, and many tools use `$HOST` conventionally — name
collision would be confusing.

While here: drop the "(recommended)" hedge on `hal fix static-ip` in
section 3 of the install flow — given Hetzner's DHCP fragility (the bug
that caused this whole debugging session), the static cmdline IP belongs
in the standard install path, not as an optional extra.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-12 18:21:24 +02:00
Kevin Veen-Birkenbach
3cf66640b5 Reorganized hal CLI into subcommand groups + MIT licensed
CLI structure now:
  hal {status,diagnose,unlock,forget} HOST
  hal connect {rescue,chroot,server} HOST [CMD]
  hal setup   {image,dropbear,grub,encrypt-root} HOST
  hal fix     {boot,network,grub,kernel,static-ip,upgrade,expand-fs} HOST

Added subcommands cover the previously-manual sections of the README:
  setup image       — upload autosetup + run installimage
  setup dropbear    — install dropbear + mkinitcpio plugins + patch HOOKS
  setup grub        — initial grub install for LUKS boot
  setup encrypt-root — full LUKS conversion of installed root
  connect server    — SSH to booted Arch (vs rescue/chroot)
  unlock            — cryptroot-unlock via dropbear with passphrase from keyring
  fix expand-fs     — lvresize + btrfs resize

Renames (breaking):
  upgrade-system    -> fix upgrade
  expand-fs         -> fix expand-fs
  forget-passphrase -> forget
  reinstall-grub    -> fix grub
  downgrade-kernel  -> fix kernel
  use-static-ip     -> fix static-ip
  fix-{boot,network} -> fix {boot,network}
  install-{image,grub} -> setup {image,grub}
  setup-dropbear    -> setup dropbear
  encrypt-root      -> setup encrypt-root

Removed downgrade-initramfs (never verified, narrow use case).

README rewritten to reference only hal commands; raw bash blocks for
pacman/cryptsetup/grub-install/mount/chroot are gone. Added autosetup.example
as a template for `hal setup image --autosetup PATH`.

Licensed under MIT (LICENSE file added). Author and homepage shown in
hal --version, hal --help, pyproject.toml, and README.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-12 18:10:06 +02:00
Kevin Veen-Birkenbach
181240eae7 Added hal Python CLI
Wraps the rescue/chroot/diagnose/fix workflows in a single tool with
LUKS-passphrase keyring caching. Subcommands: status, connect rescue,
connect chroot, diagnose, fix-boot, fix-network, downgrade-kernel,
downgrade-initramfs, reinstall-grub, use-static-ip, upgrade-system,
forget-passphrase.

connect subcommands accept an optional remote command after the host
for non-interactive execution.

README updated to reference hal instead of the previous shell scripts.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-12 17:03:59 +02:00
Kevin Veen-Birkenbach [aka. Frantz]
841a974123 Removed 2020-10-15 13:56:40 +02:00
Kevin Veen-Birkenbach [aka. Frantz]
8c54e4d02e Implemented volume expand 2020-10-14 14:47:51 +02:00
Kevin Veen-Birkenbach [aka. Frantz]
0513150142 Optimized for final draft 2020-10-05 14:09:08 +02:00
Kevin Veen-Birkenbach [aka. Frantz]
6992e4b01d Solved mistake 2020-10-04 21:06:22 +02:00
Kevin Veen-Birkenbach [aka. Frantz]
a79551d867 Activated sshd 2020-05-15 09:38:17 +02:00
Kevin Veen-Birkenbach [aka. Frantz]
9341ab6cdd Deleted unnecessary code 2020-04-27 19:13:29 +02:00
Kevin Veen-Birkenbach [aka. Frantz]
f14c6fe901 In between commit 2020-04-27 17:52:49 +02:00
Kevin Veen-Birkenbach [aka. Frantz]
d668db08a3 Added helpfull link 2020-04-27 14:37:05 +02:00
Kevin Veen-Birkenbach [aka. Frantz]
4a33d9ff91 Solved typo mistakes 2020-04-19 13:30:11 +02:00
Kevin Veen-Birkenbach [aka. Frantz]
36af809467 Optimized guide 2020-04-19 13:12:15 +02:00
Kevin Veen-Birkenbach [aka. Frantz]
02f5ad572f Optimized Grub 2020-04-17 21:47:18 +02:00
Kevin Veen-Birkenbach [aka. Frantz]
f67cfb7309 formated correct 2020-04-17 21:20:16 +02:00
Kevin Veen-Birkenbach [aka. Frantz]
cf5bf5d3b2 Updated doku 2020-04-17 21:16:06 +02:00
Kevin Veen-Birkenbach [aka. Frantz]
e2ec802119 Implemented legend 2020-04-17 21:02:07 +02:00
Kevin Veen-Birkenbach [aka. Frantz]
58ac282a68 Updated headlines and added debugging 2020-04-17 20:43:52 +02:00
Kevin Veen-Birkenbach [aka. Frantz]
eff6a29313 Optimized 2020-04-17 19:21:08 +02:00
Kevin Veen-Birkenbach [aka. Frantz]
c1e01bb1e8 In between commit 2020-04-17 18:52:26 +02:00
Kevin Veen-Birkenbach [aka. Frantz]
0f4f8726dd Saved draft 2020-04-17 11:35:01 +02:00
Kevin Veen-Birkenbach [aka. Frantz]
45a38f6613 Saved draft 2020-04-16 22:48:59 +02:00
Kevin Veen-Birkenbach [aka. Frantz]
c4f549fd35 Updated readme instruction 2020-04-16 22:34:01 +02:00
Kevin Veen-Birkenbach [aka. Frantz]
b3b10b2dc4 Removed wrong formatation 2020-04-16 20:27:35 +02:00
Kevin Veen-Birkenbach [aka. Frantz]
4b15b0b5bc In between commit 2020-04-16 20:14:12 +02:00
Kevin Veen-Birkenbach [aka. Frantz]
c4e2c5d98a work in process commit 2020-04-15 13:40:10 +02:00
Kevin Veen-Birkenbach [aka. Frantz]
e28843d0f6 Added draft for autosetup 2020-04-15 12:32:29 +02:00