
dnscontrol v5.0.0-rc9
Infraestructura como código para DNS!
DNSControl
DNSControl es Infraestructura como Código para DNS. Incluye un lenguaje de configuración con todas las funciones (compatible con Javascript), además de "plug-ins" que se comunican con las API de proveedores de DNS como AWS Route 53, Cloudflare y Gandi. Puede enviar los mismos registros DNS a múltiples proveedores. Se ejecuta en cualquier lugar donde se ejecute Go (Linux, macOS, Windows). El modelo de proveedores es extensible, por lo que se pueden añadir más proveedores.
Un Ejemplo
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")
)
Ejecutar dnscontrol preview se comunicará con los proveedores (aquí name.com como registrador y route 53 como host de DNS), y determinará qué cambios deben realizarse.
Ejecutar dnscontrol push realizará esos cambios con el proveedor y mis registros DNS se actualizarán correctamente.
La forma más sencilla de ejecutar DNSControl es usar el contenedor Docker:
docker run --rm -it -v "$(pwd):/dns" ghcr.io/dnscontrol/dnscontrol preview
Primeros Pasos
La forma más rápida de empezar es dnscontrol init. El asistente interactivo te pregunta por tu proveedor de DNS y registrador, verifica tus credenciales y escribe un creds.json y dnsconfig.js funcionales, incluyendo los registros que ya existen en tus zonas.
Consulta la página Getting Started en el sitio de documentación para el recorrido completo.
¿Quieres control total "GitOps" de tus datos DNS? ¡Clona el repositorio inicial dns-config para empezar!
Proveedores Soportados
DNSControl soporta 68 proveedores de DNS y registradores:
¹también soporta funciones de registrador ²solo registrador