Do more sensible updating of DNS zones

This commit is contained in:
Patrick Uiterwijk 2014-12-07 00:30:58 +00:00
parent 765d0ac1e0
commit 422530431e
2 changed files with 70 additions and 86 deletions

View file

@ -1,34 +1,18 @@
#!/bin/bash #!/bin/bash
tmpdir=`mktemp -d`
dnsgit='https://infrastructure.fedoraproject.org/infra/dns.git' dnsgit='https://infrastructure.fedoraproject.org/infra/dns.git'
destdir='/var/named/chroot/master/' destdir='/var/named/chroot/master/'
if [ -d $destdir ];
then
cd $destdir
git pull -X theirs
else
git clone $dnsgit $destdir
fi
cd $tmpdir cd $tmpdir
# clone the dnsgit repo # change context so the chroot can cope
git clone $dnsgit >> /dev/null chown -R named.named $destdir
if [ $? != 0 ]; then chcon -u system_u $destdir/* $destdir/*/*
echo "Error cloning dns git repo" # reload named
exit 1 /sbin/service named reload
fi
cd dns
# diff the two dirs - if they are the same - do nothing
diff -qurN built/ $destdir >>/dev/null
if [ $? != 0 ]; then
# rsync our new files overtop of the destdir files
rsync -a -q --delete-after built/ $destdir
if [ $? != 0 ]; then
echo "Error rsyncing files overtop from git repo:: $tmpdir/dns/built"
exit 1
fi
# change context so the chroot can cope
chown -R named.named $destdir
chcon -u system_u $destdir/* $destdir/*/*
# reload named
/sbin/service named reload
fi
rm -rf $tmpdir

View file

