acmedns

package
v0.4.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 16, 2026 License: MIT Imports: 7 Imported by: 0

Documentation

Index

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:v1.0"
)

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 runtime reconciliation and registrations.

func NewManager

func NewManager(client *ssh.Client, serverIP string, socket string, verbose bool) *Manager

NewManager creates a new acme-dns manager

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

func (*Manager) Register

func (m *Manager) Register(baseDomain string) (*Registration, error)

Register creates a new acme-dns registration for a domain

func (*Manager) Remove

func (m *Manager) Remove() error

Remove removes the acme-dns container

func (*Manager) Setup

func (m *Manager) Setup() error

Setup ensures acme-dns container is running

func (*Manager) Stop

func (m *Manager) Stop() error

Stop stops the acme-dns container

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL