Skip to content

Commit 50d988a

Browse files
committed
feat: 自动续签面板证书
1 parent 8e3d929 commit 50d988a

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

internal/job/cert_renew.go

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,16 @@ package job
22

33
import (
44
"log/slog"
5+
"path/filepath"
56
"time"
67

78
"gorm.io/gorm"
89

910
"github.com/tnb-labs/panel/internal/app"
1011
"github.com/tnb-labs/panel/internal/biz"
1112
pkgcert "github.com/tnb-labs/panel/pkg/cert"
13+
"github.com/tnb-labs/panel/pkg/io"
14+
"github.com/tnb-labs/panel/pkg/shell"
1215
)
1316

1417
// CertRenew 证书续签
@@ -58,4 +61,19 @@ func (r *CertRenew) Run() {
5861
r.log.Warn("续签证书失败", slog.Any("err", err))
5962
}
6063
}
64+
65+
// 续签面板证书
66+
panelCert, err := io.Read(filepath.Join(app.Root, "panel/storage/cert.pem"))
67+
if err != nil {
68+
r.log.Warn("读取面板证书失败", slog.Any("err", err))
69+
return
70+
}
71+
decode, err := pkgcert.ParseCert(panelCert)
72+
if err != nil {
73+
r.log.Warn("解析面板证书失败", slog.Any("err", err))
74+
return
75+
}
76+
if decode.NotAfter.Sub(time.Now()).Hours() < 24*7 {
77+
_, err = shell.Exec("panel-cli https generate")
78+
}
6179
}

0 commit comments

Comments
 (0)