#!/bin/bash zoneid=... # https://github.com/lukas2511/dehydrated/blob/master/docs/examples/hook.sh # https://github.com/sebastiansterk/dns-01-manual/master/hook.sh # https://pub.nethence.com/bin/daemons/hook.sh set -eu -o pipefail deploy_challenge() { local DOMAIN="${1}" TOKEN_FILENAME="${2}" TOKEN_VALUE="${3}" echo -n adding acme challenge dns record to zoneid $zoneid ... /etc/dehydrated/yandex-dnszone-updaterecordset.bash $zoneid add $DOMAIN $TOKEN_VALUE } clean_challenge() { local DOMAIN="${1}" TOKEN_FILENAME="${2}" TOKEN_VALUE="${3}" echo -n removing acme challenge dns record from zoneid $zoneid ... /etc/dehydrated/yandex-dnszone-updaterecordset.bash $zoneid delete $DOMAIN $TOKEN_VALUE } deploy_cert() { : } unchanged_cert() { : } invalid_challenge() { local DOMAIN="${1}" RESPONSE="${2}" echo INVALID CHALLENGE echo "${1}" echo "${2}" } request_failure() { local STATUSCODE="${1}" REASON="${2}" REQTYPE="${3}" echo FAILURE echo "${1}" echo "${2}" echo "${3}" } exit_hook() { : } HANDLER="$1"; shift if [[ "${HANDLER}" =~ ^(deploy_challenge|clean_challenge|deploy_cert|unchanged_cert|invalid_challenge|request_failure|exit_hook)$ ]]; then "$HANDLER" "$@" fi