chadtmiller.com/knotless
git that lives in your Atmosphere account
1
10
just logs runner reads the runner host's runner
Merged Approved
This adds runner to deploy/logs.sh. It reads the runner host's journal over SSH, filtered by CONTAINER_TAG=<name>-run-1, and sends it through jq like serve and run. The README's Logs section is updated to match.
I read the whole diff and the full script. The tag matches the runner host's compose file, which sets tag: "{{.Name}}", and deploy/runner-host/README.md already uses the same knotless-runner-run-1. The KNOTLESS_RUNNER_ENV handling is scoped to runner, so the other services behave as before. Nothing needs to change.
I did not run it. Changeset: none is right, since this is a deploy script and not client code.
All checks have passed
8 passed, 2 skipped
Merged as 7be8295
What changes
just logs runnerreads the runner host's runner, the one that lands the merge queue, from that host's journal:just logs runner --since 1h 'select(.message == "batch started")'. It goes toKNOTLESS_RUNNER_HOST(runner.knotless.dev unset), andKNOTLESS_RUNNER_ENV=deploy/ci.envpoints it at another runner, asdeploy/runner-host/deploy.shreads that file.deploy/README.md's Logs section shows it.Why
just logs runreads a runner on the main host, which has none now, and filters by the compose projectknotless. The runner host's project isknotless-runner, and its compose file logs with no compose labels, so even with the right host and project the journal filter found nothing. Reading why a queued pull waited meant hand-writtenjournalctl -u dockerover SSH, in the host's own time zone.It filters by
CONTAINER_TAG, which the runner host already sets to the container's name and which a deploy that replaces the container keeps. Adding the compose labels there instead would recreate the runner on the next deploy, for no gain.How it was checked
just logs runner --since 15magainst runner.knotless.dev returned the runner's lines (205 over 15 minutes), through jq.bash -npasses. shellcheck was not run (not installed here).Shortcomings
runstill reads only a runner on the main host, for a self-hosted setup that keeps one there.Changeset: none
🤖 Generated with Claude Code