<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div><blockquote type="cite" class=""><div class="">On 1. Mar 2020, at 21:13, Brian Candler <<a href="mailto:b.candler@pobox.com" class="">b.candler@pobox.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class="">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" class="">
<div class="">
<div class="moz-cite-prefix">Depends on what your letsencrypt software uses. I use the bind
backend with DDNS updates, with dehydrated. There are some sample
challenge hooks for dehydrated <a moz-do-not-send="true" href="https://github.com/dehydrated-io/dehydrated/wiki" class="">here</a>,
and I see all your options covered:</div><p class="">One which uses DDNS updates: <a href="https://github.com/dehydrated-io/dehydrated/wiki/example-dns-01-nsupdate-script" class="">https://github.com/dehydrated-io/dehydrated/wiki/example-dns-01-nsupdate-script</a></p><p class="">One which uses the API: <a href="https://github.com/silkeh/pdns_api.sh" class="">https://github.com/silkeh/pdns_api.sh</a></p><p class="">One which uses mysql updates: <a href="https://github.com/antoiner77/dehyrated-pdns/blob/master/pdns.sh" class="">https://github.com/antoiner77/dehyrated-pdns/blob/master/pdns.sh</a></p></div></div></blockquote>Thanks - that is a good hint to look at dehydrated - I was vaguely aware of the project, but haven't installed it since I scripted certbot. So from your response I gather it is just a matter of preference, there are no real drawbacks. So I will reseach the ddns updates further, since that is, what I already implemented and it saves me from enabling the HTTP API, which would increase complexity...<br class=""><br class=""><blockquote type="cite" class=""><div class=""><div class=""><p class="">
</p>
<p class="">To minimise the number of moving parts, I'd start by seeing if
LUA records can do what you want: <a href="https://doc.powerdns.com/authoritative/lua-records/index.html" class="">https://doc.powerdns.com/authoritative/lua-records/index.html</a></p></div></div></blockquote><div>I missed that part of the documentation or better skipped it, because I have no experience with LUA, But if that gets me around running a backend, I'll look deeper into that.</div><br class=""><blockquote type="cite" class=""><div class=""><div class=""><p class="">There are existing functions for working with dynamic forward and
reverse:<br class="">
</p><p class=""><a href="https://doc.powerdns.com/authoritative/lua-records/functions.html#reverse-dns-functions" class="">https://doc.powerdns.com/authoritative/lua-records/functions.html#reverse-dns-functions</a></p><p class="">The documentation says that createReverse with %5% will support
the A-B-C-D format you want; but createForward doesn't.
Confusingly, there is a <a moz-do-not-send="true" href="https://github.com/PowerDNS/pdns/blob/master/pdns/lua-record.cc#L612" class="">comment
in the code</a> which says it does:<br class="">
</p><p class=""><tt class=""> if(parts.size()==1) {</tt><tt class=""><br class="">
</tt><tt class=""> // either hex string, <font color="#ff0000" class=""><b class="">or
12-13-14-15</b></font></tt><tt class=""><br class="">
</tt><tt class=""> // cout<<parts[0]<<endl;</tt><tt class=""><br class="">
</tt><tt class=""> unsigned int x1, x2, x3, x4;</tt><tt class=""><br class="">
</tt><tt class=""> if(sscanf(parts[0].c_str()+2, "%02x%02x%02x%02x",
&x1, &x2, &x3, &x4)==4) {</tt><tt class=""><br class="">
</tt><tt class=""> return
std::to_string(x1)+"."+std::to_string(x2)+"."+std::to_string(x3)+"."+std::to_string(x4);</tt><tt class=""><br class="">
</tt><tt class=""> }</tt><tt class=""><br class="">
</tt><tt class=""><br class="">
</tt><tt class=""><br class="">
</tt><tt class=""> }</tt><tt class=""><br class="">
</tt><tt class=""> return std::string("0.0.0.0");</tt><tt class=""><br class="">
</tt><tt class=""> });</tt><br class="">
</p><p class="">... but I can't see anything in the code which actually parses
this format. So either this is an oversight in the code, or the
comment is wrong. It looks like it would be a pretty
straightforward feature to add.<br class="">
</p><p class="">If there's no way round this, then you can use the full LUA
backend instead: <a href="https://doc.powerdns.com/authoritative/backends/lua2.html" class="">https://doc.powerdns.com/authoritative/backends/lua2.html</a></p></div></div></blockquote></div><div>Nice! thanks for the pointer, Brian!</div><div><br class=""></div><div> Michael.</div><div class=""><br class=""></div><div class=""><div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);">-- </div><div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);">Michael Rommel, Erlangen, Germany</div></div></body></html>