]> git.donarmstrong.com Git - dsa-puppet.git/commitdiff
Merge branch 'master' of git+ssh://puppet.debian.org/srv/puppet.debian.org/git/dsa...
authorMartin Zobel-Helas <zobel@debian.org>
Wed, 2 Feb 2011 10:32:37 +0000 (11:32 +0100)
committerMartin Zobel-Helas <zobel@debian.org>
Wed, 2 Feb 2011 10:32:37 +0000 (11:32 +0100)
* 'master' of git+ssh://puppet.debian.org/srv/puppet.debian.org/git/dsa-puppet:
  Revert "reger can ignore these for now"
  reger can ignore these for now
  move more files
  move more files
  the inevitable typo
  move ldap.conf as test of new file structure
  Add archive.debian.org to GeoDNS zones
  Change redirect rule on sibelius
  cannot require puppet package then, tho
  Making sure puppet is installed using puppet is probably not very useful
  Open rsyncd port in ferm based on existance of /etc/rsyncd.conf.  No longer list half our nodes by name
  Whitespace fixes for danzi

22 files changed:
files/etc/apt/apt.conf.d/local-pdiffs [deleted file]
files/etc/apt/apt.conf.d/local-recommends [deleted file]
files/etc/apt/preferences [deleted file]
files/etc/cron.d/dsa-puppet-stuff [deleted file]
files/etc/default/puppet [deleted file]
files/etc/ldap/ldap.conf [deleted file]
files/etc/pam.d/common-session [deleted file]
files/etc/puppet/puppet.conf [deleted file]
files/etc/timezone [deleted file]
manifests/site.pp
modules/debian-org/files/apt.conf.d/local-pdiffs [new file with mode: 0644]
modules/debian-org/files/apt.conf.d/local-recommends [new file with mode: 0644]
modules/debian-org/files/apt.preferences [new file with mode: 0644]
modules/debian-org/files/dsa-puppet-stuff.cron [new file with mode: 0644]
modules/debian-org/files/ldap.conf [new file with mode: 0644]
modules/debian-org/files/pam.common-session [new file with mode: 0644]
modules/debian-org/files/puppet.conf [new file with mode: 0644]
modules/debian-org/files/puppet.default [new file with mode: 0644]
modules/debian-org/files/timezone [new file with mode: 0644]
modules/debian-org/manifests/init.pp
modules/ferm/manifests/per-host.pp
modules/named/files/common/named.conf.geo

