Documentation
¶
Index ¶
- Constants
- type Credentials
- type Manager
- func (m *Manager) CheckPort53() error
- func (m *Manager) GetCNAMEInstructions(registrations []*Registration) string
- func (m *Manager) LoadAllRegistrations() (map[string]*Registration, error)
- func (m *Manager) Register(baseDomain string) (*Registration, error)
- func (m *Manager) Remove() error
- func (m *Manager) Setup() error
- func (m *Manager) Stop() error
- type PendingCertificate
- type Registration
Constants ¶
View Source
const ( // DataDir is the directory for acme-dns data DataDir = "/data/tako/acme-dns" // ConfigDir is the directory for acme-dns config ConfigDir = "/data/tako/acme-dns/config" // ContainerName is the name of the acme-dns container ContainerName = "tako-acme-dns" // Image is the acme-dns Docker image Image = "joohoi/acme-dns:latest" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Credentials ¶
type Credentials struct {
Registrations map[string]*Registration `json:"registrations"` // Keyed by base domain
}
Credentials stores acme-dns credentials for LEGO
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager handles acme-dns container lifecycle and registrations
func NewManager ¶
NewManager creates a new acme-dns manager
func (*Manager) CheckPort53 ¶
CheckPort53 verifies port 53 is accessible from the internet
func (*Manager) GetCNAMEInstructions ¶
func (m *Manager) GetCNAMEInstructions(registrations []*Registration) string
GetCNAMEInstructions returns formatted CNAME setup instructions
func (*Manager) LoadAllRegistrations ¶
func (m *Manager) LoadAllRegistrations() (map[string]*Registration, error)
LoadAllRegistrations loads all saved registrations
type PendingCertificate ¶
type PendingCertificate struct {
Domain string `json:"domain"`
Registration *Registration `json:"registration"`
StartedAt time.Time `json:"started_at"`
LastCheck time.Time `json:"last_check"`
Attempts int `json:"attempts"`
}
PendingCertificate represents a certificate waiting for DNS propagation
type Registration ¶
type Registration struct {
Domain string `json:"domain"` // Base domain (e.g., "example.com")
Subdomain string `json:"subdomain"` // acme-dns subdomain
Username string `json:"username"` // acme-dns update username
Password string `json:"password"` // acme-dns update password
FullDomain string `json:"fulldomain"` // Full acme-dns domain
CNAMETarget string `json:"cname_target"` // Target for user's CNAME record
ServerIP string `json:"server_ip"` // IP of the server running acme-dns
CreatedAt time.Time `json:"created_at"`
}
Registration represents an acme-dns registration for a domain
Click to show internal directories.
Click to hide internal directories.