Skip to content

An opinionated DNSControl git repo template, w/ GitHub Actions based CI/CD for DNS as Code

License

Notifications You must be signed in to change notification settings

SukkaW/dnscontrol-gitops-template

Repository files navigation

DNS

Using StackOverflow's dnscontrol to manage DNS records as code.

Installation

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 lint

Update TypeScript types

This needs to be done manually everytime the dnscontrol is updated.

dnscontrol write-types

Workflow

  • Create a new git branch for your proposed changes.
  • Make changes to dnsconfig.js.
  • Run dnscontrol check locally 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 preview to 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 push to 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.

About

An opinionated DNSControl git repo template, w/ GitHub Actions based CI/CD for DNS as Code

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published