How to harden Debian Buster

This guide will show you how to harden your Debian Buster server by setting up UFW (Uncomplicated Firewall), Fail2Ban and modifying SSH configuration.
Read more →

Run GitLab Runner Podman Container using Runners with Docker Executors

Currently there isn’t an official GitLab Runner Executor for Podman. Due to RedHat Enterprise Linux 8 replacing Docker with Podman I had to find a simple solution for getting my Runners with Docker Executors running on RHEL8 without installing Docker natively or having to write a custom executor from scratch. The trick is to run a Podman Container running Docker inside and sharing it’s Docker Socket as a volume between containers!
Read more →

Receive email notifications from Keycloak using Python and the Keycloak Admin API

Keycloak is a great Identity and Access Managment (IAM) solution but lacks currently the ability of sending notification emails to the administrator. As an admin it is crucial beeing notified when a new user registers to take further actions like granting a user specific roles and permissions. Thankfully Keycloak offers an extensive Rest API that we can use to fetch and further process user events. In this guide we will write a Python script using the Python Keycloak library. The script will run regulary as a cronjob and send emails on registration events.
Read more →