/letsencrypt-hook-dns-01-godaddy

A `dehydrated` hook for LetsEncrypt dns-01 challenges with GoDaddy DNS

Primary LanguageShellBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

GoDaddy hook for dehydrated

This is a bash-only hook for the Let's Encrypt ACME client dehydrated, using GoDaddy's APIs to automatically manage DNS records to respond to dns-01 challenges.

Requirements

  • command line utilities (both already required by dehydrated):
    • bash (>= v4.0 for pattern matching)
    • curl
  • GoDaddy API Key and Secret - see Configuration below.

Installation

mkdir le
cd le
git clone https://github.com/dehydrated-io/dehydrated.git dehydrated
mkdir hooks
git clone https://github.com/eengstrom/letsencrypt-hook-dns-01-godaddy.git hooks/dns-01-godaddy

Configuration

If you do not have an account-specific GoDaddy API Key and Secret, visit "GoDaddy APIs - getting started" to obtain them.

The hook requires that they be in your environment. You can manually set them via:

export GODADDY_KEY='example-key'
export GODADDY_SECRET='example-secret'

You may also put those lines into a dehydrated config file.

Usage

dehydrated/dehydrated --cron -d foo.example.com -t dns-01 -k 'hooks/dns-01-godaddy/hook.sh'

Alternatives

Although I prefer a bash-only version, there are other GoDaddy-compatible, dehydrated hooks:

Status: abandoned

I've mostly abandoned this hook. Instead, I'm using lexicon, even though it adds a dependency on Python.

Issues that I never resolved:

Acknowledgements

With thanks to:

  • Lukas Schauer, the original author of dehydrated.
  • Yashar F. and the hints provided by his notional, bash-only GoDaddy hook.