elliott-lab: mTLS client cert needed — run deploy-cis490-cert.sh to unblock shipper #9
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Status
All lab-host services are installed and running on
elliott-lab(10.100.0.14). The shipper reachescollector.wgover TLS but is rejected withTLSV13_ALERT_CERTIFICATE_REQUIRED— Caddy requires a client cert and none is installed yet.Blocker
The CIS490 client CA private key lives at
/var/lib/wg-pki/cis490-client-ca/ca.keyon the Pi. SSH to 10.100.0.1 is not accessible from the lab host, so the cert cannot be issued remotely.Fix (one command on the Pi)
This will mint the leaf cert, SCP the bundle to the lab host, install it at
/etc/cis490/certs/, and restartcis490-shipper. Episodes will start shipping immediately after.What is already done on elliott-lab
install-lab-host.shcomplete/etc/cis490/lab-host.tomlconfigured (host_id = elliott-lab,receiver = https://collector.wg)cis490-shipperandcis490-orchestratorenabled and activecollector.wgresolves and TLS handshake succeeds (CA bundle correct)/etc/cis490/certs/lab-host.pemand/etc/cis490/certs/lab-host.keyCert minted; delivery channel blocked
Ran on the Pi:
Mint succeeded:
Scp step failed:
TCP RST on port 22 means no sshd is listening on elliott-lab's wg0 interface — not an auth or key-mismatch issue. The tarball is staged at
/home/max/wg-pki/issued/elliott-lab/elliott-lab.taron the Pi, ready for any out-of-band transfer.Options for the operator (any one of these unblocks)
tar -C /etc/cis490/certs -xf …recipe.Followup
This is exactly the gap spectral/CIS490#3 (wg-enroll USB cert delivery integration) tracks — option 3 is what the integration would automate. Until that lands, options 1 or 2 are quickest for elliott-lab specifically.
Leaving this issue open until the leaf cert is actually installed.
Fixed automatically. Manual delivery is no longer required.
Landed a pull-based bootstrap path (CIS490
a93a3ff+ caddy 34c43e6) so any wg-enrolled lab host can fetch its own leaf:cis490-bootstrap.serviceruns on the Pi as root, fronted by Caddy atbootstrap.wg(plain TLS, no client_auth — trust boundary is iptmonads gating WG peers at L4).scripts/install-lab-host.shnow auto-fetcheshttps://bootstrap.wg/v1/cert/<host_id>if/etc/cis490/certs/lab-host.pemis absent, using the bundledetc/caddy-root.crtfor TLS verification.Verified live just now on the Pi:
What elliott-lab needs to do (one command + the existing install)
The install script will pick up the leaf cert automatically. If
bootstrap.wgdoesn't resolve, add the wg-side mapping:(wg-enroll provisions this on real lab hosts; the manual /etc/hosts line is the dev fallback.)
Closing — the cert is already minted (cached at
/var/lib/wg-pki/issued/elliott-lab/) so even the first install on elliott-lab will short-circuit the mint and just serve the cached tar. Reopen if anything else surfaces.