<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Traefik on Shubham Singh</title>
    <link>https://1shubham7.blog/tags/traefik/</link>
    <description>Recent content in Traefik on Shubham Singh</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language><atom:link href="https://1shubham7.blog/tags/traefik/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Adding SSO to Apps Without Built-in Login, with Keycloak and Traefik forwardAuth</title>
      <link>https://1shubham7.blog/traefik-forward-auth-sso/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://1shubham7.blog/traefik-forward-auth-sso/</guid>
      <description>How I put Keycloak login in front of Prometheus, Alertmanager, the Traefik dashboard and other UIs with no login of their own: what Traefik&amp;#39;s forwardAuth sends and does with the answer, the Middleware and annotation that make up the integration, and the ClusterRoles of URL patterns that decide which group sees which hostname.</description>
    </item>
    
    <item>
      <title>Authenticating Servers with Their Existing Certificates via Traefik mTLS</title>
      <link>https://1shubham7.blog/traefik-mtls-existing-certificates/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://1shubham7.blog/traefik-mtls-existing-certificates/</guid>
      <description>Why the servers I manage authenticate to services in Kubernetes with the certificate their Puppet agent already holds: the Traefik TLSOption and CA Secret, RequireAndVerifyClientCert versus VerifyClientCertIfGiven, the passTLSClientCert header the app reads, and the seven months a stale CA bundle rejected every server without anyone noticing.</description>
    </item>
    
    <item>
      <title>I Ran Traefik in Production for a Year Before I Really Understood It</title>
      <link>https://1shubham7.blog/traefik/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://1shubham7.blog/traefik/</guid>
      <description>The questions I should have asked before copying my first Middleware: how Traefik differs from NGINX beyond the YAML, which traffic it actually sees, what happens to a request between the entrypoint and the pod, why some changes need a restart, what a TLS 1.3 handshake really does with the certificate, and why we run more than one instance per cluster.</description>
    </item>
    
    <item>
      <title>Migrating from ingress-nginx to Traefik Without Rewriting Your Ingresses</title>
      <link>https://1shubham7.blog/nginx-to-traefik/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://1shubham7.blog/nginx-to-traefik/</guid>
      <description>How to move a cluster off the retired ingress-nginx by running Traefik next to it on the same Ingress objects: what the Kubernetes Ingress NGINX provider translates and what it does not, the parallel run and DNS cutover step by step, the IngressClass you must not let Helm delete, and the things I would tell anyone operating Traefik for the first time.</description>
    </item>
    
    <item>
      <title>Separating Public and Internal Traffic with Multiple Traefik Instances</title>
      <link>https://1shubham7.blog/multiple-traefik-instances/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://1shubham7.blog/multiple-traefik-instances/</guid>
      <description>Why I run two Traefik instances per cluster instead of one Traefik with an auth middleware: how the IngressClass flag keeps them apart, the Helm values for each, how the internal one is reached over a mesh VPN, and the three-tier variant with an IP allow-list in the middle.</description>
    </item>
    
  </channel>
</rss>
