caddyserver/certmagic

Automatic HTTPS for any Go program: fully-managed TLS certificate issuance and renewal

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 22 minutes ago
Added to GitGenius on September 12th, 2026
Created on December 10th, 2018
Open Issues & Pull Requests: 35 (+0)
GitHub issues: Enabled
Number of forks: 353
Total Stargazers: 5,597 (+0)
Total Subscribers: 61 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 6.9 hours
Mean response time: 4.6 days
90th percentile: 13.8 days
Tracked items: 47

How this project is maintained

Around half of the issues opened in the past year never receive a reply. Only 7% of issues opened in the past year have been closed. Three people close 93% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 7
New in 7 days: 1
Closed in 7 days: 1
Avg open age: 421 days
Stale 30+ days: 7
Stale 90+ days: 6

Recent activity

Opened in 7 days: 1
Closed in 7 days: 1
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • question (13)
  • bug (7)
  • feature request (6)
  • discussion (4)
  • duplicate (3)
  • documentation (1)

Most active issues this week

Detailed Description

CertMagic is a Go library that automates TLS certificate issuance and renewal for any Go program using ACME.

The library solves the problem of managing TLS certificates by handling the entire lifecycle automatically. It obtains certificates from certificate authorities like Let's Encrypt, renews them before expiration, and staples OCSP responses for enhanced privacy and security. The approach requires minimal code—a single line can enable HTTPS on an HTTP handler—while managing HTTP to HTTPS redirects and certificate storage transparently. As long as a domain name points to the server, the tool keeps connections secure without manual certificate management.

Developers should choose this tool if they are building Go applications that need production-grade TLS automation without the operational burden of certificate management. It suits any project serving content over HTTPS, from simple services to complex deployments. The library supports advanced scenarios including wildcard certificates, on-demand TLS issuance, DNS challenges for environments behind load balancers or in clusters, and integration with multiple certificate authorities including ZeroSSL. The README positions it as the most mature and feature-complete ACME client library for Go, with support for the full suite of ACME features that other Go libraries do not match.

The project maintains active test coverage through continuous integration workflows. Development activity shows consistent engagement with the codebase through regular updates and maintenance of the library's core functionality.