8000 GitHub - dns-as-code/dns-config: 🔧 Automated DNS configuration
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

dns-as-code/dns-config

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

alt text

I was tired of handling zone files. DNS Management is hard, especially if you manage tons of records with several registrars and many DNS providers. I manage DNS configu 81D5 ration with StackOverflow's DNSControl and Git.

Your DNS configuration is unique as your ecosystem. These are mine. Fork this repository and make it your own.

Why would I want my DNS configuration on GitHub?

I don't believe in security by obscurity and I ❤️ Github.

Don't expect too much, this is my opinionated DNS configuration for my own projects.

I can easily backup, and restore settings for my personal sites. Furthermore, I can share what I have learned and grab new tricks from the community. Refer to my documentation, to setup vanity name servers on Route 53 — I spent more time than I'd like to admit on this topic.

Installation

  1. Install Golang with Homebrew: brew update; brew install golang
  2. Validate GO version and location (DNSControl can be built with Go version 1.7 or higher): which go;go version
  3. Ensure the environment variables are adequate (DNSControl will be installed in $GOPATH/bin):
export GOPATH=$HOME/go
export GOROOT=/usr/local/opt/go/libexec
export PATH=$PATH:$GOPATH/bin
export PATH=$PATH:$GOROOT/bin
  1. Create your GO workspace: mkdir -p $GOPATH $GOPATH/src $GOPATH/pkg $GOPATH/b
  2. Download the source, compile it, and install DNSControl: go get github.com/StackExchange/dnscontrol
  3. Create your dnsControl repository: mkdir -p ~/Code/dnsConfiguration
  4. Clone my repository: git clone https://github.com/bhdicaire/dnsConfiguration ~/Code/dnsConfiguration
  5. Create your initial creds.json with your own credential, you can use samples/creds.json to accelerate your setup
  6. Modify the dnsconfig.js with your provider and DNS zones settings:

Workflow

  1. Modify the configuration file with your favorite text editor
  2. Identify the next step with make help:
test		Read configuration and identify changes to be made, without applying them
debug		Run test above and check configuration
build		Deploy configuration to DNS servers
push		Build above and commit changes to Git, you may use msg=abc or ticket=123
archive		Build above, copy configuration to archive subfolder, and commit to Git
clean		Delete dnsConfig.json and archive subfolder
help		This information
  1. Test your changes with make test or use make debug if you're stuck
  2. Fix all all warnings/ errors with your favorite text editor
  3. Deploy the compiled configuration to your dns servers with make build
  4. When everything is perfect, deploy the change one more time and commit the change to Git:
    • make push or make push msg="Add Dicaire.com" or make push ticket=A123456
  5. Close your change management ticket 😁

Licence

DNS Control is Copyright 2015 Stack Overflow and licensed under the MIT licence.

dnsConfiguration is Copyright 2018 Benoît H. Dicaire and licensed under the MIT licence.

DNS Control ressources

Gitter chat Google Group chat

About

🔧 Automated DNS configuration

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 87.9%
  • Makefile 11.5%
  • Smarty 0.6%
0