Photo by [Claudio Schwarz](https://unsplash.com/@purzlbaum) on [Unsplash](https://unsplash.com/photos/yUSLlcOkJnk)

Build LaTeX with GitLab-CI

LaTeX is a software for document preparation. You write your content in plain text .tex files, much like a very basic programming language, and compile it afterwards in the designated format, e.g. pdf. LaTeX is heavily used in academia as it provides an easy way to express mathematical formulae. Besides that most universities provide a template, so you don’t have to think about margins, citation style (and more) and can simply focus on your content....

August 21, 2022 · 3 min · André Sterba

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