Skip to content

Latest commit

 

History

History
98 lines (70 loc) · 2.45 KB

README.md

File metadata and controls

98 lines (70 loc) · 2.45 KB

DEVELOPER INSTRUCTIONS:

  • Update module name in go.mod
  • Update dependencies to latest versions
  • Update name and year in license
  • Customize configuration and Caddyfile parsing
  • Update godocs / comments (especially provider name and nuances)
  • Update README and remove this section

Leaseweb module for Caddy

This package contains a DNS provider module for Caddy. It can be used to manage DNS records with Leaseweb.

Caddy module name

dns.providers.leaseweb

Config examples

To use this module for the ACME DNS challenge, configure the ACME issuer in your Caddy JSON like so:

{
	"module": "acme",
	"challenges": {
		"dns": {
			"provider": {
				"name": "leaseweb",
				"api_key": "LEASEWEB API KEY"
			}
		}
	}
}

or with the Caddyfile:

# globally
{
	acme_dns leaseweb ...
}
# one site
tls {
	dns leaseweb ...
}

Contributing / developing

Extensive documentation can be found here.

Quickest way to get test this library is xcaddy.

For example, using Docker that could look like this:

  1. Make sure to clone both this repo and libdns/leaseweb into your current folder as ./caddy-leaseweb and ./libdns-leaseweb respectively.

  2. Make a Dockerfile with the following contents:

FROM caddy:builder-alpine AS builder

RUN mkdir -p /tmp/caddy-leaseweb
RUN mkdir -p /tmp/libdns-leaseweb
COPY ./caddy-leaseweb /tmp/caddy-leaseweb/
COPY ./libdns-leaseweb /tmp/libdns-leaseweb/

RUN xcaddy build \
    --with github.com/caddy-dns/leaseweb=/tmp/caddy-leaseweb \
    --with github.com/libdns/leaseweb=/tmp/libdns-leaseweb

FROM caddy:alpine

COPY --from=builder /usr/bin/caddy /usr/bin/caddy
  1. run docker build --no-cache . -t caddy-debug.

You can then use the caddy-debug docker container for testing.

If you want to change/develop code, just edit the code in the local ./caddy-leaseweb and/or ./libdns-leaseweb folders.

To iterative development you can also docker run --rm -it -v ./caddy-leaseweb:/tmp/caddy-leaseweb -v ./libdns-leaseweb:/tmp/libdns-leaseweb caddy:builder-alpine and then use

xcaddy build \
    --with github.com/caddy-dns/leaseweb=/tmp/caddy-leaseweb \
    --with github.com/libdns/leaseweb=/tmp/libdns-leaseweb