octoscope 0.31.0 — installs where you already are

Until this release there were two doors: Homebrew, or go install. Both fine, both assuming you wanted a binary on your machine — which is not what you want when you're inside gh already, or writing a CI step, or on a box you'll throw away in ten minutes.
Four doors now. gh extension install gfazioli/gh-octoscope and it answers to gh octoscope. A container on ghcr.io, multi-arch and about 7 MB, for --json and --plain. The bare executables sit next to the archives on every release, so a curl needs no unpacking. And brew, as always.
The container is deliberately not the dashboard. A TUI inside a container has nothing attached to read it, so it refuses and tells you why; --json fetches once, prints and exits, which is the shape a CI step actually wants. docker run --rm -e GITHUB_TOKEN ghcr.io/gfazioli/octoscope:latest --json | jq .rate_limit is a two-line health check for your own API budget.
The tip I'd give: -e GITHUB_TOKEN with no value passes the variable through from your shell instead of putting the token on the command line, where it lands in ps and in your history. Small thing, easy to get wrong once.
The detail I enjoyed: FROM scratch is the obvious base for a static Go binary, and it's wrong in the way that hurts most. It builds. It's smaller. --version answers correctly. Then the first real call dies with x509: certificate signed by unknown authority, because a static binary still needs the host's CA bundle and scratch has none. No build-time check catches that — you find it in production or you find it by trying. I found it by trying, which is the only reason this shipped working.
Oh, and Windows is finally tested. It has shipped in every release since v0.2.0 on the strength of cross-compilation alone — CI had never built it natively, run its tests, or started it once. It does all three now, and three packages that branch on the OS went from zero tests to covered.
brew upgrade gfazioli/tap/octoscopeHow do you install a terminal tool you actually use daily — brew, your distro's package manager, a container, or do you just drop a binary in ~/bin and forget about it?
Site: https://gfazioli.github.io/octoscope
Newsletter: https://octoscope.substack.com
Mastodon: https://hachyderm.io/@undolog


Replies