diff --git a/files/etc/apt/apt.conf.d/local-pdiffs b/files/etc/apt/apt.conf.d/local-pdiffs
deleted file mode 100644 (file)
index 155daf9..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-//
-// THIS FILE IS UNDER PUPPET CONTROL. DON'T EDIT IT HERE.
-// USE: git clone git+ssh://$USER@puppet.debian.org/srv/puppet.debian.org/git/dsa-puppet.git
-//
-
-Acquire::PDiffs "false";
diff --git a/files/etc/apt/apt.conf.d/local-recommends b/files/etc/apt/apt.conf.d/local-recommends
deleted file mode 100644 (file)
index aa0261c..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-//
-// THIS FILE IS UNDER PUPPET CONTROL. DON'T EDIT IT HERE.
-// USE: git clone git+ssh://$USER@puppet.debian.org/srv/puppet.debian.org/git/dsa-puppet.git
-//
-
-APT::Install-Recommends 0;
diff --git a/files/etc/apt/preferences b/files/etc/apt/preferences
deleted file mode 100644 (file)
index 5525c25..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-Explanation:
-Explanation: THIS FILE IS UNDER PUPPET CONTROL. DON'T EDIT IT HERE.
-Explanation: USE: git clone git+ssh://$USER@puppet.debian.org/srv/puppet.debian.org/git/dsa-puppet.git
-Explanation:
-Package: *
-Pin: release o=Debian Backports
-Pin-Priority: 200
-
-Package: sbuild
-Pin: release o=buildd.debian.org
-Pin-Priority: 500
-
-Package: buildd
-Pin: release o=buildd.debian.org
-Pin-Priority: 500
-
-Package: buildd-builder-meta
-Pin: release o=buildd.debian.org
-Pin-Priority: 500
-
-Package: libsbuild-perl
-Pin: release o=buildd.debian.org
-Pin-Priority: 500
-
-Package: *
-Pin: release o=buildd.debian.org
-Pin-Priority: -1
diff --git a/files/etc/cron.d/dsa-puppet-stuff b/files/etc/cron.d/dsa-puppet-stuff
deleted file mode 100644 (file)
index 5bbf6c4..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-SHELL=/bin/bash
-@hourly  root [ ! -d /var/cache/dsa ] || touch /var/cache/dsa/cron.alive
-34 */4 * * * root if [ -x /usr/sbin/puppetd ]; then sleep $(( $RANDOM \% 3600 )); if [ -x /usr/bin/timeout ]; then TO="timeout 3600"; else TO=""; fi; $TO /usr/sbin/puppetd --factsync -o --no-daemonize 2>&1 | grep -v 'v6: error fetching interface information: Device not found' ; fi
diff --git a/files/etc/default/puppet b/files/etc/default/puppet
deleted file mode 100644 (file)
index dc0743f..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-##
-## THIS FILE IS UNDER PUPPET CONTROL. DON'T EDIT IT HERE.
-## USE: git clone git+ssh://$USER@puppet.debian.org/srv/puppet.debian.org/git/dsa-puppet.git
-##
-
-# Defaults for puppet - sourced by /etc/init.d/puppet
-
-# Start puppet on boot?
-START=no
-exit 0
-
-# Startup options
-DAEMON_OPTS="-w 5 --factsync"
diff --git a/files/etc/ldap/ldap.conf b/files/etc/ldap/ldap.conf
deleted file mode 100644 (file)
index 9dd5311..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-##
-## THIS FILE IS UNDER PUPPET CONTROL. DON'T EDIT IT HERE.
-## USE: git clone git+ssh://$USER@puppet.debian.org/srv/puppet.debian.org/git/dsa-puppet.git
-##
-
-#
-# LDAP Defaults
-#
-
-# See ldap.conf(5) for details
-# This file should be world readable but not world writable.
-
-#BASE  dc=example,dc=com
-#URI   ldap://ldap.example.com ldap://ldap-master.example.com:666
-
-#SIZELIMIT     12
-#TIMELIMIT     15
-#DEREF         never
-
-URI             ldap://db.debian.org
-BASE            dc=debian,dc=org
-
-TLS_CACERT      /etc/ssl/certs/spi-cacert-2008.pem
-TLS_REQCERT     hard
diff --git a/files/etc/pam.d/common-session b/files/etc/pam.d/common-session
deleted file mode 100644 (file)
index 9ae4373..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-##
-## THIS FILE IS UNDER PUPPET CONTROL. DON'T EDIT IT HERE.
-## USE: git clone git+ssh://$USER@puppet.debian.org/srv/puppet.debian.org/git/dsa-puppet.git
-##
-
-#
-# /etc/pam.d/common-session - session-related modules common to all services
-#
-# This file is included from other service-specific PAM config files,
-# and should contain a list of modules that define tasks to be performed
-# at the start and end of sessions of *any* kind (both interactive and
-# non-interactive).  The default is pam_unix.
-#
-session        required        pam_unix.so
-session        optional        pam_mkhomedir.so skel=/etc/skel umask=0022
diff --git a/files/etc/puppet/puppet.conf b/files/etc/puppet/puppet.conf
deleted file mode 100644 (file)
index a4c7ade..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-##
-## THIS FILE IS UNDER PUPPET CONTROL. DON'T EDIT IT HERE.
-## USE: git clone git+ssh://$USER@puppet.debian.org/srv/puppet.debian.org/git/dsa-puppet.git
-##
-
-[main]
-logdir=/var/log/puppet
-vardir=/var/lib/puppet
-ssldir=/var/lib/puppet/ssl
-rundir=/var/run/puppet
-factpath=$vardir/facts
-pluginsync=false
-# This is the default environment for all clients
-environment=production
-
-[puppetmasterd]
-templatedir=/etc/puppet/templates
-libdir=/etc/puppet/lib
-environments = development,testing,production,staging
-
-[puppetd]
-environments = development,testing,production,staging
-
-[staging]
-libdir=/etc/puppet/lib
-manifestdir=/srv/puppet.debian.org/stages/staging/manifests
-templatedir=/srv/puppet.debian.org/stages/staging/templates
-fileserverconfig=/srv/puppet.debian.org/stages/staging/fileserver.conf
-modulepath=/srv/puppet.debian.org/stages/staging/modules
diff --git a/files/etc/timezone b/files/etc/timezone
deleted file mode 100644 (file)
index 7f39493..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Etc/UTC
index dd047efe06bf79c794aa31d9b714290c2d0d15b9..b0d412981f60c8781af3b5d0b8ded43ade6a81db 100644 (file)
@@ -100,6 +100,9 @@ node default {
         Linux: {
             include ferm
             include ferm::per-host
+            case $rsyncd {
+                "true": { include ferm::rsync }
+            }
         }
     }
 
