andreas and Claude Sonnet 5
2601472576
post-check and docs for NetworkManager WANs
...
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01KqhjP7nud5gdBg25zCiRk9
2026-09-23 19:06:43 -04:00
andreas and Claude Sonnet 5
50ac006894
deploy: apply helper hardening (signal ordering, timeout -k, self-cleanup, checked pristine mv)
...
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01KqhjP7nud5gdBg25zCiRk9
2026-09-23 19:01:25 -04:00
andreas and Claude Sonnet 5
cefca06dac
deploy: apply helper gateway from DHCP routers, trap/timeouts, running status, per-stamp files
...
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01KqhjP7nud5gdBg25zCiRk9
2026-09-23 18:55:04 -04:00
andreas and Claude Sonnet 5
ca7d22384b
deploy: apply helper reboots only when the rollback itself failed
...
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01KqhjP7nud5gdBg25zCiRk9
2026-09-23 18:46:16 -04:00
andreas and Claude Sonnet 5
d46fd5a1e4
deploy: --apply-network changes nothing itself; helper does install/apply, two-stage gate, checked rollback, status file
...
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01KqhjP7nud5gdBg25zCiRk9
2026-09-23 18:44:59 -04:00
andreas and Claude Sonnet 5
eaec8eb8b9
deploy: --apply-network with detached apply, connectivity gate and automatic rollback
...
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01KqhjP7nud5gdBg25zCiRk9
2026-09-23 18:35:43 -04:00
andreas and Claude Sonnet 5
7be698a5f1
deploy: find cellular profile by id, no-auto-default NM conf, warn on NM enable failure
...
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01KqhjP7nud5gdBg25zCiRk9
2026-09-23 18:33:38 -04:00
andreas and Claude Sonnet 5
e8fa2e025f
deploy: install missing packages, NetworkManager WAN section, --wan-plan
...
Pure-bash SHA-1 derived CELLULAR_UUID (no uuidgen); skip keyfile if empty.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01KqhjP7nud5gdBg25zCiRk9
2026-09-23 18:30:17 -04:00
andreas and Claude Sonnet 5
65c0356463
Template NM WAN pieces: netplan split, cellular keyfile, new host variables
...
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01KqhjP7nud5gdBg25zCiRk9
2026-09-23 18:27:19 -04:00
andreas and Claude Sonnet 5
7333c1a1b3
post_check: radio present but not beaconing (no ssid) is a warning, not ok
...
Adds classify_radio + hidden --classify-radio seam and check 13.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01KqhjP7nud5gdBg25zCiRk9
2026-09-23 17:35:33 -04:00
andreas and Claude Sonnet 5
c4d9def8e3
post_check: run-to-completion units that exited 0 are ok, not warnings
...
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01KqhjP7nud5gdBg25zCiRk9
2026-09-23 17:26:33 -04:00
andreas and Claude Sonnet 5
6142935e29
post_check: shared bounded retry for br0/LAN/NAT/DHCP probes, pipefail-safe matching
...
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01KqhjP7nud5gdBg25zCiRk9
2026-09-23 17:23:36 -04:00
andreas and Claude Sonnet 5
5b43add677
deploy.sh: post-deploy check, --post-check, host-aware verify list
...
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01KqhjP7nud5gdBg25zCiRk9
2026-09-23 17:20:48 -04:00
andreas and Claude Sonnet 5
667edc8621
deploy --diff: never diff seeded secret files, redact secret values
...
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01KqhjP7nud5gdBg25zCiRk9
2026-09-23 16:41:31 -04:00
andreas and Claude Sonnet 5
ac897799e6
Template hostapd interface/SSIDs/5GHz radio lines; guard against other-host hardcodes
...
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01KqhjP7nud5gdBg25zCiRk9
2026-09-23 14:48:22 -04:00
andreas and Claude Sonnet 5
3d117e714c
Backup scripts read device/UUID/target from the host config
...
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-09-23 14:36:46 -04:00
andreas and Claude Sonnet 5
83974f731d
deploy: feature flags, --diff, tolerate failed restarts
...
Li3, NVMe watchdog, Home Assistant/ESPHome, Frigate and Cockpit are
installed, enabled and restarted only when their ENABLE_* flag is 1.
--diff shows what would change in /etc. A unit that fails to restart is
recorded as a warning instead of aborting the deploy.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-09-23 14:34:13 -04:00
andreas and Claude Sonnet 5
d704069ffc
Template remaining host-specific values (WAN wifi, LAN/eth0, NVMe, nftables)
...
nftables.conf hardcoded the R5C network, van-br0-setup.service the R5C
interfaces and several configs wlan0/eth0. All now come from the host
config; the onboard LAN port is skipped when ONBOARD_LAN_IFACE is empty.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-09-23 14:32:09 -04:00
andreas and Claude Sonnet 5
0cbbeb7aba
deploy: host config from /etc/vanlink.conf (hosts/<hostname>.conf)
...
deploy.conf is replaced by one versioned file per host plus an example.
deploy.sh validates the config, renders every template with a generic
token loop, refuses to install output with leftover @TOKENs and gains
--check/--templates. LAN_USB_IFACE is renamed LAN_IFACE.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-09-23 14:28:11 -04:00