My Projects


git-repo-manager

A command-line tool to manage local git repositories

Rust
Libgit2
Toml

prometheus-restic-backblaze

A prometheus exporter that reports restic backup ages for Backblaze

Python
Prometheus
Restic

virt-bootstrap

A script that bootstraps a new libvirt VM using cobbler

Python
Libvirt
Cobbler

aws-glacier-backup

A bash script that uploads gzip’ed, gpg encrypted backups to AWS glacier

Bash
AWS S3
GPG

guitar-practice

A simple python script that gives me a series of guitar chords to practice chord transitions, with customizable rate of change

Python

checkconn

Utiliy that continuously monitors the internet connection and reports downtimes

Bash

packager

A learning project that can be used to manage packing lists for trips, considering duration, weather and other factors.

I mainly wrote this to play around with Flask and Elm

Rust
Python
Elm
Javascript
Svelte
HTMX
Flask
SQlite

salt-nginx-letsencrypt

A SaltStack nginx formula that also enables automated letsencrypt certificate management

Python
SaltStack
LetsEncrypt
Nginx

ansible-roles

A collection of ansible roles, e.g. for libvirt, networking, OpenVPN

YAML
Ansible

salt-states

A big collection of saltstack states that I used for my homelab.

It contains configuration for a bunch of different services, e.g. elasticsearch, dovecot, grafana, influxdb, jenkins, kibana, nginx, owncloud, postgresql, ssh and a lot of others.

YAML
Jinja2
SaltStack

wifiqr

A script that generates QR codes for easy WiFi access

Bash

syncrepo

A python script to create and maintain a local YUM/DNF package repository for CentOS.

Can be used to keep a mirror up to date with cron(8).

Python
DNF

Contributions


Prometheus Node Exporter

Add label to NFS metrics containing the NFS protocol (tcp/udp)

Go
Prometheus
NFS

Kubespray

  • Fix issues with continuous regeneration of etcd TLS cerificates
  • Fix incorrect directory mode for etcd TLS certificates
YAML
Kubernetes
Ansible

SaltStack

  • Expand the firewalld module for interfaces, sources, services and zones
  • Fix the reactor engine not being loaded when not explicitly configured
Python
SaltStack
Firewalld

Vagrant

  • Renew DHCP lease on hostname change for Debian guests
  • Fix hostname entry in /etc/hosts for Debian guests
Ruby
Vagrant

Prometheus procfs

  • Add exporting of a new field containing the NFS protocol (required for the node exporter change)
  • Fix parsing of the xprt lines in mountstats to enable metric exports for UDP mounts
Go
Prometheus
NFS

The Lost Son

Our contribution to the Global Game Jam 2018!

Javascript
Phaser