acme

package module
v0.0.0-...-9533317 Latest Latest
Warning

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

Go to latest
Published: Aug 4, 2025 License: Apache-2.0 Imports: 9 Imported by: 0

README

acme-dns

CI Workflow codecov

Getting Started

Configuration
Basic
acme {
  domain <DOMAIN>
  email <EMAIL>
  authoritative_nameserver {
    host <HOST>
    ip <IP>
  }
}
  • DOMAIN is the domain name the plugin should be authoritative for.
  • EMAIL is the email address to be used for ACME registration.
  • HOST is the hostname of the authoritative nameserver for the domain.
  • IP is the IP address of the authoritative nameserver for the domain.
Examples
Basic
acme {
  domain contoso.com
  email your-email@provider.com
  authoritative_nameserver {
    host ns1.contoso.com
    ip 1.1.1.1
  }
}

This will perform ACME for contoso.com.

Installation

This is a CoreDNS plugin so you need to set up CoreDNS first.

Basic

If you have Golang installed, you can execute the script below to build the binary.

# Clone CoreDNS
git clone https://github.com/coredns/coredns
cd coredns

# Add acmedns:github.com/lrascao/coredns-acme-dns into the plugin configuration
echo "acmedns:github.com/lrascao/coredns-acme-dns" >> plugin.cfg

# Get the modules
go get github.com/lrascao/coredns-acme-dns

# Generate Files
go generate

# Tidy the modules
go mod tidy

# Compile
go build
Disclaimer

Make sure you have the following conditions:

  • You own the domain
  • Your CoreDNS server is the authoritative nameserver for the domain

Documentation

Index

Constants

View Source
const (
	ENABLED                          = "enabled"
	DOMAIN                           = "domain"
	EMAIL                            = "email"
	AUTHORITATIVE_NAMESERVER         = "authoritative_nameserver"
	AUTHORITATIVE_NAMESERVER_IP_ADDR = "ip"
	AUTHORITATIVE_NAMESERVER_HOST    = "host"
	ELECTION_PROPOSAL                = "election_proposal"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type ACME

type ACME struct {
	Manager *certmagic.ACMEIssuer
	Config  *certmagic.Config
	Zone    string
}

func NewACME

func NewACME(acmeManagerTemplate certmagic.ACMEIssuer, cfg *certmagic.Config, zone string) ACME

func (ACME) GetCert

func (a ACME) GetCert(ctx context.Context, zone string) error

func (ACME) IssueCert

func (a ACME) IssueCert(ctx context.Context, zones []string) error

func (ACME) RevokeCert

func (a ACME) RevokeCert(zone string) error

Jump to

Keyboard shortcuts

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