diff --git a/modules/debian-org/files/apt.conf.d/local-pdiffs b/modules/debian-org/files/apt.conf.d/local-pdiffs
new file mode 100644 (file)
index 0000000..155daf9
--- /dev/null
@@ -0,0 +1,6 @@
+//
+// THIS FILE IS UNDER PUPPET CONTROL. DON'T EDIT IT HERE.
+// USE: git clone git+ssh://$USER@puppet.debian.org/srv/puppet.debian.org/git/dsa-puppet.git
+//
+
+Acquire::PDiffs "false";
diff --git a/modules/debian-org/files/apt.conf.d/local-recommends b/modules/debian-org/files/apt.conf.d/local-recommends
new file mode 100644 (file)
index 0000000..aa0261c
--- /dev/null
@@ -0,0 +1,6 @@
+//
+// THIS FILE IS UNDER PUPPET CONTROL. DON'T EDIT IT HERE.
+// USE: git clone git+ssh://$USER@puppet.debian.org/srv/puppet.debian.org/git/dsa-puppet.git
+//
+
+APT::Install-Recommends 0;
diff --git a/modules/debian-org/files/apt.preferences b/modules/debian-org/files/apt.preferences
new file mode 100644 (file)
index 0000000..5525c25
--- /dev/null
@@ -0,0 +1,27 @@
+Explanation:
+Explanation: THIS FILE IS UNDER PUPPET CONTROL. DON'T EDIT IT HERE.
+Explanation: USE: git clone git+ssh://$USER@puppet.debian.org/srv/puppet.debian.org/git/dsa-puppet.git
+Explanation:
+Package: *
+Pin: release o=Debian Backports
+Pin-Priority: 200
+
+Package: sbuild
+Pin: release o=buildd.debian.org
+Pin-Priority: 500
+
+Package: buildd
+Pin: release o=buildd.debian.org
+Pin-Priority: 500
+
+Package: buildd-builder-meta
+Pin: release o=buildd.debian.org
+Pin-Priority: 500
+
+Package: libsbuild-perl
+Pin: release o=buildd.debian.org
+Pin-Priority: 500
+
+Package: *
+Pin: release o=buildd.debian.org
+Pin-Priority: -1
diff --git a/modules/debian-org/files/dsa-puppet-stuff.cron b/modules/debian-org/files/dsa-puppet-stuff.cron
new file mode 100644 (file)
index 0000000..5bbf6c4
--- /dev/null
@@ -0,0 +1,3 @@
+SHELL=/bin/bash
+@hourly  root [ ! -d /var/cache/dsa ] || touch /var/cache/dsa/cron.alive
+34 */4 * * * root if [ -x /usr/sbin/puppetd ]; then sleep $(( $RANDOM \% 3600 )); if [ -x /usr/bin/timeout ]; then TO="timeout 3600"; else TO=""; fi; $TO /usr/sbin/puppetd --factsync -o --no-daemonize 2>&1 | grep -v 'v6: error fetching interface information: Device not found' ; fi
diff --git a/modules/debian-org/files/ldap.conf b/modules/debian-org/files/ldap.conf
new file mode 100644 (file)
index 0000000..9dd5311
--- /dev/null
@@ -0,0 +1,24 @@
+##
+## THIS FILE IS UNDER PUPPET CONTROL. DON'T EDIT IT HERE.
+## USE: git clone git+ssh://$USER@puppet.debian.org/srv/puppet.debian.org/git/dsa-puppet.git
+##
+
+#
+# LDAP Defaults
+#
+
+# See ldap.conf(5) for details
+# This file should be world readable but not world writable.
+
+#BASE  dc=example,dc=com
+#URI   ldap://ldap.example.com ldap://ldap-master.example.com:666
+
+#SIZELIMIT     12
+#TIMELIMIT     15
+#DEREF         never
+
+URI             ldap://db.debian.org
+BASE            dc=debian,dc=org
+
+TLS_CACERT      /etc/ssl/certs/spi-cacert-2008.pem
+TLS_REQCERT     hard
diff --git a/modules/debian-org/files/pam.common-session b/modules/debian-org/files/pam.common-session
new file mode 100644 (file)
index 0000000..9ae4373
--- /dev/null
@@ -0,0 +1,15 @@
+##
+## THIS FILE IS UNDER PUPPET CONTROL. DON'T EDIT IT HERE.
+## USE: git clone git+ssh://$USER@puppet.debian.org/srv/puppet.debian.org/git/dsa-puppet.git
+##
+
+#
+# /etc/pam.d/common-session - session-related modules common to all services
+#
+# This file is included from other service-specific PAM config files,
+# and should contain a list of modules that define tasks to be performed
+# at the start and end of sessions of *any* kind (both interactive and
+# non-interactive).  The default is pam_unix.
+#
+session        required        pam_unix.so
+session        optional        pam_mkhomedir.so skel=/etc/skel umask=0022
diff --git a/modules/debian-org/files/puppet.conf b/modules/debian-org/files/puppet.conf
new file mode 100644 (file)
index 0000000..a4c7ade
--- /dev/null
@@ -0,0 +1,29 @@
+##
+## THIS FILE IS UNDER PUPPET CONTROL. DON'T EDIT IT HERE.
+## USE: git clone git+ssh://$USER@puppet.debian.org/srv/puppet.debian.org/git/dsa-puppet.git
+##
+
+[main]
+logdir=/var/log/puppet
+vardir=/var/lib/puppet
+ssldir=/var/lib/puppet/ssl
+rundir=/var/run/puppet
+factpath=$vardir/facts
+pluginsync=false
+# This is the default environment for all clients
+environment=production
+
+[puppetmasterd]
+templatedir=/etc/puppet/templates
+libdir=/etc/puppet/lib
+environments = development,testing,production,staging
+
+[puppetd]
+environments = development,testing,production,staging
+
+[staging]
+libdir=/etc/puppet/lib
+manifestdir=/srv/puppet.debian.org/stages/staging/manifests
+templatedir=/srv/puppet.debian.org/stages/staging/templates
+fileserverconfig=/srv/puppet.debian.org/stages/staging/fileserver.conf
+modulepath=/srv/puppet.debian.org/stages/staging/modules
diff --git a/modules/debian-org/files/puppet.default b/modules/debian-org/files/puppet.default
new file mode 100644 (file)
index 0000000..dc0743f
--- /dev/null
@@ -0,0 +1,13 @@
+##
+## THIS FILE IS UNDER PUPPET CONTROL. DON'T EDIT IT HERE.
+## USE: git clone git+ssh://$USER@puppet.debian.org/srv/puppet.debian.org/git/dsa-puppet.git
+##
+
+# Defaults for puppet - sourced by /etc/init.d/puppet
+
+# Start puppet on boot?
+START=no
+exit 0
+
+# Startup options
+DAEMON_OPTS="-w 5 --factsync"
diff --git a/modules/debian-org/files/timezone b/modules/debian-org/files/timezone
new file mode 100644 (file)
index 0000000..7f39493
--- /dev/null
@@ -0,0 +1 @@
+Etc/UTC
index 3a3c8b2f4449abb2a39a0844356bbae429330505..262479a660826e0c4bf616b953269d0b8da29b1a 100644 (file)
@@ -39,7 +39,6 @@ class debian-org {
         "nload": ensure => installed;
         "pciutils": ensure => installed;
         "pdksh": ensure => installed;
-        "puppet": ensure => installed;
         "rsyslog": ensure => purged;
         "sysklogd": ensure => purged;
         "syslog-ng": ensure => installed;
@@ -51,7 +50,7 @@ class debian-org {
     }
     file {
         "/etc/apt/preferences":
-            source => "puppet:///files/etc/apt/preferences";
+            source => "puppet:///modules/debian-org/apt.preferences";
         "/etc/apt/sources.list.d/backports.org.list":
             content => template("debian-org/etc/apt/sources.list.d/backports.org.list.erb"),
             notify  => Exec["apt-get update"];
@@ -65,32 +64,32 @@ class debian-org {
             content => template("debian-org/etc/apt/sources.list.d/volatile.list.erb"),
             notify  => Exec["apt-get update"];
         "/etc/apt/apt.conf.d/local-recommends":
-            source => "puppet:///files/etc/apt/apt.conf.d/local-recommends";
+            source => "puppet:///modules/debian-org/apt.conf.d/local-recommends";
         "/etc/apt/apt.conf.d/local-pdiffs":
-            source => "puppet:///files/etc/apt/apt.conf.d/local-pdiffs";
+            source => "puppet:///modules/debian-org/apt.conf.d/local-pdiffs";
         "/etc/timezone":
-            source => "puppet:///files/etc/timezone",
+            source => "puppet:///modules/debian-org/timezone",
             notify => Exec["dpkg-reconfigure tzdata -pcritical -fnoninteractive"];
         "/etc/puppet/puppet.conf":
-            require => Package["puppet"],
-            source => "puppet:///files/etc/puppet/puppet.conf"
+            require => Package["puppet"],
+            source => "puppet:///modules/debian-org/puppet.conf"
             ;
         "/etc/default/puppet":
-            require => Package["puppet"],
-            source => "puppet:///files/etc/default/puppet"
+            require => Package["puppet"],
+            source => "puppet:///modules/debian-org/puppet.default"
             ;
-       
+
         "/etc/cron.d/dsa-puppet-stuff":
-            source => "puppet:///files/etc/cron.d/dsa-puppet-stuff",
+            source => "puppet:///modules/debian-org/dsa-puppet-stuff.cron",
             require => Package["cron"]
             ;
         "/etc/ldap/ldap.conf":
             require => Package["userdir-ldap"],
-            source => "puppet:///files/etc/ldap/ldap.conf",
+            source => "puppet:///modules/debian-org/ldap.conf",
             ;
         "/etc/pam.d/common-session":
             require => Package["libpam-pwdfile"],
-            source => "puppet:///files/etc/pam.d/common-session",
+            source => "puppet:///modules/debian-org/pam.common-session",
             ;
         "/etc/rc.local":
             mode   => 0755,
index 88873041e8b041b701565870c80767f2d1898238..a43bc7c6137614ab362715e6f0e89c0e99b5d31d 100644 (file)
@@ -5,12 +5,6 @@ class ferm::per-host {
         }
     }
 
-    case $hostname {
-        chopin,franck,gluck,kaufmann,kassia,klecker,lobos,merikanto,merkel,morricone,ravel,ries,rietz,saens,schein,senfl,stabile,steffani,valente,villa,wieck,wolkenstein: {
-            include ferm::rsync
-        }
-    }
-
     case $hostname {
         chopin,franck,gluck,kassia,klecker,lobos,morricone,ravel,ries,rietz,saens,schein,steffani,valente,villa,wieck,stabile: {
             include ferm::ftp
@@ -24,13 +18,13 @@ class ferm::per-host {
                 rule         => "&SERVICE_RANGE(tcp, http-alt, ( 192.25.206.16 70.103.162.29 217.196.43.134 ))"
             }
         }
-       danzi: {
-            @ferm::rule { "dsa-postgres-danzi":
-                description     => "Allow postgress access",
-                rule            => "&SERVICE_RANGE(tcp, 5433, ( 206.12.19.0/24 ))"
-            }
+        danzi: {
+                @ferm::rule { "dsa-postgres-danzi":
+                    description     => "Allow postgress access",
+                    rule            => "&SERVICE_RANGE(tcp, 5433, ( 206.12.19.0/24 ))"
+                }
 
-       }
+        }
         paganini: {
             @ferm::rule { "dsa-dhcp":
                 description     => "Allow dhcp access",
@@ -62,10 +56,6 @@ class ferm::per-host {
                 description     => "Allow powell to seed BT",
                 rule            => "proto tcp dport 8000:8100 jump ACCEPT"
             }
-            @ferm::rule { "dsa-powell-rsync":
-                description     => "Hoster wants to sync from here, and why not",
-                rule            => "&SERVICE_RANGE(tcp, rsync, ( 195.20.242.90 192.25.206.33 82.195.75.106 206.12.19.118 ))"
-            }
         }
         heininen,lotti: {
             @ferm::rule { "dsa-syslog":
@@ -208,7 +198,7 @@ class ferm::per-host {
             @ferm::rule { "dsa-nat-snapshot-varnish":
                 table           => 'nat',
                 chain           => 'PREROUTING',
-                rule            => 'proto tcp daddr 193.62.202.28 dport 80 REDIRECT to-ports 6081',
+                rule            => 'proto tcp daddr 193.62.202.30 dport 80 REDIRECT to-ports 6081',
             }
         }
         stabile: {
index 13603f2c8489e6e5426e6ce33c76834bcd6a7a84..d99b01650ad2c05ceffdbc57b5ed08ca921e3e6f 100644 (file)
@@ -6,6 +6,14 @@
 view "AF" {
   match-clients { AF; };
 
+  zone "archive.debian.org" {
+    type master;
+    file "/etc/bind/geodns/zonefiles/db.archive.debian.org.AF";
+    notify no;
+    allow-query { any; };
+    allow-transfer { };
+  };
+
   zone "volatile.debian.org" {
     type master;
     file "/etc/bind/geodns/zonefiles/db.volatile.debian.org.AF";
@@ -66,6 +74,14 @@ view "AF" {
 view "AN" {
   match-clients { AN; };
 
+  zone "archive.debian.org" {
+    type master;
+    file "/etc/bind/geodns/zonefiles/db.archive.debian.org.AN";
+    notify no;
+    allow-query { any; };
+    allow-transfer { };
+  };
+
   zone "volatile.debian.org" {
     type master;
     file "/etc/bind/geodns/zonefiles/db.volatile.debian.org.AN";
@@ -126,6 +142,14 @@ view "AN" {
 view "AS" {
   match-clients { AS; };
 
+  zone "archive.debian.org" {
+    type master;
+    file "/etc/bind/geodns/zonefiles/db.archive.debian.org.AS";
+    notify no;
+    allow-query { any; };
+    allow-transfer { };
+  };
+
   zone "volatile.debian.org" {
     type master;
     file "/etc/bind/geodns/zonefiles/db.volatile.debian.org.AS";
@@ -186,6 +210,14 @@ view "AS" {
 view "EU" {
   match-clients { EU; };
 
+  zone "archive.debian.org" {
+    type master;
+    file "/etc/bind/geodns/zonefiles/db.archive.debian.org.EU";
+    notify no;
+    allow-query { any; };
+    allow-transfer { };
+  };
+
   zone "volatile.debian.org" {
     type master;
     file "/etc/bind/geodns/zonefiles/db.volatile.debian.org.EU";
@@ -246,6 +278,14 @@ view "EU" {
 view "NA" {
   match-clients { NA; };
 
+  zone "archive.debian.org" {
+    type master;
+    file "/etc/bind/geodns/zonefiles/db.archive.debian.org.NA";
+    notify no;
+    allow-query { any; };
+    allow-transfer { };
+  };
+
   zone "volatile.debian.org" {
     type master;
     file "/etc/bind/geodns/zonefiles/db.volatile.debian.org.NA";
@@ -306,6 +346,14 @@ view "NA" {
 view "OC" {
   match-clients { OC; };
 
+  zone "archive.debian.org" {
+    type master;
+    file "/etc/bind/geodns/zonefiles/db.archive.debian.org.OC";
+    notify no;
+    allow-query { any; };
+    allow-transfer { };
+  };
+
   zone "volatile.debian.org" {
     type master;
     file "/etc/bind/geodns/zonefiles/db.volatile.debian.org.OC";
@@ -366,6 +414,14 @@ view "OC" {
 view "SA" {
   match-clients { SA; };
 
+  zone "archive.debian.org" {
+    type master;
+    file "/etc/bind/geodns/zonefiles/db.archive.debian.org.SA";
+    notify no;
+    allow-query { any; };
+    allow-transfer { };
+  };
+
   zone "volatile.debian.org" {
     type master;
     file "/etc/bind/geodns/zonefiles/db.volatile.debian.org.SA";
@@ -426,6 +482,14 @@ view "SA" {
 view "undef" {
   match-clients { undef; };
 
+  zone "archive.debian.org" {
+    type master;
+    file "/etc/bind/geodns/zonefiles/db.archive.debian.org.undef";
+    notify no;
+    allow-query { any; };
+    allow-transfer { };
+  };
+
   zone "volatile.debian.org" {
     type master;
     file "/etc/bind/geodns/zonefiles/db.volatile.debian.org.undef";
@@ -486,6 +550,14 @@ view "undef" {
 view "default" {
   match-clients { any; };
 
+  zone "archive.debian.org" {
+    type master;
+    file "/etc/bind/geodns/zonefiles/db.archive.debian.org";
+    notify no;
+    allow-query { any; };
+    allow-transfer { };
+  };
+
   zone "volatile.debian.org" {
     type master;
     file "/etc/bind/geodns/zonefiles/db.volatile.debian.org";