cert-manager automatic TLS certificate flow

cert-manager: Automatic TLS Certificates in Kubernetes

Manual certificate management is a recipe for outages. Certificates expire at 3 AM on a holiday weekend. Renewal processes live in tribal knowledge. Teams deploy services without HTTPS because “it’s too complicated.” cert-manager automates everything. Define what certificates you need, and cert-manager handles issuance, renewal, and Kubernetes Secret management. Forever. This is one of the first things I install in every cluster. How cert-manager Works flowchart TD subgraph cluster["Kubernetes Cluster"] CM["cert-manager"] CERT["Certificate<br/>Resource"] SECRET["TLS Secret"] INGRESS["Ingress"] end subgraph external["External"] LE["Let's Encrypt<br/>ACME Server"] DNS["DNS Provider"] end CERT -->|"watches"| CM CM -->|"creates"| SECRET CM <-->|"ACME protocol"| LE CM <-->|"DNS challenge"| DNS SECRET -->|"mounts"| INGRESS You create a Certificate resource cert-manager requests a certificate from the issuer (Let’s Encrypt, Vault, etc.) cert-manager completes the challenge (HTTP-01 or DNS-01) cert-manager stores the certificate in a Kubernetes Secret Your Ingress/Gateway uses the Secret for TLS Renewal happens automatically 30 days before expiration. ...

April 12, 2026 · 6 min read · Tom Meurs
AuDHD, ADHD, autism, productivity, automation

Working with an AuDHD brain: why I automate everything

I have AuDHD — the combination of autism and ADHD. Specifically ADHD-PI: the inattentive variant, without the hyperactivity most people associate with ADHD. This isn’t an excuse. It’s context. Because the way I work — the obsession with automation, the preference for async communication, the hours I invest in tooling — doesn’t come out of nowhere. It’s the result of years of experimenting with what works for a brain that isn’t built for the standard office world. ...

December 27, 2025 · 5 min read · Tom Meurs
Automated semantic versioning pipeline

Automating Semantic Versioning with GitLab CI

Version numbers shouldn’t be a decision. They should be a consequence of the changes you made. Semantic versioning (semver) has clear rules: MAJOR: Breaking changes MINOR: New features, backwards compatible PATCH: Bug fixes, backwards compatible But manually deciding “is this a minor or patch?” is error-prone and inconsistent. Let’s automate it. The Core Idea: Conventional Commits The magic ingredient is conventional commits — a standardized commit message format that tells tooling what kind of change you made. ...

May 27, 2025 · 5 min read · Tom Meurs