#exosphere

2026-01-12

I've released version 2.2.0 of Exosphere, my patch reporting program for remote UNIX systems.

It contains support for SSH connection pipelining, with associated tools to manage their state, as well as an exhaustive polish pass.

Multiple internal systems have been refactored to be much cleaner and easier to maintain.

github.com/mrdaemon/exosphere/

#exosphere #linux #unix #FreeBSD #OpenBSD #HomeLab #SRE #Python

2025-12-14

I keep forgetting how rewarding it is to finish a core feature of something and then making a small bit of UI or command that shows the state of it.

You get to have a Nice Visual for your hard work and see it going somehow.

#exosphere #python #softwareDev

A screenshot of the "connections show" command in exosphere, showing a table of SSH connection states.

The columns are "Host", "IP", "Port", "Idle" and "State".

Idle displays the amount of time since the connection was last used, State displays the current state of the connection to that particular host. "Expiring" is in yellow, "Connected" in green and "Inactive" in dim gray.

At the bottom, there is a small caption in dim italics that reads "Idle connections older than 300s are closed every 30s".
2025-12-11

I've been adding some form of SSH pipelining to Exosphere, my patch reporting program for remote unix systems.

The idea was that I could just remove connection lifecycle handling entirely from package manager providers and setup/discovery code, and manage that from within the task runners.

So I added an opt in config toggle that will leave connections open and reap them via a background thread if they have been idling for more than X amount of time. That way chaining operations takes significantly less time, since the connection gets reused.

This is basic, a bit naive, but it works without issues in my weeks spent using that code myself on 21 hosts with no ill effects.

I'm just at the stage where I have to convince myself it's Good Enough, Actually(tm) because it's making my Race Condition sense tingle (even though there's really no risk in context) and I'm this close to wrapping connection semantics in RLocks for no reason other than to make the feeling go away.

#python #exosphere

2025-11-01

Just released a Big Quality of Life update to my patch reporting program for remote UNIX systems.

Inventory filtering, Themes support, massively improved tab completion in interactive mode and more!

github.com/mrdaemon/exosphere/

#exosphere #linux #unix #FreeBSD #OpenBSD #HomeLab #SRE #Python

2025-10-22

The problem with using software you wrote yourself is that you impulsively add features you feel would improve your life, and then get annoyed at how other parts of the software don't have the same feature.

So I guess I'm adding filtering capabilities to the Inventory view in Exosphere now

#exosphere #python #textual #sre #SoftwareDev

2025-10-04

Finally released version 1.5.0 of my update reporting program for remote unix systems.

It now has reporting! It can output nice document based reports in HTML, Markdown, Text and JSON

The JSON part is ideal if you want to integrate Exosphere into anything else.

github.com/mrdaemon/exosphere/

#exosphere #python #sre #linux #freebsd #openbsd #HomeLab

2025-10-01

Documenting things concisely is hard sometimes.

I swear I finished the Reporting feature in Exosphere over two weeks ago, but I've been rewriting the documentation for it like 20 times. There's a lot of stuff and it was supremely annoying to present in a way that doesn't look nasty or isn't overwhelming.

If of course resulted in me writing two more questionably useful custom Sphinx extensions just to get it done, but I think I'm pleased with the results.

It finally just needs a few editing passes to reword some stuff and make sure I don't publish 1.5.0 with embarrassing typos or shitty grammar that makes me question my command of English, but the biggest hurdle has been passed I think.

#exosphere #sphinx #documentation #SoftwareDevelopment

2025-09-21

I've been toying with a new feature in Exosphere. I kind of want to be able to both produce file reports and offer a mechanism through which people can make integrations for their own stuff, like notification sinks, discord bot, zigbee powered doorbell over convoluted message broker or shell script that sends an email.

A json output format to stdout or file seems like a great first step maybe?

#exosphere #python #homelab #SoftwareDev

A console screenshot of a development version of exosphere running "exosphere report generate --format json". The output is piped into jq and shows a json structure of the inventory and all of the interesting fields, such as name, description, ip, flavor, versions, and a dict of all updates and their properties, with an iso timestamp for `last_refresh`.
2025-09-15

This #Exosphere tool is great - a nice way to check whether it’s worth kicking off a full #ansible update playbook, and having an idea of what packages are about to get updated beforehand.

Thanks @mr_daemon ☺️

2025-09-14

Am going to try out #Exosphere this evening on my four #homelab machines - looks super interesting, especially since I’m so bad at keeping machines up to date. 🙈

See untrusted.website/@mr_daemon for related Toots.

2025-09-14

I've released version 1.4.0 of Exosphere, my patch reporting program for remote unix-like systems.

It now fully supports OpenBSD as a remote platform!

github.com/mrdaemon/exosphere/

#exosphere #linux #openbsd #homelab #sre #freebsd

2025-09-13

WOOPS I've added OpenBSD support to Exosphere. One thing led to another and uh...

#exosphere #HomeLab #python #devlog #openbsd

A screenshot of a terminal showing the output of `inventory status` in the exosphere CLI showing an OpenBSD 7.7 system with 3 updates.

The output of `host show` follows, giving the platform details as fully supported, and a table listing package updates with the standard Name, Current Version, New Version, Security and Source columns.

The tables are nice colored curses-like, rich widgets.
2025-09-08

One more FreeBSD centric update for the road, you can now explicitly synchronize pkg repositories, provided you configure sudo policies for it.

github.com/mrdaemon/exosphere/

#exosphere #FreeBSD #HomeLab #Python #linux

2025-09-04

Small bugfix release for Exosphere for FreeBSD systems, now supports newer versions of pkg on FreeBSD 14.

If you were not seeing any updates on your FreeBSD systems, that was why.

github.com/mrdaemon/exosphere/

#exosphere #python #freebsd

2025-08-20

New Exosphere release: we now support having unsupported hosts in the inventory, allowing for ping checks and dashboard presence, even if there's no Package Manager Provider for them.

Also, lots of bugfixes, including properly reporting kernel updates for redhat-like systems.

github.com/mrdaemon/exosphere/

#exosphere #python #SRE #linux #unix #freebsd #HomeLab

2025-08-06

My silly little tool to aggregate patch and update status over ssh got 50 stars on github, which is more than I've ever gotten for anything I've made and bothered making public AND actually cared about.

If you've given Exosphere a go, thanks and I hope you found it useful

#exosphere

2025-08-04

I've pushed another significant update to my patch reporting tool: the Dashboard is now fully reactive, scrolls, and can be resized dynamically, alongside mutiple small QoL changes in logging.

github.com/mrdaemon/exosphere/

#exosphere #Linux #FreeBSD #HomeLab #SRE #Python

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst