mirror of
https://github.com/joohoi/acme-dns.git
synced 2025-07-13 01:07:38 +07:00
Migrate over to certmagic from using autocert (#190)
* Use certmagic for challenge validation * WIP * Get the correct key * Override preflight check logic * Fix logging for imported packages and tidy config.cfg * Fix test and add docstrings * Update README
This commit is contained in:
30
challengeprovider.go
Normal file
30
challengeprovider.go
Normal file
@ -0,0 +1,30 @@
|
||||
package main
|
||||
|
||||
import "github.com/go-acme/lego/challenge/dns01"
|
||||
|
||||
// ChallengeProvider implements go-acme/lego Provider interface which is used for ACME DNS challenge handling
|
||||
type ChallengeProvider struct {
|
||||
servers []*DNSServer
|
||||
}
|
||||
|
||||
// NewChallengeProvider creates a new instance of ChallengeProvider
|
||||
func NewChallengeProvider(servers []*DNSServer) ChallengeProvider {
|
||||
return ChallengeProvider{servers: servers}
|
||||
}
|
||||
|
||||
// Present is used for making the ACME DNS challenge token available for DNS
|
||||
func (c *ChallengeProvider) Present(_, _, keyAuth string) error {
|
||||
_, token := dns01.GetRecord("whatever", keyAuth)
|
||||
for _, s := range c.servers {
|
||||
s.PersonalKeyAuth = token
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// CleanUp is called after the run to remove the ACME DNS challenge tokens from DNS records
|
||||
func (c *ChallengeProvider) CleanUp(_, _, _ string) error {
|
||||
for _, s := range c.servers {
|
||||
s.PersonalKeyAuth = ""
|
||||
}
|
||||
return nil
|
||||
}
|
Reference in New Issue
Block a user