exosphere — SSH patch reports for your whole fleet

exosphere — SSH patch reports for your whole fleet

exosphere (mrdaemon/exosphere) is a Python CLI and TUI that SSHes into a fleet of Unix-like hosts in parallel and reports pending package updates and security advisories in a unified dashboard — no agent software on remote machines, no central server, just SSH key auth. MIT, 133 stars, 987 commits, 26 releases, v2.4.3. Install via `pipx install exosphere-cli`.

CLI Tool Pick
2026. 6. 22. · 01:19
구독 2개 · 콘텐츠 30개
You have a dozen Linux boxes spread across two VPSs and a homelab rack. Before Friday's maintenance window you need to know which hosts are behind on security patches — but SSHing into each one individually and running apt list --upgradable or dnf check-update by hand doesn't scale past three hosts without becoming error-prone. exosphere turns that gap into a single terminal command. 1

What it does

exosphere (mrdaemon/exosphere) is a Python CLI and TUI that SSHes into a list of remote Unix-like hosts in parallel, collects pending package updates and security advisories from the local package manager on each host, and presents the results in a unified dashboard. Nothing is installed on the remote machines — they only need SSH access and key-based authentication. 1
The author, Alexandre Gauthier, describes the targeting precisely: "If you have SSH access to the hosts and your keypairs are loaded in an SSH Agent, you are good to go!" 1
Supported remote platforms:
  • Debian / Ubuntu — APT
  • Red Hat / CentOS / Fedora — YUM / DNF
  • FreeBSD — pkg
  • OpenBSD — pkg_add
Other Linux and BSD variants get an SSH reachability check but no package-level data.
The TUI is built on Textual and exposes four views: an inventory list, a patch dashboard, a log stream, and a command palette. If you prefer scripting over interaction, exosphere can also emit HTML, Markdown, plain-text, or JSON reports — useful for piping patch data into a cron job alert or a ticket system. 1

Concrete scenario

You manage 12 hosts across two sites. It's Thursday afternoon. Run:
exosphere report --inventory ~/.exosphere/hosts.yaml
Twenty seconds later the TUI dashboard loads with each host as a row: green checkmark rows are fully patched, amber rows have pending updates, red rows have unacknowledged security advisories. You can drill into any row to see the specific package names and advisory IDs, or export the whole snapshot as Markdown to paste into your maintenance-window ticket.
The hosts.yaml inventory file lists the hosts you already connect to regularly:
hosts:
  - name: web-01
    hostname: 192.168.1.10
    user: deploy
  - name: db-primary
    hostname: db.internal.example.com
    user: ubuntu
  - name: freebsd-nas
    hostname: nas.home
    user: admin
No agent software, no central server, no credentials stored by exosphere itself — it delegates entirely to your SSH agent.
콘텐츠 카드를 불러오는 중…

Install

Requires Python 3.13+. Three clean paths:
MethodCommand
pipx (recommended)pipx install exosphere-cli
uv tooluv tool install exosphere-cli
Homebrewbrew install exosphere
The PyPI package name is exosphere-cli; the Homebrew formula name is exosphere. Once installed, run exosphere --help to confirm, then initialize your inventory. 1
통계 카드를 불러오는 중…

Release history

v2.4.3 shipped on May 28, 2026 as a hotfix that pins the typer dependency to <0.26.0 — a version incompatibility introduced by a upstream typer release that could silently break installs via pipx or uv. v2.4.2 (April 14, 2026) fixed two provider-level bugs: a missing lsb-release dependency on Debian and a parsing error in the Red Hat provider for unknown package sources. 2
콘텐츠 카드를 불러오는 중…
987 commits and 26 releases across a single-maintainer project signals steady, real-world-driven iteration — the patch history reads like someone actually uses this tool to manage their own infrastructure.

Caveats

Platform coverage has a hard edge. If your fleet includes NixOS, Alpine, Arch, or Gentoo hosts, exosphere will reach them over SSH but won't pull package data from them. Those hosts appear in the dashboard as "reachable" with no patch information. 1
Python 3.13 is a real requirement. Older Python environments — common on long-lived servers being used as the control host — will need an upgrade or an isolated environment. The pipx and uv paths both handle this cleanly if your system Python is older.
No community discussion. exosphere has no Hacker News threads, Reddit posts, or third-party write-ups as of this writing. The 133 stars and 987 commits reflect genuine usage, but there's no crowd-sourced troubleshooting record to fall back on if you hit an edge case. Gauthier's GitHub issue tracker is your main support channel.
Single maintainer. This is a one-person project with a deliberate stance: the CONTRIBUTING file explicitly rejects AI-generated pull requests and requires all contributions to be human-authored and explainable. Gauthier's stated position: "We do not endorse, recommend, or want contributions from Large Language Models (LLMs) or 'AI' code generation tools. We like our bugs human made and ethically sourced." 1 That policy keeps the codebase legible, but it also means the pace of outside contributions will stay low.

Quick-reference

Data current as of Jun 21, 2026. 1 2
FieldValue
Repositorymrdaemon/exosphere
Versionv2.4.3 (released May 28, 2026)
LanguagePython (98.5%)
LicenseMIT
Stars133
Releases26
Installpipx install exosphere-cli
Python requirement3.13+
Remote agent requiredNo — SSH key auth only
Install if: you manage a small fleet of Debian/Ubuntu, RHEL/CentOS, FreeBSD, or OpenBSD hosts; you want a single command to summarize pending patches across all of them before a maintenance window; and you already use SSH key auth with an agent.
Skip if: your fleet runs NixOS, Alpine, Arch, or other unsupported distributions as primary hosts; your control machine is on Python <3.13 and you don't want to deal with the upgrade; or you need a hosted/shared patch management solution rather than a local CLI.

이 콘텐츠를 둘러싼 관점이나 맥락을 계속 보강해 보세요.

  • 로그인하면 댓글을 작성할 수 있습니다.