Argus

Argus, which I named after the many-eyed giant in Greek mythology, is a lightweight monitor of software releases. I developed this to keep up-to-date with releases and easily view the changelogs. A big factor in starting this project was a desire to do more Go. This started as a simple CLI-only app named Release-Notifier and eventually expanded to having a web UI to visually track what it’s doing as well as how up-to-date my deployed softwares are.

Docs

Documentation for Argus can be found here (GitHub).

Demo

A live demo of Argus can be found here (GitHub).

Positives

One nice thing I encountered whilst in the early stages of this project was the release of Go 1.18+. This release introduced Generics which greatly reduced the amount of utils-style code. So instead of needing say a GetFirstNonNilStringPtr, GetFirstNonNilUIntPtr, GetFirstNonNilIntPtr, and a GetFirstNonNilBoolPtr function, all I’d need is GetFirstNonNilPtr that takes Generics and so can handle pretty much all pointer types. This helped cut down on a lot of duplicate code!

It was also appreciated that once I had the web UI working, someone (larsl-net) found the project and started using it. He helped by submitting a few bug/feature requests as well as helping with some of the documentation. It felt really good that someone else had found my project and cared enough to help try and improve it. This helped me better understand the appeal of working on FOSS. Thanks larsl-net :)

Joseph Kavanagh
Joseph Kavanagh
DevOps Engineer

Has a love for all things Software and Automation.