Using StackOverflow's dnscontrol to manage DNS records as code.
Install DNSControl via Homebrew
brew install dnscontrol
dnscontrol [command]Use DNSControl through Docker
docker run --rm -it -v "$(pwd):/dns" ghcr.io/stackexchange/dnscontrol [command]Install TypeScript and ESLint
pnpm install
pnpm run lintThis needs to be done manually everytime the dnscontrol is updated.
dnscontrol write-types- Create a new git branch for your proposed changes.
- Make changes to
dnsconfig.js. - Run
dnscontrol checklocally to validate/lint your changes. - Now you can push your branch and create a pull request.
- Once your pull request is created, the GitHub Actions will run
dnscontrol previewto check the diffs and post the results in the pull request comments. - After the pull request is reviewed, approved, and merged to the main branch, the GitHub Actions will run
dnscontrol pushto apply the changes to the DNS provider. If changes are applied successfully, the GitHub Actions will post a comment in the GitHub commit with the results.