mirror of
https://github.com/yusing/godoxy.git
synced 2025-05-20 12:42:34 +02:00
29 lines
549 B
Go
29 lines
549 B
Go
package autocert
|
|
|
|
import (
|
|
"context"
|
|
"os"
|
|
|
|
E "github.com/yusing/go-proxy/internal/error"
|
|
)
|
|
|
|
func (p *Provider) Setup(ctx context.Context) (err E.NestedError) {
|
|
if err = p.LoadCert(); err != nil {
|
|
if !err.Is(os.ErrNotExist) { // ignore if cert doesn't exist
|
|
return err
|
|
}
|
|
logger.Debug("obtaining cert due to error loading cert")
|
|
if err = p.ObtainCert(); err != nil {
|
|
return err
|
|
}
|
|
}
|
|
|
|
go p.ScheduleRenewal(ctx)
|
|
|
|
for _, expiry := range p.GetExpiries() {
|
|
logger.Infof("certificate expire on %s", expiry)
|
|
break
|
|
}
|
|
|
|
return nil
|
|
}
|