|
#!/bin/bash
|
|
CHALLENGE_PREFIX="_acme-challenge"
|
|
CHALLENGE_TTL=10
|
|
MASTER_NS="ns1.enimihil.net"
|
|
|
|
ID_DOMAIN=$(echo "$CERTBOT_DOMAIN" | sed 's/\./_/g')
|
|
|
|
TXT_RECORD="${CHALLENGE_PREFIX}\t${CHALLENGE_TTL}\tIN\tTXT\t\\\"${CERTBOT_VALIDATION}\\\""
|
|
|
|
cat > challenges/${ID_DOMAIN}_challenge.yml <<EOF
|
|
---
|
|
${ID_DOMAIN}_challenge: "$TXT_RECORD"
|
|
EOF
|
|
# FIXME: need to find a good way to update the data/hash so ansible updates the serial only when needed.
|
|
touch roles/dns-server/templates/${CERTBOT_DOMAIN}.zone.j2
|
|
|
|
./update-dns.sh
|
|
|
|
while true; do
|
|
if ./check-challenge.sh "${CERTBOT_DOMAIN}" "${CERTBOT_VALIDATION}"; then
|
|
echo "Challenge updated on all NS"
|
|
exit 0
|
|
fi
|
|
echo "Wait 10 seconds and try again."
|
|
sleep 10
|
|
done
|