add cloudflare and documentation

This commit is contained in:
2025-12-22 23:25:06 +01:00
parent fbc8bcd089
commit 4590d46e17
17 changed files with 427 additions and 5 deletions

View File

@@ -2,6 +2,7 @@ package config
import (
"github.com/go-acme/lego/v4/challenge"
"github.com/go-acme/lego/v4/providers/dns/cloudflare"
"github.com/go-acme/lego/v4/providers/dns/alidns"
"github.com/go-acme/lego/v4/providers/dns/dode"
"github.com/go-acme/lego/v4/providers/dns/huaweicloud"
@@ -52,6 +53,24 @@ func (rain RainYun) Provider() (challenge.Provider, error) {
return p, err
}
func (cloud Cloudflare) Provider() (challenge.Provider, error) {
cfg := cloudflare.NewDefaultConfig()
// lego's cloudflare.Config uses AuthToken / AuthKey / AuthEmail / ZoneToken
if cloud.APIToken != "" {
cfg.AuthToken = cloud.APIToken
}
if cloud.APIKey != "" {
cfg.AuthKey = cloud.APIKey
}
if cloud.Email != "" {
cfg.AuthEmail = cloud.Email
}
// support ZoneToken if provided in future (keep empty if not set)
// if you add ZoneToken to the config struct, map it here: cfg.ZoneToken = cloud.ZoneToken
p, err := cloudflare.NewDNSProviderConfig(cfg)
return p, err
}
func (Dode Dode) Provider() (challenge.Provider, error) {
cfg := dode.NewDefaultConfig()
cfg.Token = Dode.Token