Add `--force-renewal` for run and renew commands
Hi! I just tried lego recently, and I like it a lot. Small, simple fast - nice!
It looks like each time someone uses the run or renew commands, lego will attempt to get an authorization and issue a certificate, regardless of already-issued certificates. Is that accurate? If so, it would be nice for lego to check its local list of issued certificates, and early-exit if there's an applicable certificate with more than 1/3 of its lifetime left (or 30 days). It could then have a --force-renewal flag to override that behavior.
Rationale: In the Let's Encrypt logs, we see a handful of users with misconfigured clients that attempt an issuance every minute. Generally they will succeed until they hit their rate limit, and then keep trying, which creates a new authorization object each time and clutters up our DB. We're working on better ways to automatically handle such misconfigured clients, but tweaking lego defaults would probably help a lot too. And of course, for the end-user it's not great that their domain is always in a state of rate limiting.
Source: go-acme/lego