<feed xmlns='http://www.w3.org/2005/Atom'>
<title>archangel/scripts/build-release, branch main</title>
<subtitle>Arch Linux installer ISO — ZFS-on-root or BTRFS, doubles as rescue disk
</subtitle>
<id>https://git.cjennings.net/archangel/atom?h=main</id>
<link rel='self' href='https://git.cjennings.net/archangel/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archangel/'/>
<updated>2026-02-23T12:06:55+00:00</updated>
<entry>
<title>chore: add set -euo pipefail to scripts for safety</title>
<updated>2026-02-23T12:06:55+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-02-23T12:06:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archangel/commit/?id=2ef27b6a5d190c4d38eb4d13a039e10c006d7c7b'/>
<id>urn:sha1:2ef27b6a5d190c4d38eb4d13a039e10c006d7c7b</id>
<content type='text'>
Enable undefined variable checking (set -u) and pipefail across
standalone scripts. Guard SUDO_USER references with ${SUDO_USER:-}
for set -u compatibility.
</content>
</entry>
<entry>
<title>scrub personal info and make distribution targets configurable</title>
<updated>2026-02-23T12:02:17+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-02-23T12:02:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archangel/commit/?id=2b842fcd47ac24b9da7f192f64b78f83e8fc45af'/>
<id>urn:sha1:2b842fcd47ac24b9da7f192f64b78f83e8fc45af</id>
<content type='text'>
Remove personal email addresses, hardcoded paths, and infrastructure
references to prepare for open-source release. Distribution targets
in build-release are now configurable via environment variables,
and archsetup inclusion is opt-in.
</content>
</entry>
<entry>
<title>chore: standardize shebangs, fix lint target, add .editorconfig</title>
<updated>2026-02-23T11:27:27+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-02-23T11:27:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archangel/commit/?id=a171caf0b0a5541246f994155406e840b28390de'/>
<id>urn:sha1:a171caf0b0a5541246f994155406e840b28390de</id>
<content type='text'>
- Change all script shebangs to #!/usr/bin/env bash for portability
  (heredocs writing to installed systems keep #!/bin/bash)
- Remove || true from Makefile lint target so shellcheck errors fail the build
- Add .editorconfig for consistent formatting across editors
</content>
</entry>
<entry>
<title>clean personal info and private files from repository</title>
<updated>2026-02-23T05:23:59+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-02-23T05:23:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archangel/commit/?id=77fdae15fb5ad1498d8b006104a0d6fd151060bb'/>
<id>urn:sha1:77fdae15fb5ad1498d8b006104a0d6fd151060bb</id>
<content type='text'>
- Remove personal hardware specs, machine-specific troubleshooting docs,
  and video transcript from assets/
- Remove stale PLAN-zfsbootmenu-implementation.org (feature complete)
- Remove .stignore (Syncthing config, not project-relevant)
- Untrack todo.org (personal task tracker with private infra details)
- Make archsetup path configurable via ARCHSETUP_DIR env var in build.sh
- Use $REAL_USER instead of hardcoded username in build-release scp
</content>
</entry>
<entry>
<title>fix: archzfs key prompt hang, test false positive, add local distribution</title>
<updated>2026-02-12T18:06:33+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-02-12T18:06:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archangel/commit/?id=5df64c76d386fd2de863d21a2b1269d53e1a39f9'/>
<id>urn:sha1:5df64c76d386fd2de863d21a2b1269d53e1a39f9</id>
<content type='text'>
- Change archzfs SigLevel to Never (pacstrap -K empty keyring caused
  interactive GPG prompt blocking unattended installs)
- Fix pgrep matching avahi-daemon's [archangel.local] in full-test.sh
- Bump install timeout to 30min for DKMS builds
- Add ~/downloads/isos and archsetup inbox to build-release distribution
- Sync templates
</content>
</entry>
<entry>
<title>refactor: rename archzfs to archangel, simplify build-release</title>
<updated>2026-01-31T20:46:21+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-01-31T20:46:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archangel/commit/?id=9835f35db6bd748ed79a35216cddd786df211a59'/>
<id>urn:sha1:9835f35db6bd748ed79a35216cddd786df211a59</id>
<content type='text'>
- Standardize naming: VM names, hostname, passwords, ISO naming
- Remove USB, Ventoy, and local deployment from build-release
- Add snapper package and Btrfs validation tests to sanity-test
- Update README for dual ZFS/Btrfs architecture
- Delete obsolete SESSION-CONTEXT.md and download-archzfs-iso.sh
</content>
</entry>
<entry>
<title>Fix downloads path (lowercase)</title>
<updated>2026-01-21T00:50:57+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-01-21T00:50:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archangel/commit/?id=5d2641077d79e76c45ffcb39cd15adeb652d3630'/>
<id>urn:sha1:5d2641077d79e76c45ffcb39cd15adeb652d3630</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add comprehensive installation tests and ZFS script deployment</title>
<updated>2026-01-19T19:16:33+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-01-19T19:16:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archangel/commit/?id=ea105b2a883265c0615c2275d00de1c90ae4a4e4'/>
<id>urn:sha1:ea105b2a883265c0615c2275d00de1c90ae4a4e4</id>
<content type='text'>
- Add scripts/full-test.sh for automated install testing (single, mirror, raidz1)
- Add --full-test option to build-release workflow
- Install zfssnapshot and zfsrollback to target system during install
- Simplify .gitignore to exclude entire vm/ directory
</content>
</entry>
<entry>
<title>Add --yes flag for fully automated distribution</title>
<updated>2026-01-19T17:27:38+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-01-19T17:27:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archangel/commit/?id=f4c5f04c8c41d895dfd10eb0cecda76a0bc58d45'/>
<id>urn:sha1:f4c5f04c8c41d895dfd10eb0cecda76a0bc58d45</id>
<content type='text'>
New --yes/-y flag skips the dd confirmation prompt, allowing
build-release to run completely unattended for CI/CD workflows.

The ARCHZFS label on the drive is sufficient safety - if it has
that label, it was created by this process and is the intended target.
</content>
</entry>
<entry>
<title>Update build-release for TrueNAS and Framework drives</title>
<updated>2026-01-19T17:16:37+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-01-19T17:16:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archangel/commit/?id=51ae4bdcbc6c4280520d01da85dba729974b2a7b'/>
<id>urn:sha1:51ae4bdcbc6c4280520d01da85dba729974b2a7b</id>
<content type='text'>
- Use cjennings@truenas.local instead of root (has SSH keys)
- Remove removable check for ARCHZFS drives (Framework expansion
  cards show as internal but are hot-swappable)
- Still requires 'yes' confirmation before dd for safety
</content>
</entry>
</feed>
