Fresh off the lab

The only difference between science and screwing around is writing it down

Category: Guides

  • Traefik: Secure IngressRoutes with cert-manager

    In the previous post I have exposed a web application through Traefik Proxy. Unfortunately Traefik does not support, by default, websockets, which my application uses.To enable them we have to add a Header to all requests to our backend, adding a customRequestHeaders Middleware. We do so by specifying a Middleware CRD, or “Custom Resource Definition”,…

  • Kubernetes – Exposing services

    In Part 3 of the “Migrating a Django app to Kubernetes” I’ve written a Helm chart to run a Django application and a few corollary services on Kubernetes, but aside from port-forwarding, it’s still stuck “inside” the box. Time to let it out. Kubernetes keeps applications inside of itself by default, there are a few…

  • Migrating a Django app to Kubernetes – Part 3 – Writing an Helm Chart

    In Part 2 we have seen how helpful Helm Charts can be so… let’s write our own. that was easy.Oh , right, we have to actually _do_ something with it. As always, all code will be available in this repo. Helm Charts start deploying an nginx container. That’s fine so far, as we still don’t…

  • Migrating a Django app to Kubernetes – Part 2 – Backend

    All code (minus passwords) will be published in the associated Github Repo As mentioned in part 1, my application has not one, but three backends! Neither of these applications is “stateless”, so we can’t treat them like cattle and scale them up or down as needed Stateful Sets Kubernetes introduces the idea of Stateful Set…

  • Migrating a Django app to Kubernetes – Part 1

    Migrating a Django app to Kubernetes – Part 1

    At my current workplace I have been “bestowed” the development and upkeep of an internal tool – Metamonitor. Since our Managed Services team has a lot of customers, each with their own monitoring system, an ex-colleague had built (and I’ve since completely rewritten and expanded) a Django application against which monitoring systems fire webhooks, centralizing…

  • Streaming Telemetry on Cisco IOS-XE

    Streaming Telemetry on Cisco IOS-XE

    Since we already have a TIG stack up and running we might as well do something fun with it. Ever heard of streaming telemetry?No?Would you like to? We no longer have to poll network devices for thousands of data points every few seconds to monitor them, we can just have them report back to us…

  • User analytics with TIG stack

    User analytics with TIG stack

    If you’re reading this post, you’re being tracked.Don’t worry! In this article I’ll explain you exactly how, much better than a vague “privacy policy”. In this article we will learn to configure Telegraf, influxDB and Grafana to collect and parse json-formatted Nginx logs What’s a TIG? TIG stands for Telegraf, InfluxDB, Grafana, and we’re going…

  • Migrating to Fedora – programmatically, part 1

    Migrating to Fedora – programmatically, part 1

    As mentioned in my last post, I’ve decided to try Fedora Linux because of its better compatibility with Podman. What best way to try it than reinstalling your home server?But this time I want to do it right. I want to do it with automation. My home server runs several services: I plan to set…

  • How to install this website – Part 2

    How to install this website – Part 2

    In Part 1 of this series we have set up a working Podman 4 implementation with Netavark on Debian. In this post we will set up a Pod running the WordPress and Mysql containers to serve this website We’ll start with creating a Pod. Every Pod in Podman has its own IP, and unlike docker-compose…

  • How to install this website – Part 1

    How to install this website – Part 1

    The beginning of my journey