From 7fa7b55b18892f869cbb00a06bdd4eea42454ed0 Mon Sep 17 00:00:00 2001 From: yusing Date: Fri, 2 May 2025 05:55:34 +0800 Subject: [PATCH] feat: notify for cert renewal result --- internal/autocert/provider.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/internal/autocert/provider.go b/internal/autocert/provider.go index 81190d5..1c6517e 100644 --- a/internal/autocert/provider.go +++ b/internal/autocert/provider.go @@ -15,8 +15,10 @@ import ( "github.com/go-acme/lego/v4/certificate" "github.com/go-acme/lego/v4/lego" "github.com/go-acme/lego/v4/registration" + "github.com/rs/zerolog" "github.com/yusing/go-proxy/internal/gperr" "github.com/yusing/go-proxy/internal/logging" + "github.com/yusing/go-proxy/internal/notif" "github.com/yusing/go-proxy/internal/task" "github.com/yusing/go-proxy/internal/utils/strutils" ) @@ -193,8 +195,18 @@ func (p *Provider) ScheduleRenewal(parent task.Parent) { if err := p.renewIfNeeded(); err != nil { gperr.LogWarn("cert renew failed", err) lastErrOn = time.Now() + notif.Notify(¬if.LogMessage{ + Level: zerolog.ErrorLevel, + Title: "SSL certificate renewal failed", + Body: notif.MessageBody(err.Error()), + }) continue } + notif.Notify(¬if.LogMessage{ + Level: zerolog.InfoLevel, + Title: "SSL certificate renewed", + Body: notif.ListBody(p.cfg.Domains), + }) // Reset on success lastErrOn = time.Time{} renewalTime = p.ShouldRenewOn()