Uptime monitoring with Prometheus and Grafana

There are existing services like pingdom or uptimerobot to check if your network services are up and running. But as always I like to be independent of service providers and host as much by myself as possible. So let’s build our own uptime monitoring with Prometheus, Grafana, alertmanager and the Prometheus blackbox-exporter. The general idea is to check if a service is up with the blackbox-exporter. Then scrape this metrics with Prometheus and store it for further usage....

July 27, 2022 · 5 min · André Sterba
Photo by [Samantha Gades](https://unsplash.com/@srosinger3997) on [Unsplash](https://unsplash.com/photos/BlIhVfXbi9s)

GitOps with upstream-watch

I’m a fan of automating my personal infrastructure as much as possible. Therefore, I wrote a little utility called upstream-watch, that is well integrated in my existing git-ops workflow. I wrote this tool to support my personal container based infrastructure, which is completely managed via a single git repository. What is GitOps? GitOps upholds the principle that Git is the one and only source of truth. GitOps requires the desired state of the system to be stored in version control such that anyone can view the entire audit trail of changes....

June 23, 2022 · 4 min · André Sterba
Photo by [Uta Scholl](https://unsplash.com/@uta_scholl) on [Unsplash](https://unsplash.com/photos/ipUuGGUgR5A)

Go Generics

The latest release of Go (1.18) added generics to the language, besides fuzzing, workspaces and performance improvements. 1 So let’s use them to implement the repository pattern, which is a way to abstract data handling from your business logic. When working on REST-like APIs you want to split handling of data from and into some kind of data store (e.g. a database, a file, …) from business logic. This is where the repository pattern comes in handy....

May 1, 2022 · 5 min · André Sterba
Photo by [Adi Goldstein](https://unsplash.com/@adigold1) on [Unsplash](https://unsplash.com/photos/EUsVwEOsblE)

Install Arch Linux

This will be a reminder for myself on how to set up a basic Arch Linux and not a guide with a lot of variety on how to set up arch. I will update this post when I learn something new, while installing arch on one of my machines again. In the past I did some experiments with btrfs, but had some problems while rebalancing, and actually used none of the fancy features like snapshots, btrfs send or other cool things....

April 1, 2022 · 4 min · André Sterba
Photo by [Amrut Roul](https://unsplash.com/@amrutroul) on [Unsplash](https://unsplash.com/photos/evNX5mSx6kc)

Neovim LSP

I was (and still am for some parts) a happy vscode user. On the other hand I was always looking up to all these crazy fast vim/neovim users and their keyboard only drive workflows. After hopping on and off the vim train a few times a year something new came around sometime in 2021 - LSP support on neovim core. LSP stands for Language Server Protocol and definies how your IDE communicates with a specific language server to get features like ‘go to definition’, ‘show references’ or ‘rename this variable’....

March 1, 2022 · 7 min · André Sterba