Posts
Thomas Stringer
Cancel

Searching Through All systemd Unit Files for a String

I was recently working on an issue where I had a systemd service that I didn’t want to run anymore (but I didn’t want to remove the service itself, and I also didn’t want to mask it). The obvious a...

Talking to systemd Through dbus with Python

As users of systemd, it is a fairly common to use systemctl to interact with the system manager. But what if you’re writing code and you want to programmatically interact with units and services? O...

Creating a Python package for Ubuntu... From code zero to apt install

Some of the work I am doing right now has me creating packages that should be distributed to Ubuntu Linux machines. For those of us that aren’t new to the Linux world, it is a normal thing to apt i...

Kubernetes’ AlwaysPullImages Admission Control - the Importance, Implementation, and Security Vulnerability in its Absence

Kubernetes is big and only getting bigger. What this means is that as adoption is on the rise, the natural progression is more Kubernetes clusters thrust into production. Oftentimes security is an ...

Extending Kubernetes - Create Controllers for Core and Custom Resources

Kubernetes is powerful and ships with a lot of out-of-the-box functionality. But as we start to think of new ways to use Kubernetes, we may want to have the ability to create our very own “Kubernet...

Logging to systemd in Python

One of the common themes in modern Linux is the adoption of systemd. Like it or hate it, it is here to stay. The main component of logging in systemd is the Journal, controlled by journald. Linux ...

Get the History of an Installed Package with DNF

DNF (“DaNdiFied Yum”) is the next version of Yum, the package manager for RPM-based Linux distributions (RHEL, CentOS, and Fedora). For those of us that are Fedora users, DNF is probably nothing ne...

Logging, Flask, and Gunicorn... the Manageable Way

Logging is one topic that some (many?) find boring. But something we can all agree on is that it is absolutely vital to software development and operations. Beginners to Flask (a lightweight but po...

Debugging a Python Flask Application in a Container with Docker Compose

Writing and debugging Python applications by themselves isn’t hard: Just kick it off with pdb and you’re in the debugger. But when you start adding layers on top of it like Flask (web framework), ...

SSH Through a Jumpbox to a Protected Server

This is a common pattern: You have a protected server (or servers) that aren’t publicly accessible. Typically, you may have what is commonly referred to as a “jumpbox”, which is accessible from a p...