<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Epic on schuldt.dev | IT with 💖 and 🚀 from Hamburg</title><link>https://www.schuldt.dev/blog/epic/</link><description>Recent content in Epic on schuldt.dev | IT with 💖 and 🚀 from Hamburg</description><generator>Hugo</generator><language>en-US</language><copyright>Copyright © 2026, Denis Schuldt</copyright><lastBuildDate>Sun, 12 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://www.schuldt.dev/blog/epic/index.xml" rel="self" type="application/rss+xml"/><item><title>Improved Blog UI</title><link>https://www.schuldt.dev/improved-blog-ui/</link><pubDate>Sun, 12 Apr 2026 00:00:00 +0000</pubDate><guid>https://www.schuldt.dev/improved-blog-ui/</guid><description>&lt;p&gt;Today I refactored the Blog UI. (No AI was harmed during the making of this style.)&lt;/p&gt;</description></item><item><title>Argocd</title><link>https://www.schuldt.dev/argocd/</link><pubDate>Sun, 05 Apr 2026 00:00:00 +0000</pubDate><guid>https://www.schuldt.dev/argocd/</guid><description>&lt;p&gt;Migrated all K8s apps to ArgoCD deployments.&lt;/p&gt;
&lt;p&gt;Argocd bootstrap with Helmfile, projects and ApplicationSets, Helm and simple manifest apps&amp;hellip; Let the stuff break :D&lt;/p&gt;</description></item><item><title>Telekom peering II</title><link>https://www.schuldt.dev/telekom-peering-ii/</link><pubDate>Sat, 21 Mar 2026 00:00:00 +0000</pubDate><guid>https://www.schuldt.dev/telekom-peering-ii/</guid><description>&lt;p&gt;To overcome this stupid Telekom peering (contract will end in August finally), I set up a Hetzner VPS with Wireguard. Totally automated via Terraform and Cloudinit.&lt;br&gt;
I set up my FritzBox to use that Wireguard connection, so every device here at home tunnels the traffic through the VPS.&lt;/p&gt;
&lt;p&gt;Also, dnscrypt-proxy is running to use my private Adguard-DNS server. In the end&amp;hellip; fast internet and no ads. 🥳&lt;/p&gt;</description></item><item><title>k3s homelab cluster stack III</title><link>https://www.schuldt.dev/k3s-homelab-cluster-stack-iii/</link><pubDate>Tue, 10 Mar 2026 00:00:00 +0000</pubDate><guid>https://www.schuldt.dev/k3s-homelab-cluster-stack-iii/</guid><description>&lt;p&gt;More great changes to land soon™️. But first need to handle the heavily diverged code.&lt;/p&gt;</description></item><item><title>OS install party on a Wednesday evening</title><link>https://www.schuldt.dev/os-install-party-on-a-wednesday-evening/</link><pubDate>Wed, 04 Mar 2026 00:00:00 +0000</pubDate><guid>https://www.schuldt.dev/os-install-party-on-a-wednesday-evening/</guid><description>&lt;p&gt;So when I set up my new Netcup server back then, I totally fckd up the filesystem. I am using LVM for a long time, but guess what XFS cannot do. Right&amp;hellip; shrink :)&lt;br&gt;
So this evening I reinstalled the server. Luckily, everything I do is IasC. Therefor it took me just an hour to get everything back online.&lt;/p&gt;
&lt;p&gt;And while waiting for pipelines to finish, I installed a new Arch Workstation OS. Because.. I use Arch BTW :D&lt;/p&gt;</description></item><item><title>k3s homelab cluster stack II</title><link>https://www.schuldt.dev/k3s-homelab-cluster-stack-ii/</link><pubDate>Sun, 01 Mar 2026 00:00:00 +0000</pubDate><guid>https://www.schuldt.dev/k3s-homelab-cluster-stack-ii/</guid><description>&lt;p&gt;Following up on my previous post. The cluster stack is published to GitHub. I will improve it gradually and highly appreciate feedback: &lt;a href="https://github.com/dschuldt/kubernetes-stack"&gt;https://github.com/dschuldt/kubernetes-stack&lt;/a&gt;&lt;/p&gt;</description></item><item><title>k3s homelab cluster stack</title><link>https://www.schuldt.dev/k3s-homelab-cluster-stack/</link><pubDate>Thu, 19 Feb 2026 00:00:00 +0000</pubDate><guid>https://www.schuldt.dev/k3s-homelab-cluster-stack/</guid><description>&lt;p&gt;Have you seen the perfect k8s cluster stack? May I suggest:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f0f0f0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#60a0b0;font-style:italic"&gt;# cat helmfile.yaml&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;repositories:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - name: bedag
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; url: https://bedag.github.io/helm-charts/
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - name: external-dns
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; url: https://kubernetes-sigs.github.io/external-dns/
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - name: metrics-server
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; url: https://kubernetes-sigs.github.io/metrics-server/
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - name: metallb
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; url: https://metallb.github.io/metallb
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - name: headlamp
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; url: https://kubernetes-sigs.github.io/headlamp/
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - name: cnpg
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; url: https://cloudnative-pg.github.io/charts
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - name: tailscale
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; url: https://pkgs.tailscale.com/helmcharts
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - name: longhorn
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; url: https://charts.longhorn.io
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - name: rancher-charts
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; url: https://charts.rancher.io/
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;releases:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - name: argocd
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; namespace: argocd
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; chart: oci://ghcr.io/argoproj/argo-helm/argo-cd
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; createNamespace: &lt;span style="color:#007020"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; values:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - argocd/values.yaml
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - name: cert-manager
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; namespace: cert-manager
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; chart: oci://quay.io/jetstack/charts/cert-manager
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; createNamespace: &lt;span style="color:#007020"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; values:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - cert-manager/cert-manager.values.yaml
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - name: cert-manager-issuers
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; chart: bedag/raw
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; namespace: cert-manager
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; disableValidation: &lt;span style="color:#007020"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; values:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - cert-manager/cert-manager-issuers.values.yaml.gotmpl
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; needs:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - cert-manager/cert-manager
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - name: cilium
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; namespace: kube-system
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; chart: oci://quay.io/cilium/charts/cilium
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; values:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - cilium/values.yaml.gotmpl
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - name: external-dns
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; namespace: external-dns
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; chart: external-dns/external-dns
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; createNamespace: &lt;span style="color:#007020"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; values:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - external-dns/external-dns.values.yaml.gotmpl
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - name: external-dns-secrets
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; namespace: external-dns
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; chart: bedag/raw
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; values:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - external-dns/external-dns-secrets.values.yaml.gotmpl
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; needs:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - external-dns/external-dns
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - name: haproxy-kubernetes-ingress
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; namespace: haproxy-controller
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; chart: oci://ghcr.io/haproxytech/helm-charts/kubernetes-ingress
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; createNamespace: &lt;span style="color:#007020"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; values:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - haproxy-kubernetes-ingress/haproxy-kubernetes-ingress.values.yaml.gotmpl
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; needs:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - kube-prometheus-stack/kube-prometheus-stack
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - name: haproxy-kubernetes-ingress-config
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; namespace: haproxy-controller
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; chart: bedag/raw
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; values:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - haproxy-kubernetes-ingress/haproxy-kubernetes-ingress-config.values.yaml
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; needs:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - haproxy-controller/haproxy-kubernetes-ingress
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - name: metrics-server
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; namespace: kube-system
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; chart: metrics-server/metrics-server
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; values:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - metrics-server/values.yaml
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; needs:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - kube-prometheus-stack/kube-prometheus-stack
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - name: metallb
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; namespace: metallb-system
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; chart: metallb/metallb
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; createNamespace: &lt;span style="color:#007020"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; values:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - metallb/metallb.values.yaml
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; needs:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - kube-prometheus-stack/kube-prometheus-stack
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - name: metallb-config
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; namespace: metallb-system
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; chart: bedag/raw
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; values:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - metallb/metallb-config.values.yaml
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; needs:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - metallb-system/metallb
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - kube-prometheus-stack/kube-prometheus-stack
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - name: kube-prometheus-stack
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; namespace: kube-prometheus-stack
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; chart: oci://ghcr.io/prometheus-community/charts/kube-prometheus-stack
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; createNamespace: &lt;span style="color:#007020"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; values:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - kube-prometheus-stack/kube-prometheus-stack.values.yaml
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - name: kube-prometheus-stack-grafana-dashboards
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; namespace: kube-prometheus-stack
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; chart: bedag/raw
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; values:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - kube-prometheus-stack/kube-prometheus-stack-grafana-dashboards.values.yaml.gotmpl
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; needs:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - kube-prometheus-stack/kube-prometheus-stack
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - name: headlamp
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; namespace: headlamp
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; chart: headlamp/headlamp
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; createNamespace: &lt;span style="color:#007020"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; values:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - headlamp/values.yaml
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - name: headlamp-rbac
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; namespace: headlamp
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; chart: bedag/raw
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; values:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - headlamp/headlamp-rbac.values.yaml.gotmpl
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; needs:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - headlamp/headlamp
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - name: cnpg
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; namespace: cnpg-system
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; chart: cnpg/cloudnative-pg
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; createNamespace: &lt;span style="color:#007020"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; values:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - cnpg/values.yaml
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; needs:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - kube-prometheus-stack/kube-prometheus-stack
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - name: cnpg-barman-plugin
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; namespace: cnpg-system
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; chart: cnpg/plugin-barman-cloud
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; needs:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - cnpg-system/cnpg
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - name: sealed-secrets
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; namespace: sealed-secrets
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; chart: oci://registry-1.docker.io/bitnamicharts/sealed-secrets
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; createNamespace: &lt;span style="color:#007020"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; values:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - sealed-secrets/values.yaml
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; needs:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - kube-prometheus-stack/kube-prometheus-stack
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - name: local-path-provisioner
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; namespace: local-path-storage
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; chart: git::https://github.com/rancher/local-path-provisioner.git@deploy/chart/local-path-provisioner
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; createNamespace: &lt;span style="color:#007020"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; values:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - local-path-provisioner/values.yaml
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - name: tailscale-operator
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; namespace: tailscale
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; chart: tailscale/tailscale-operator
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; createNamespace: &lt;span style="color:#007020"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; values:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - tailscale-operator/values.yaml.gotmpl
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - name: longhorn
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; namespace: longhorn-system
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; chart: longhorn/longhorn
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; createNamespace: &lt;span style="color:#007020"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; values:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - longhorn/values.yaml
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - name: system-upgrade-controller
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; namespace: cattle-system
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; chart: rancher-charts/system-upgrade-controller
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; createNamespace: &lt;span style="color:#007020"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - name: system-upgrade-controller-plan
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; namespace: cattle-system
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; chart: bedag/raw
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; values:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - system-upgrade-controller/values.yaml
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; needs:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - cattle-system/system-upgrade-controller
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - name: kured
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; namespace: kured
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; chart: oci://ghcr.io/kubereboot/charts/kured
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; createNamespace: &lt;span style="color:#007020"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; values:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - kured/values.yaml
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Helmfile</title><link>https://www.schuldt.dev/helmfile/</link><pubDate>Sat, 14 Feb 2026 00:00:00 +0000</pubDate><guid>https://www.schuldt.dev/helmfile/</guid><description>&lt;p&gt;On Valentine&amp;rsquo;s Day seriously fell in love with Helmfile in interaction with bedag/raw.&lt;/p&gt;</description></item><item><title>Maintenance and research</title><link>https://www.schuldt.dev/maintenance-and-research/</link><pubDate>Thu, 05 Feb 2026 00:00:00 +0000</pubDate><guid>https://www.schuldt.dev/maintenance-and-research/</guid><description>&lt;p&gt;Nothing to crazy happened today. Just patched some servers and did some research on Postgres production configuration values. Damn; quite a lot to research there.&lt;/p&gt;</description></item><item><title>K3s in homelab</title><link>https://www.schuldt.dev/k3s-in-homelab/</link><pubDate>Fri, 30 Jan 2026 00:00:00 +0000</pubDate><guid>https://www.schuldt.dev/k3s-in-homelab/</guid><description>&lt;p&gt;K3s is finally running in my homelab like it&amp;rsquo;s intended to.&lt;br&gt;
Also proxied by Tailscale with impersonation. That is so awesome.
-&amp;gt; &lt;a href="https://tailscale.com/kb/1437/kubernetes-operator-api-server-proxy"&gt;https://tailscale.com/kb/1437/kubernetes-operator-api-server-proxy&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Mozilla HTTP Observatory</title><link>https://www.schuldt.dev/mozilla-http-observatory/</link><pubDate>Sun, 25 Jan 2026 00:00:00 +0000</pubDate><guid>https://www.schuldt.dev/mozilla-http-observatory/</guid><description>&lt;p&gt;Implement best practices security headers. Fck this will break this website for a couple of hours.&lt;br&gt;
-&amp;gt; &lt;a href="https://developer.mozilla.org/en-US/observatory"&gt;HTTP Observatory&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Edit: Ok, got this pretty quickly. A+ is the reward. Also, .well-known/security.txt added.&lt;/p&gt;</description></item><item><title>Traefik revisited</title><link>https://www.schuldt.dev/traefik-revisited/</link><pubDate>Sat, 17 Jan 2026 00:00:00 +0000</pubDate><guid>https://www.schuldt.dev/traefik-revisited/</guid><description>&lt;p&gt;Today I set up my new server with Traefik again to give it a try. Self configuring services is still a great thing. Built in ACME support, too.&lt;/p&gt;</description></item><item><title>Tailscale</title><link>https://www.schuldt.dev/tailscale/</link><pubDate>Fri, 16 Jan 2026 00:00:00 +0000</pubDate><guid>https://www.schuldt.dev/tailscale/</guid><description>&lt;p&gt;Yesterday I ranted about Telekom - the #@!/% Netzbremse. (Also, see 👉 &lt;a href="https://netzbremse.de/"&gt;this website&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;This is why I fell in love with my &lt;a href="https://tailscale.com/"&gt;Tailscale&lt;/a&gt; exit node setup. Seriously, give it a try. It&amp;rsquo;s free!&lt;/p&gt;</description></item><item><title>Ansible done right</title><link>https://www.schuldt.dev/ansible-done-right/</link><pubDate>Thu, 15 Jan 2026 00:00:00 +0000</pubDate><guid>https://www.schuldt.dev/ansible-done-right/</guid><description>&lt;p&gt;I forgot how damn good Ansible is, if used correctly.&lt;br&gt;
Implement best practices, adhere to conventions and make use of own Galaxy collections and roles. Scales great and is reliable.&lt;/p&gt;</description></item><item><title>Repo spring cleaning</title><link>https://www.schuldt.dev/repo-spring-cleaning/</link><pubDate>Tue, 13 Jan 2026 00:00:00 +0000</pubDate><guid>https://www.schuldt.dev/repo-spring-cleaning/</guid><description>&lt;p&gt;I archived or deleted a couple of Gitlab repos. Old, shitty, not useful.&lt;br&gt;
As Biggie Smalls said: Never fall in love with your own code&amp;hellip; No wait ಠ_ಠ&lt;/p&gt;</description></item><item><title>Monitor all the things</title><link>https://www.schuldt.dev/monitor-all-the-things/</link><pubDate>Sun, 11 Jan 2026 00:00:00 +0000</pubDate><guid>https://www.schuldt.dev/monitor-all-the-things/</guid><description>&lt;p&gt;One thing I learned from my profession: Don&amp;rsquo;t stop in private. My infrastructured is monitored with &lt;a href="https://uptimerobot.com/"&gt;UptimeRobot&lt;/a&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Heartbeat on my NAS&lt;/li&gt;
&lt;li&gt;Heartbeat on my Tailscale home subnet router&lt;/li&gt;
&lt;li&gt;Port check on my Teamspeak server&lt;/li&gt;
&lt;li&gt;&amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Never down&amp;hellip; I mean.. the monitoring tool at least.&lt;/p&gt;</description></item><item><title>Lets get this started</title><link>https://www.schuldt.dev/lets-get-this-started/</link><pubDate>Sat, 10 Jan 2026 00:00:00 +0000</pubDate><guid>https://www.schuldt.dev/lets-get-this-started/</guid><description>&lt;p&gt;I dreamt the other night. Of working stuff and peace of mind. Then my monitoring screamed&amp;hellip; service down it seemed ಠಠ&lt;/p&gt;</description></item></channel></rss>