<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Wireguard on Fuchsbau</title><link>https://this-is-fine.io/tags/wireguard/</link><description>Recent content in Wireguard on Fuchsbau</description><generator>Hugo</generator><language>de-DE</language><lastBuildDate>Tue, 19 May 2026 15:26:18 +0200</lastBuildDate><atom:link href="https://this-is-fine.io/tags/wireguard/index.xml" rel="self" type="application/rss+xml"/><item><title>Den Tailscale-Operator für Headscale nachbauen: Das tailnet-gateway</title><link>https://this-is-fine.io/posts/20260519-headscale-tailnet-gateway/</link><pubDate>Tue, 19 May 2026 15:26:18 +0200</pubDate><guid>https://this-is-fine.io/posts/20260519-headscale-tailnet-gateway/</guid><description>&lt;p&gt;Mein Lab hängt an einem selbstgehosteten 

&lt;a href="https://headscale.net/" rel="external noopener" target="_blank"&gt;Headscale&lt;/a&gt;
 — einer quelloffenen Reimplementierung der Tailscale-Control-Plane. Das funktioniert wunderbar für Menschen und für die Talos-Knoten. Sobald ich aber wollte, dass auch die &lt;em&gt;Cluster-Dienste&lt;/em&gt; sauber im Tailnet auftauchen — die Kubernetes-API, die Talos-API, die clusterinterne Namensauflösung —, stieß ich auf eine Lücke: Der offizielle 

&lt;a href="https://tailscale.com/kb/1236/kubernetes-operator" rel="external noopener" target="_blank"&gt;Tailscale-Kubernetes-Operator&lt;/a&gt;
 ist für die Tailscale-SaaS gebaut, nicht für Headscale. Also habe ich die Teile, die ich tatsächlich brauche, selbst nachgebaut. Das Ergebnis ist ein einziges, gut lesbares StatefulSet: &lt;strong&gt;das tailnet-gateway&lt;/strong&gt;.&lt;/p&gt;</description></item></channel></rss>