Service/Nameservers: Difference between revisions
No edit summary |
|||
| Line 23: | Line 23: | ||
! IPv6 | ! IPv6 | ||
|- | |- | ||
! ns1.sugarlabs.org | ! '''ns1.sugarlabs.org''' | ||
| lightwave | | lightwave | ||
| FSF, Boston, USA | | FSF, Boston, USA | ||
| Line 59: | Line 59: | ||
To simplify merging, each hostmaster pushes to a separate branch: | To simplify merging, each hostmaster pushes to a separate branch: | ||
git clone | git clone lightwave.sugarlabs.org:/var/lib/bind/etc/bind ns | ||
'''FIXME''': use | Do not checkout the repository as root. Your user needs to be in group bind. | ||
'''FIXME''': use a separate group ''hostmaster'' rather than bind. | |||
== Edit zone data == | == Edit zone data == | ||
| Line 78: | Line 79: | ||
== Push changes back to master nameserver == | == Push changes back to master nameserver == | ||
We have a handy | * We have a handy post-receive hook to automate this procedure. All you have to do is pushing your changes: | ||
git push | |||
* You should see the slaves transfering the new zones you have modified | * You should see the slaves transfering the new zones you have modified | ||
| Line 92: | Line 93: | ||
FIXME: ssh keys needed for other admins | FIXME: ssh keys needed for other admins | ||
== Implementation details == | |||
* The git config file is as follows: | |||
[core] | |||
repositoryformatversion = 0 | |||
filemode = true | |||
bare = false | |||
shared = true | |||
logallrefupdates = true | |||
worktree = /etc/bind | |||
[receive] | |||
denycurrentbranch = ignore | |||
[hooks] | |||
mailinglist = bernie@codewiz.org | |||
emailprefix = "[DNS] " | |||
showrev = "git show -C %s; echo" | |||
* We use a post-receive hook to checkout the zones to the local sandbox and make | |||
BIND reload them: | |||
#!/bin/bash | |||
/bin/bash /usr/share/doc/git-core/contrib/hooks/post-receive-email | |||
git checkout -f | |||
tail -n0 -f /var/log/daemon.log & | |||
/etc/init.d/bind9 reload | |||
sleep 3 | |||
* For slightly better security, the repository lives outside the sandbox | |||