CLI de infraestrutura como código que planeja e aplica arquivos de configuração declarativa para criar, alterar e versionar recursos de nuvem e serviços.
DNSControl/dnscontrol
Infraestrutura como código para DNS: defina registros DNS em uma configuração baseada em JavaScript e envie-os para vários provedores.
- Estrelas
- 3,979
- Forks
- 550
- Issues abertas
- 32
- Último commit
- ontem
O que é?
O DNSControl gerencia registros DNS como código. Você descreve zonas e registros em um arquivo de configuração compatível com JavaScript, e o DNSControl compara o estado desejado com o que cada provedor mantém no momento. Em seguida, ele mostra uma prévia e aplica as diferenças pela API do provedor.
Ele inclui plugins para cerca de 77 provedores e registradores de DNS, incluindo Amazon Route 53, Cloudflare, Gandi, Google Cloud DNS e opções auto-hospedadas, como ISC BIND e PowerDNS. Uma única configuração pode enviar os mesmos registros para vários provedores de uma só vez, o que reduz os riscos ao trocar de provedor ou testar um novo. A ferramenta funciona em Linux, macOS e Windows, e seu modelo de provedores foi projetado para permitir a adição de novos provedores como plugins.
O projeto é escrito em Go e costuma ser executado pela linha de comando, em um contêiner Docker ou por meio de uma GitHub Action. Assim, as alterações de DNS podem ser revisadas em pull requests e implantadas pelo CI.
Recursos principais
- 01Descreve zonas e registros DNS em um arquivo de configuração compatível com JavaScript.
- 02Mostra uma prévia das alterações nos provedores ativos antes de aplicá-las com push.
- 03Sincroniza os mesmos registros com vários provedores de DNS a partir de uma única configuração.
- 04Oferece suporte a cerca de 77 provedores e registradores de DNS por meio de plugins.
- 05Oferece variáveis e macros para reutilizar IPs e configurações de SPF e MX em vários domínios.
- 06Funciona em Linux, macOS e Windows e está disponível como imagem Docker.
Casos de uso
- Gerenciar registros DNS de vários domínios usando Git e revisão de pull requests.
- Migrar uma zona de um provedor de DNS para outro, mantendo ambos sincronizados durante os testes.
- Automatizar alterações de DNS em pipelines de CI/CD com a GitHub Action oficial.
- Manter sob controle de versão os registros DNS de servidores BIND ou PowerDNS auto-hospedados.
Início rápido
- 1
Instale o DNSControl por meio de pacotes ou do código-fonte, seguindo as instruções oficiais
- 2
Execute o assistente interativo de configuração para criar creds.json e dnsconfig.js
dnscontrol init - 3
Ou execute sem instalar, usando o contêiner do Docker
docker run --rm -it -v "$(pwd):/dns" ghcr.io/dnscontrol/dnscontrol preview
Antes de usar
- A partir da versão 5.0, REV() mudará de RFC2317 para RFC4183. Essa é uma alteração incompatível.
- Os provedores NAMEDOTCOM, OPENSRS e SOFTLAYER não têm mantenedores no momento.
Tópicos
Perguntas frequentes
- O que é dnscontrol?
- Infraestrutura como código para DNS: defina registros DNS em uma configuração baseada em JavaScript e envie-os para vários provedores. O DNSControl gerencia registros DNS como código. Você descreve zonas e registros em um arquivo de configuração compatível com JavaScript, e o DNSControl compara o estado desejado com o que cada provedor mantém no momento. Em seguida, ele mostra uma prévia e aplica as diferenças pela API do provedor.
- dnscontrol é gratuito? Qual é a licença?
- dnscontrol é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- dnscontrol ainda é mantido?
- Manutenção ativa. O último commit de dnscontrol foi em 21 de out. de 2026.
- Para que posso usar dnscontrol?
- Gerenciar registros DNS de vários domínios usando Git e revisão de pull requests. Migrar uma zona de um provedor de DNS para outro, mantendo ambos sincronizados durante os testes. Automatizar alterações de DNS em pipelines de CI/CD com a GitHub Action oficial. Manter sob controle de versão os registros DNS de servidores BIND ou PowerDNS auto-hospedados.
- Como instalar dnscontrol?
- Instale o DNSControl por meio de pacotes ou do código-fonte, seguindo as instruções oficiais Execute o assistente interativo de configuração para criar creds.json e dnsconfig.js: dnscontrol init Ou execute sem instalar, usando o contêiner do Docker: docker run --rm -it -v "$(pwd):/dns" ghcr.io/dnscontrol/dnscontrol preview
- Onde consigo dnscontrol?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/DNSControl/dnscontrol
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Meshery é um gerenciador open source cloud native para projetar, implantar e operar infraestrutura e aplicações Kubernetes em vários clusters e nuvens.
Painel de controle auto-hospedado para implantar apps web e gerenciar bancos de dados, containers Docker, DNS, backups e segurança em um VPS ou servidor dedicado.
Ferramenta declarativa de entrega contínua GitOps que sincroniza aplicações Kubernetes com o estado definido em repositórios Git.
Plataforma de feature flags integrada ao Git, que armazena as flags nos seus próprios repositórios e as implanta junto com o código.
Orquestração open source de IaC que executa Terraform e OpenTofu no seu pipeline de CI atual, com plan e apply acionados por comentários em pull requests.