@ -4,131 +4,131 @@ zone "." {
}; };
zone "fedora.us" { zone "fedora.us" {
type master; type master;
file "master/fedora.us.signed"; file "master/built/fedora.us.signed";
}; };
zone "fedora.my" { zone "fedora.my" {
type master; type master;
file "master/fedora.my"; file "master/built/fedora.my";
}; };
zone "fedora.com.my" { zone "fedora.com.my" {
type master; type master;
file "master/fedora.com.my"; file "master/built/fedora.com.my";
}; };
zone "fedora.pt" { zone "fedora.pt" {
type master; type master;
file "master/fedora.pt"; file "master/built/fedora.pt";
}; };
zone "fedoralinux.com" { zone "fedoralinux.com" {
type master; type master;
file "master/fedoralinux.com.signed"; file "master/built/fedoralinux.com.signed";
}; };
zone "fedoralinux.net" { zone "fedoralinux.net" {
type master; type master;
file "master/fedoralinux.net.signed"; file "master/built/fedoralinux.net.signed";
}; };
zone "fedoralinux.org" { zone "fedoralinux.org" {
type master; type master;
file "master/fedoralinux.org.signed"; file "master/built/fedoralinux.org.signed";
}; };
zone "fedoramagazine.org" { zone "fedoramagazine.org" {
type master; type master;
file "master/fedoramagazine.org.signed"; file "master/built/fedoramagazine.org.signed";
}; };
zone "fedoraproject.com" { zone "fedoraproject.com" {
type master; type master;
file "master/fedoraproject.com.signed"; file "master/built/fedoraproject.com.signed";
}; };
zone "fedoraproject.com.my" { zone "fedoraproject.com.my" {
type master; type master;
file "master/fedoraproject.com.my"; file "master/built/fedoraproject.com.my";
}; };
zone "fedoraproject.su" { zone "fedoraproject.su" {
type master; type master;
file "master/fedoraproject.su"; file "master/built/fedoraproject.su";
}; };
zone "fedoraproject.net" { zone "fedoraproject.net" {
type master; type master;
file "master/fedoraproject.net.signed"; file "master/built/fedoraproject.net.signed";
}; };
zone "fedoraproject.co.uk" { zone "fedoraproject.co.uk" {
type master; type master;
file "master/fedoraproject.co.uk"; file "master/built/fedoraproject.co.uk";
}; };
zone "fedorahosted.org" { zone "fedorahosted.org" {
type master; type master;
file "master/fedorahosted.org.signed"; file "master/built/fedorahosted.org.signed";
}; };
//zone "fedoraproject.org" { //zone "fedoraproject.org" {
// type master; // type master;
// file "master/fedoraproject.org.signed"; // file "master/built/fedoraproject.org.signed";
//}; //};
zone "vpn.fedoraproject.org" { zone "vpn.fedoraproject.org" {
type master; type master;
file "master/vpn.fedoraproject.org.signed"; file "master/built/vpn.fedoraproject.org.signed";
}; };
zone "fedorapeople.org" { zone "fedorapeople.org" {
type master; type master;
file "master/fedorapeople.org.signed"; file "master/built/fedorapeople.org.signed";
}; };
zone "fedoraproject.org.uk" { zone "fedoraproject.org.uk" {
type master; type master;
file "master/fedoraproject.org.uk.signed"; file "master/built/fedoraproject.org.uk.signed";
}; };
zone "smolts.org" { zone "smolts.org" {
type master; type master;
file "master/smolts.org.signed"; file "master/built/smolts.org.signed";
}; };
zone "fedoracommunity.org" { zone "fedoracommunity.org" {
type master; type master;
file "master/fedoracommunity.org.signed"; file "master/built/fedoracommunity.org.signed";
}; };
zone "nspluginwrapper.org" { zone "nspluginwrapper.org" {
type master; type master;
file "master/nspluginwrapper.org.signed"; file "master/built/nspluginwrapper.org.signed";
}; };
zone "k12linux.org" { zone "k12linux.org" {
type master; type master;
file "master/k12linux.org.signed"; file "master/built/k12linux.org.signed";
}; };
zone "projectofedora.org" { zone "projectofedora.org" {
type master; type master;
file "master/projectofedora.org.signed"; file "master/built/projectofedora.org.signed";
}; };
zone "168.192.in-addr.arpa" { zone "168.192.in-addr.arpa" {
type master; type master;
file "master/168.192.in-addr.arpa.signed"; file "master/built/168.192.in-addr.arpa.signed";
}; };
zone "2.203.67.in-addr.arpa" { zone "2.203.67.in-addr.arpa" {
type master; type master;
file "master/2.203.67.in-addr.arpa"; file "master/built/2.203.67.in-addr.arpa";
}; };
zone "184.132.209.in-addr.arpa" { zone "184.132.209.in-addr.arpa" {
type master; type master;
file "master/184.132.209.in-addr.arpa"; file "master/built/184.132.209.in-addr.arpa";
}; };
zone "192-255.169.211.140.in-addr.arpa" { zone "192-255.169.211.140.in-addr.arpa" {
type master; type master;
file "master/192-255.169.211.140.in-addr.arpa"; file "master/built/192-255.169.211.140.in-addr.arpa";
}; };
zone "port389.org" { zone "port389.org" {
type master; type master;
file "master/port389.org.signed"; file "master/built/port389.org.signed";
}; };
zone "389tcp.org" { zone "389tcp.org" {
type master; type master;
file "master/389tcp.org.signed"; file "master/built/389tcp.org.signed";
}; };
zone "fpaste.org" { zone "fpaste.org" {
type master; type master;
file "master/fpaste.org"; file "master/built/fpaste.org";
}; };
// //
@ -137,113 +137,113 @@ zone "fpaste.org" {
zone "fedora-bd.org" { zone "fedora-bd.org" {
type master; type master;
file "master/fedora-bd.org"; file "master/built/fedora-bd.org";
}; };
zone "fedora.asia" { zone "fedora.asia" {
type master; type master;
file "master/fedora.asia"; file "master/built/fedora.asia";
}; };
zone "fedora.cr" { zone "fedora.cr" {
type master; type master;
file "master/fedora.cr"; file "master/built/fedora.cr";
}; };
zone "fedora.me" { zone "fedora.me" {
type master; type master;
file "master/fedora.me"; file "master/built/fedora.me";
}; };
zone "fedora.mobi" { zone "fedora.mobi" {
type master; type master;
file "master/fedora.mobi"; file "master/built/fedora.mobi";
}; };
zone "fedora.org.cn" { zone "fedora.org.cn" {
type master; type master;
file "master/fedora.org.cn"; file "master/built/fedora.org.cn";
}; };
zone "fedora.pe" { zone "fedora.pe" {
type master; type master;
file "master/fedora.pe"; file "master/built/fedora.pe";
}; };
zone "fedora.tk" { zone "fedora.tk" {
type master; type master;
file "master/fedora.tk"; file "master/built/fedora.tk";
}; };
zone "fedora.xxx" { zone "fedora.xxx" {
type master; type master;
file "master/fedora.xxx"; file "master/built/fedora.xxx";
}; };
zone "fedoramirror.net" { zone "fedoramirror.net" {
type master; type master;
file "master/fedoramirror.net"; file "master/built/fedoramirror.net";
}; };
zone "fedoraproject.asia" { zone "fedoraproject.asia" {
type master; type master;
file "master/fedoraproject.asia"; file "master/built/fedoraproject.asia";
}; };
zone "fedoraproject.cn" { zone "fedoraproject.cn" {
type master; type master;
file "master/fedoraproject.cn"; file "master/built/fedoraproject.cn";
}; };
zone "fedoraproject.com.cn" { zone "fedoraproject.com.cn" {
type master; type master;
file "master/fedoraproject.com.cn"; file "master/built/fedoraproject.com.cn";
}; };
zone "fedoraproject.com.gr" { zone "fedoraproject.com.gr" {
type master; type master;
file "master/fedoraproject.com.gr"; file "master/built/fedoraproject.com.gr";
}; };
zone "fedoraproject.cz" { zone "fedoraproject.cz" {
type master; type master;
file "master/fedoraproject.cz"; file "master/built/fedoraproject.cz";
}; };
zone "fedoraproject.eu" { zone "fedoraproject.eu" {
type master; type master;
file "master/fedoraproject.eu"; file "master/built/fedoraproject.eu";
}; };
zone "fedoraproject.gr" { zone "fedoraproject.gr" {
type master; type master;
file "master/fedoraproject.gr"; file "master/built/fedoraproject.gr";
}; };
zone "fedoraproject.my" { zone "fedoraproject.my" {
type master; type master;
file "master/fedoraproject.my"; file "master/built/fedoraproject.my";
}; };
zone "fedoraproject.net.cn" { zone "fedoraproject.net.cn" {
type master; type master;
file "master/fedoraproject.net.cn"; file "master/built/fedoraproject.net.cn";
}; };
zone "fedoraproject.pe" { zone "fedoraproject.pe" {
type master; type master;
file "master/fedoraproject.pe"; file "master/built/fedoraproject.pe";
}; };
zone "fedoraproject.xxx" { zone "fedoraproject.xxx" {
type master; type master;
file "master/fedoraproject.xxx"; file "master/built/fedoraproject.xxx";
}; };
zone "fedorasucks.com" { zone "fedorasucks.com" {
type master; type master;
file "master/fedorasucks.com"; file "master/built/fedorasucks.com";
}; };
zone "firewalld.org" { zone "firewalld.org" {
type master; type master;
file "master/firewalld.org"; file "master/built/firewalld.org";
}; };
zone "spreadfedora.com" { zone "spreadfedora.com" {
type master; type master;
file "master/spreadfedora.com"; file "master/built/spreadfedora.com";
}; };
zone "flocktofedora.com" { zone "flocktofedora.com" {
type master; type master;
file "master/flocktofedora.com"; file "master/built/flocktofedora.com";
}; };
zone "flocktofedora.org" { zone "flocktofedora.org" {
type master; type master;
file "master/flocktofedora.org"; file "master/built/flocktofedora.org";
}; };
zone "flocktofedora.net" { zone "flocktofedora.net" {
type master; type master;
file "master/flocktofedora.net"; file "master/built/flocktofedora.net";
}; };
zone "release-monitoring.org" { zone "release-monitoring.org" {
type master; type master;
file "master/release-monitoring.org"; file "master/built/release-monitoring.org";
}; };