acme/autocert: add Cache to Manager example
If you don't use a cache you're just begging for Let's Encrypt
to ban you for a week due to duplicate certificate requests.
Don't encourage users to get banned.
Change-Id: Icf999c7f28817990bb45931d30692d4040c0ed71
Reviewed-on: https://go-review.googlesource.com/66550
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Alex Vaghin <ddos@google.com>
diff --git a/acme/autocert/autocert.go b/acme/autocert/autocert.go
index a478eff..b101020 100644
--- a/acme/autocert/autocert.go
+++ b/acme/autocert/autocert.go
@@ -83,8 +83,10 @@
// It obtains and refreshes certificates automatically,
// as well as providing them to a TLS server via tls.Config.
//
-// To preserve issued certificates and improve overall performance,
-// use a cache implementation of Cache. For instance, DirCache.
+// You must specify a cache implementation, such as DirCache,
+// to reuse obtained certificates across program restarts.
+// Otherwise your server is very likely to exceed the certificate
+// issuer's request rate limits.
type Manager struct {
// Prompt specifies a callback function to conditionally accept a CA's Terms of Service (TOS).
// The registration may require the caller to agree to the CA's TOS.
diff --git a/acme/autocert/example_test.go b/acme/autocert/example_test.go
index c6267b8..71d61eb 100644
--- a/acme/autocert/example_test.go
+++ b/acme/autocert/example_test.go
@@ -23,6 +23,7 @@
func ExampleManager() {
m := autocert.Manager{
+ Cache: autocert.DirCache("secret-dir"),
Prompt: autocert.AcceptTOS,
HostPolicy: autocert.HostWhitelist("example.org"),
}