kube-cert-manager is a Kubernetes add-on designed to automate TLS certificate issuance and renewal inside a Kubernetes cluster using Let’s Encrypt via ACME or other certificate authorities. It extends Kubernetes with custom resources (e.g., Certificate) that allow you to declare certificate requests inside the cluster, and the controller handles issuance, renewal, and secret management for you. The tool is built to show how you can write Kubernetes controllers, use third-party resources, and react to changes in the API via watches and reconciliation loops. It supports DNS-01 challenge flows for ACME, allowing you to validate domain ownership and provision certificates automatically. It also integrates with Secrets and Ingress resources so you can consume the certificates in your applications easily. Although the project is primarily a demonstration or teaching project, it laid groundwork for more mature certificate controllers in the Kubernetes ecosystem.
Features
- Custom resource definition for Certificate objects in Kubernetes
- ACME support (Let’s Encrypt) including DNS-01 challenge validation
- Automatic renewal of certificates and syncing to Secret objects
- Kubernetes controller pattern using API watches and reconciliation
- Integration with Ingress, TLS secrets and load-balancers for workload consumption
- Plugin or exec-based DNS provider model enabling support of multiple DNS APIs