
dnscontrol v5.0.0-rc9
Infraestrutura como código para DNS!
DNSControl
DNSControl é Infraestrutura como Código para DNS. Ele inclui uma linguagem de configuração completa (compatível com Javascript), além de "plug-ins" que se comunicam com APIs de provedores de DNS como AWS Route 53, Cloudflare e Gandi. Ele pode enviar os mesmos registros DNS para vários provedores. Ele roda em qualquer lugar onde o Go roda (Linux, macOS, Windows). O modelo de provedor é extensível, então mais provedores podem ser adicionados.
Um Exemplo
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")
)
Executar dnscontrol preview irá se comunicar com os provedores (aqui name.com como registrador e route 53 como host de dns), e determinar quais mudanças precisam ser feitas.
Executar dnscontrol push irá fazer essas mudanças com o provedor e meus registros dns serão corretamente atualizados.
A maneira mais fácil de executar o DNSControl é usar o contêiner Docker:
docker run --rm -it -v "$(pwd):/dns" ghcr.io/dnscontrol/dnscontrol preview
Primeiros Passos
A maneira mais rápida de começar é dnscontrol init. O assistente interativo pergunta pelo seu provedor de DNS e registrador, verifica suas credenciais e escreve um creds.json e dnsconfig.js funcionais, incluindo os registros que já existem em suas zonas.
Veja a página Getting Started no site de documentação para o passo a passo completo.
Quer controle total "GitOps" dos seus dados de DNS? Clone o repositório inicial dns-config para começar!
Provedores Suportados
DNSControl suporta 68 provedores de DNS e registradores:
¹também suporta funções de registrador ²somente registrador