From ba2f4ee4cfcdd78b24097a93ee2e6d97dc19b032 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Fri, 10 Jul 2026 00:25:26 +0300 Subject: =?UTF-8?q?skills:=20pkgrepo=20=E2=80=94=20OpenBSD=20dserver=20abs?= =?UTF-8?q?olute=20paths,=20persistent=20host=20key?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Document the 2026-07-10 OpenBSD dtail package changes: absolute CacheDir/HostKeyFile, host key migration to /var/db/dserver, rc_pre key-cache refresh, same-version reinstall procedure, and the f0.wg0 Makefile override needed from the WireGuard VPN. Co-Authored-By: Claude Fable 5 --- prompts/skills/pkgrepo/references/dtail-package.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'prompts') diff --git a/prompts/skills/pkgrepo/references/dtail-package.md b/prompts/skills/pkgrepo/references/dtail-package.md index 2cda2f9..32641d7 100644 --- a/prompts/skills/pkgrepo/references/dtail-package.md +++ b/prompts/skills/pkgrepo/references/dtail-package.md @@ -19,10 +19,17 @@ make dtail-rocky # Rocky Linux: x86_64 + aarch64 RPMs + repodata | File | Source template | |------|----------------| | `/usr/local/bin/dserver`, `dcat`, `dgrep`, `dmap`, `dtail`, `dtailhealth` | built natively on build VM | -| `/etc/dserver/dtail.json` | `frontends/etc/dserver/dtail.json.tpl` | +| `/etc/dserver/dtail.json` | `frontends/etc/dserver/dtail.json.tpl` (absolute `CacheDir: /var/run/dserver/cache`; `HostKeyFile` in persistent `/var/db/dserver/ssh_host_key`) | | `/etc/rc.d/dserver` | `frontends/etc/rc.d/dserver.tpl` | | `/usr/local/bin/dserver-update-key-cache.sh` | `frontends/scripts/dserver-update-key-cache.sh.tpl` (ksh) | +OpenBSD notes: +- Packages before 2026-07-10 used relative `CacheDir: "cache"` / `HostKeyFile: "cache/ssh_host_key"` — that only worked because rc.d starts the daemon via `su -l _dserver` (CWD = `/var/run/dserver`, the `_dserver` home dir); a manual start from any other directory broke key lookup. Same bug class as on FreeBSD (dtail commit `fec2f9d`) +- OpenBSD's `/etc/rc` wipes `/var/run/*` at boot, so the SSH host key now lives in persistent `/var/db/dserver/ssh_host_key` (mirrors NetBSD). The rc.d `rc_pre` recreates `/var/run/dserver/cache` and `/var/db/dserver` and re-runs `dserver-update-key-cache.sh` on every start; the daily cron entry keeps it fresh afterwards +- When upgrading a host from a pre-2026-07-10 package, copy the old key first to preserve the host identity: `doas install -d -o _dserver -m 0700 /var/db/dserver && doas cp -p /var/run/dserver/cache/ssh_host_key /var/db/dserver/` — otherwise dserver generates a new host key and clients without `--trustAllHosts` must re-accept it (done on fishfinger 2026-07-10; **blowfish still runs the pre-2026-07-10 package**) +- Same-version reinstall: `pkg_add -u` is a no-op — `doas pkg_delete dtail` then `doas env PKG_PATH=... pkg_add dtail` +- From the WireGuard VPN, `f0.lan.buetow.org` may not route — run the Makefile with `make dtail-openbsd FREEBSD_HOST=f0.wg0` + ### FreeBSD (f0–f3) | File | Source template | -- cgit v1.2.3