Well, it's time. I'm releasing my tool that lets you aggregate patch and update status of hosts over ssh on unix-like systems.

The github repository has details as well as links to the exhaustive documentation.

It is my hope that at least another person finds it useful

https://github.com/mrdaemon/exosphere

#SRE #HomeLab #Python #unix #linux #freebsd #SysAdmin

@mr_daemon this looks dope! I plan on checking it out!
@jthoel @mr_daemon me too, this looks perfect!
@mr_daemon hmm how does it compare to Ansible? From what I can see it should be pretty doable from Ansible perspective.

@psyhackological My initial internal thing was an ansible playbook that generated a local report that I templated via jinja, but it got clumsy fast and either gave me too much data or not enough. Adjusting was annoying every time, and it was shockingly slow. Getting an aggregate report of all hosts is also one of these things ansible does clumsily.

It really isn't meant to be an either/or thing in this case, as it focuses exclusively on _reporting_, i.e. telling you what updates and patches there are on t he system, what they are, which ones are security, and letting you query this at will, with copious cache.

It doesn't apply updates for you at all, which is definitely an area where you should use better tooling. I personally absolutely use Ansible for that part.

@mr_daemon yeah Jinja is powerful but the writing logic takes forever. I remember doing something with Ceph scaling (simple ceph orch apply and then list of current hosts). Getting this information from the inventory or other file was a nightmare.

That's a plus on your side. The reporting should he reproducible with gathet facts or just post facts logic like for example: https://docs.ansible.com/ansible/latest/collections/ansible/posix/timer_callback.html

To be honest in the end I found Ansible useless, it just uses a great tool for the job underneath.

ansible.posix.timer callback – Adds time to play stats — Ansible Community Documentation

@mr_daemon for example in case of your autoupdating I would try https://www.youtube.com/watch?v=y5_wPaHlcHQ
Ubuntu 24.04: How to Automate Updates with Unattended Upgrades

YouTube