Why Monitor cert-manager Certificates?
Automatic Discovery
No manual configuration. Watches all Certificate CRDs across namespaces.
Renewal Tracking
Track renewal status and get alerts before certificates expire.
Issuer Visibility
See which ClusterIssuer or Issuer manages each certificate.
Centralized Dashboard
View all cluster certificates alongside network-scanned certificates.
How It Works
The agent:- Watches Certificate custom resources using the Kubernetes API
- Extracts certificate metadata (expiry, issuer, status)
- Syncs to CertWatch cloud every 30 seconds (configurable)
- Detects renewals and status changes in real-time
Prerequisites
- Kubernetes 1.19+
- Helm 3.8+
- cert-manager v1.0+ installed
- CertWatch API key with
cloud:syncscope
Installation
Step 1: Create API Key Secret
Step 2: Install the Helm Chart
Step 3: Verify
Configuration
Full Values Example
Configuration Reference
| Parameter | Default | Description |
|---|---|---|
agent.name | "" | Required. Unique agent identifier |
agent.clusterName | agent.name | Friendly name shown in dashboard |
agent.watchAllNamespaces | true | Monitor certificates in all namespaces |
agent.namespaces | [] | Specific namespaces (when not watching all) |
agent.syncInterval | 30s | How often to sync with CertWatch cloud |
agent.metricsPort | 9402 | Prometheus metrics endpoint |
agent.healthPort | 9403 | Health check endpoint |
Namespace Filtering
Watch All Namespaces (Default)
Watch Specific Namespaces
What Gets Synced
For each cert-manager Certificate, the agent syncs:| Field | Source |
|---|---|
| Hostname | Certificate spec.dnsNames[0] |
| Expiry | Secret’s certificate notAfter |
| Issuer | Certificate spec.issuerRef |
| Status | Certificate status.conditions |
| Namespace | Certificate metadata.namespace |
| Renewal Time | Certificate status.renewalTime |
RBAC Permissions
The Helm chart creates a ClusterRole with these permissions:Troubleshooting
Agent Not Discovering Certificates
Certificates Not Appearing in Dashboard
- Verify agent is connected (check heartbeat in dashboard)
- Check sync interval hasn’t been set too high
- Confirm API key has
cloud:syncscope
Full Kubernetes Guide
See deployment options including GitOps, ServiceMonitor, and cw-stack umbrella chart.

