Skip to content

Supported DNS‐01 Providers

Yuzerion edited this page Feb 13, 2025 · 7 revisions

Supported DNS-01 Providers

Cloudflare

autocert:
  provider: cloudflare
  options:
    auth_token:

auth_token your zone API token

Follow this guide to create a new token with Zone.DNS read and edit permissions

CloudDNS

autocert:
  provider: clouddns
  options:
    client_id:
    email:
    password:

DuckDNS

autocert:
  provider: duckdns
  options:
    token:

Tested by earvingad

OVHCloud

autocert:
  provider: ovh
  options:
    api_endpoint:
    application_key:
    application_secret:
    consumer_key:
    oauth2_config:
      client_id:
      client_secret:

Note, application_key and oauth2_config CANNOT be used together

  • api_endpoint: Endpoint URL, or one of
    • ovh-eu,
    • ovh-ca,
    • ovh-us,
    • kimsufi-eu,
    • kimsufi-ca,
    • soyoustart-eu,
    • soyoustart-ca
  • application_secret
  • application_key
  • consumer_key
  • oauth2_config: Client ID and Client Secret
    • client_id
    • client_secret

Implement other DNS providers

CloudDNS as an example

  1. Fork this repo, modify internal/autocert/constants.go

    var providersGenMap = map[string]ProviderGenerator{
      "cloudflare": providerGenerator(cloudflare.NewDefaultConfig, cloudflare.NewDNSProviderConfig),
      // add here, e.g.
      "clouddns": providerGenerator(clouddns.NewDefaultConfig, clouddns.NewDNSProviderConfig),
    }
  2. Go to https://go-acme.github.io/lego/dns/clouddns and check for required config

  3. Build GoDoxy with make build

  4. Set required config in config.yml autocert.options section

    # From https://go-acme.github.io/lego/dns/clouddns/
    CLOUDDNS_CLIENT_ID=bLsdFAks23429841238feb177a572aX \
    [email protected] \
    CLOUDDNS_PASSWORD=b9841238feb177a84330f \
    lego --email [email protected] --dns clouddns --domains my.example.org run

    Should turn into:

    autocert:
      ...
      provider: clouddns
      options:
        client_id: bLsdFAks23429841238feb177a572aX
        email: [email protected]
        password: b9841238feb177a84330f
  5. If it works, commit and create pull request. Otherwise submit an issue.