Only update 1 cert per 4 hour loop
ci/woodpecker/push/build Pipeline was successful
Details
ci/woodpecker/push/build Pipeline was successful
Details
This commit is contained in:
parent
bb9fc74108
commit
7b8afa8b91
|
@ -160,9 +160,13 @@ order by not_after DESC
|
|||
return nil
|
||||
}
|
||||
|
||||
for _, i := range certs {
|
||||
r.logf("[Renewal] Cert '%d' runs out in 30 days", i.Id)
|
||||
r.RequestUpdate(i)
|
||||
switch {
|
||||
case len(certs) == 1:
|
||||
r.logf("[Renewal] Cert '%d - %d' runs out in 30 days", certs[0].Id, certs[0].DataId)
|
||||
r.RequestUpdate(certs[0])
|
||||
case len(certs) > 1:
|
||||
r.logf("[Renewal] Cert '%d - %d' runs out in 30 days, so do %d other certs which will update one-by-one each 4 hours", certs[0].Id, certs[0].DataId, len(certs)-1)
|
||||
r.RequestUpdate(certs[0])
|
||||
}
|
||||
|
||||
return nil
|
||||
|
@ -230,6 +234,7 @@ func (r *Renewal) updateCertificate(c *certificate2.CertificateMetaDomainJoiner)
|
|||
domains := r.fetchDomains(&c.Certificate)
|
||||
r.logf("[Renewal] Starting renewal service request for '%s' (%d)", strings.Join(domains, ", "), c.Id)
|
||||
|
||||
// switch to renewing state
|
||||
c.Renewing = utils.PBool(true)
|
||||
_, err := r.db.Where("id = ?", c.Id).Update(&c.Certificate)
|
||||
if err != nil {
|
||||
|
@ -237,12 +242,14 @@ func (r *Renewal) updateCertificate(c *certificate2.CertificateMetaDomainJoiner)
|
|||
return
|
||||
}
|
||||
|
||||
// setup LetsEncrypt client
|
||||
client, err := r.setupForRequest(c)
|
||||
if err != nil {
|
||||
r.logf("[Renewal] Failed to generate a client for requesting a certificate: %s", err)
|
||||
return
|
||||
}
|
||||
|
||||
// use LetsEncrypt to obtain a new certificate
|
||||
request := certificate.ObtainRequest{
|
||||
Domains: domains,
|
||||
Bundle: true,
|
||||
|
|
Reference in New Issue