123456789101112131415161718192021222324252627282930313233343536373839404142 |
- package cert
- import (
- "github.com/0xJacky/Nginx-UI/internal/translation"
- "github.com/0xJacky/Nginx-UI/model"
- "github.com/go-acme/lego/v4/certificate"
- "github.com/go-acme/lego/v4/lego"
- "github.com/uozi-tech/cosy"
- )
- func renew(payload *ConfigPayload, client *lego.Client, l *Logger) error {
- if payload.Resource == nil {
- return ErrPayloadResourceIsNil
- }
- options := &certificate.RenewOptions{
- Bundle: true,
- MustStaple: payload.MustStaple,
- }
- cert, err := client.Certificate.RenewWithOptions(payload.Resource.GetResource(), options)
- if err != nil {
- return cosy.WrapErrorWithParams(ErrRenewCert, err.Error())
- }
- payload.Resource = &model.CertificateResource{
- Resource: cert,
- PrivateKey: cert.PrivateKey,
- Certificate: cert.Certificate,
- IssuerCertificate: cert.IssuerCertificate,
- CSR: cert.CSR,
- }
- err = payload.WriteFile(l)
- if err != nil {
- return err
- }
- l.Info(translation.C("[Nginx UI] Certificate renewed successfully"))
- return nil
- }
|