My latests posts:


Type-erasing trait parameters in Rust

2023-01-11 22:22:00 +00:00Fredrik Østrem

Rust traits are great, but sometimes it's useful to erase compile-time trait parameters and associated types.

In this blog post, I'll show how to take a trait with type parameters, and build a container type that can contain multiple implementations with different type parameters and associated types.


Kubernetes HTTPS ingress with ingress-nginx and cert-manager

2021-03-13 15:41:00 +00:00Fredrik Østrem

In this post, I'll continue the process of setting up a Kubernetes cluster from my last post by setting up our own load balancer, ingress and certificate manager. This lets us easily deploy web services protected by HTTPS in our Kubernetes cluster.


Setting up self-hosted Kubernetes

2020-06-07 12:51:00 +00:00Fredrik Østrem

In this post, I'll go through the process of setting up a Kubernetes cluster with one or more machines.

I'm using Alpine Linux to minimize the actual operating system, and try to allow for as much of the cluster as possible to be running inside of Kubernetes. For the Kubernetes cluster I'm using K3S, as that seemed to be a good out-of-the-box solution that supports both Alpine Linux and allows for clusters with multiple machines. And to connect the machines in the cluster together, I'm using ZeroTier, as that allows for the machines to discover and communicate to each other behind firewalls on different networks.


Setting Up a Virtual Private Network

2020-04-18 22:15:00 +00:00Fredrik Østrem

In this post I'll describe how I set up a virtual network between different servers.


© 2020–2023 Fredrik Østrem.