all repos — dns @ c572cc076b8d82d676472771df35037c2de46546

DNS records for my domains, managed via dnscontrol

make ACME delegation easier and more robust

Alin
commit

c572cc076b8d82d676472771df35037c2de46546

parent

7a518690156aedfcb06b3f7b977443b71e2b0af1

1 file changed, 20 insertions(+), 1 deletion(-)

changed files
M dnsconfig.jsdnsconfig.js
@@ -18,6 +18,25 @@ .join(' ')
} /** + * @param {string} target + */ +function ensureAbsolute(target) { + return target.endsWith('.') ? target : target + '.' +} + +/** + * @param {string} name + * @param {string} acmeTarget + */ +function acmeDelegate(name, acmeTarget) { + return CNAME( + name === '@' ? '_acme-challenge' : '_acme-challenge.' + name, + ensureAbsolute(acmeTarget), + TTL('15m'), + ) +} + +/** * @param {string} name * @param {string} [acmeTarget] */
@@ -29,7 +48,7 @@ alpn: ['h2'],
})), ] if (acmeTarget != null) { - records.push(CNAME(name === '@' ? '_acme-challenge' : '_acme-challenge.' + name, acmeTarget)) + records.push(acmeDelegate(name, acmeTarget)) } return records