
dnscontrol v5.0.0-rc2
Infrastruktur als Code für DNS!
DNSControl
DNSControl ist Infrastructure as Code für DNS. Es enthält eine voll ausgestattete Konfigurationssprache (JavaScript-kompatibel) sowie „Plug-ins“, die mit DNS-Provider-APIs wie AWS Route 53, Cloudflare und Gandi kommunizieren. Es kann dieselben DNS-Einträge an mehrere Provider senden. Es läuft überall, wo Go läuft (Linux, macOS, Windows). Das Provider-Modell ist erweiterbar, sodass weitere Provider hinzugefügt werden können.
Ein Beispiel
dnsconfig.js:
// define our registrar and providers
var REG_NAMECOM = NewRegistrar("ndc_main");
var DSP_ROUTE53 = NewDnsProvider("r53_main");
D("example.com", REG_NAMECOM, DnsProvider(DSP_ROUTE53),
A("@", "1.2.3.4"),
CNAME("www","@"),
MX("@",5,"mail.myserver.com."),
A("test", "5.6.7.8")
)
Wenn Sie dnscontrol preview ausführen, wird mit den Providern kommuniziert (hier name.com als Registrar und Route 53 als DNS-Host) und ermittelt, welche Änderungen vorgenommen werden müssen.
Wenn Sie dnscontrol push ausführen, werden diese Änderungen beim Provider vorgenommen und meine DNS-Einträge werden korrekt aktualisiert.
Der einfachste Weg, DNSControl auszuführen, ist die Verwendung des Docker-Containers:
docker run --rm -it -v "$(pwd):/dns" ghcr.io/dnscontrol/dnscontrol preview
Erste Schritte
Der schnellste Einstieg ist dnscontrol init. Der interaktive Assistent fragt nach Ihrem DNS-Provider und Registrar, überprüft Ihre Anmeldedaten und schreibt eine funktionierende creds.json und dnsconfig.js, einschließlich der Einträge, die bereits in Ihren Zonen vorhanden sind.
Die vollständige Anleitung finden Sie auf der Seite Erste Schritte auf der Dokumentationswebsite.
Möchten Sie die vollständige „GitOps“-Kontrolle über Ihre DNS-Daten? Klonen Sie das Starter-Repository dns-config, um loszulegen!
Unterstützte Provider
DNSControl unterstützt 68 DNS-Provider und Registrare:
¹unterstützt auch Registrar-Funktionen ²nur Registrar