If you run Kubernetes and want a wildcard TLS cert from Let's Encrypt — say *.example.com — you need a DNS-01 challenge. HTTP-01 cannot prove control over a wildcard. That single fact rules out the easy path most tutorials show. This post is what we actually run at Hostim.dev for our shared *.region.hostim.dev wildcard. We use cert-manager for per-app certs and a plain certbot Ansible playbook for the wildcard . Two different tools for two different jobs. We will explain why, then show the code for both. Why two tools for one cluster? You can do everything with cert-manager. It supports DNS-01 with a long list of providers. So why are we running a second tool? Three reasons: Our DNS provider (Namecheap) does not have a stable cert-manager webhook. There are community webhooks, but they break on upgrades. Maintaining one for a single cert is more work than running certbot once a quarter. The wildcard cert covers our shared ingress, not user apps.…