srvrco / getssl

obtain free SSL certificates from letsencrypt ACME server Suitable for automating the process on remote servers.
GNU General Public License v3.0
2.07k stars 372 forks source link

Add NS1 DNS Scripts #817

Closed Ayesh closed 4 months ago

Ayesh commented 8 months ago

Adds NS1 DNS scripts. I'm not affiliated with NS1, merely a free plan user.

API Doc: https://ns1.com/api?docId=2185

NS1 treats multiple records in the same RR type + subdomain + domain as a single API record, so when we add or delete a record, the API rejects further requests unless it is deleted. The way dns_add_ns1 works is that it deletes existing TXT records in _acme-challenge.example.com, and only then adds the new record.

Ideally, the integration would merge existing record set and append the ACME challenge record. I just don't have enough jq know-how to do it. I think this is an OK compromise because it is unlikely that another ACME client deals with the same domain while getssl does its thing.