Zkusil jsem to ověřit a máte pravdu, současné acme.sh si v kombinaci s acme-dns to nedokáže. acme.sh totiž nejprve vytvoří všechny TXT záznamy a čeká, až se vypropagují. A protože acme.sh nejspíš neumí použít více než jeden acme-dns server, a zároveň je v acme-dns limit na 2 TXT záznamy, tak si acme-dns záznamy přepíše.
Pro cert-manager by mělo stačit použít spoustu malých zón v acme-dns. Nicméně to jsem už nevydržel ověřovat až do konce.
Tohle chování se nám v produkci neprojevilo, protože většinou generujeme oddělené certifikáty pro několik málo common names najednou. Přestože jsou všechny certifikáty pro jednoho zákazníka směřované do jedné zástupné zóny v acme-dns, tak se potom ověřují postupně a na problém s přepisování TXT záznamů jsme nenarazili.
Díky za upřesnění.
Velmi podobne funguje RFC2136 https://certbot-dns-rfc2136.readthedocs.io/en/stable/ - tiez sa to da kompletne zautomatizovat a funguje to s beznymi DNS servermi (najma bind). Nepotrebujete na to instalovat specialny DNS server.
Ano, o tom jsme měli také samostatný článek, který je odkázán z dnešního textu.
Na acme (https) jsem si udělal pěknou automatizaci, co mi hlídá obnovu certifikátů podle databáze a vytvoří mi soubory buď pro nginx nebo haproxy (hodně pokusů a omylů než přijdete na to, jak je spojit). Úplně bezproblému to není. Občas je aktualizace a když nevíte, proč to nefunguje, tak dostanete snadno ban na x dní. Po delším čase jsem zase zjistil, že záleží na tom, jaké soubory máte už stažené u certifikátu, takže raději mažu celou složku. Protože ani debug vám neřekne, proč se nestáhne key file apod.
23. 6. 2020, 09:58 editováno autorem komentáře
Ja jsem na to udelal jednoduchy skript nad openssh. V authorized_keys je natvrdo u kazdeho klice, ze smi spustit jen tenhle skript a dokonce jsou tam zapeceny i parametry, takze v authorized_keys ma kazdy ssh klic pevne dany i seznam domen, pro ktery muze vystavovat certifikaty.
Jediny hacek je, ze to neni v upstreamu, takze se na kazdyho klienta musi instalovat protistrana toho skriptu... Kdyby se to nekomu chtelo dotahnout do upstreamu, tak muzu poskytnout detaily.