First go at cdbuilder local mirror export (re: RT##7101)
authorPeter Palfrader <peter@palfrader.org>
Fri, 9 Feb 2018 19:41:56 +0000 (20:41 +0100)
committerPeter Palfrader <peter@palfrader.org>
Fri, 9 Feb 2018 19:41:56 +0000 (20:41 +0100)
hieradata/common.yaml
modules/roles/manifests/cdbuilder_local_mirror.pp [new file with mode: 0644]
modules/roles/manifests/init.pp
modules/roles/templates/apache-local-mirror.cdbuilder.debian.org.erb [new file with mode: 0644]

index c946236..eae4051 100644 (file)
@@ -356,3 +356,5 @@ roles:
     # Hosts that run apache but where it should not be open to the internet by
     # default
     - casulana.debian.org
+  cdbuilder_local_mirror:
+    - casulana.debian.org
diff --git a/modules/roles/manifests/cdbuilder_local_mirror.pp b/modules/roles/manifests/cdbuilder_local_mirror.pp
new file mode 100644 (file)
index 0000000..7f28db3
--- /dev/null
@@ -0,0 +1,21 @@
+class roles::cdbuilder_local_mirror {
+       include apache2
+
+       $apache_addr = "172.29.103.1"
+       $vhost_listen = "${apache_addr}:80"
+
+       apache2::site { '010-local-mirror.cdbuilder.debian.org"':
+               site   => 'local-mirror.cdbuilder.debian.org',
+               content => template('roles/apache-local-mirror.cdbuilder.debian.org.erb'),
+       }
+
+       file { "/etc/apache2/ports.conf":
+               require => Package['apache2'],
+               content  => @("EOF"),
+                               # This file is maintained by puppet
+                               Listen 127.0.0.1:80
+                               Listen $vhost_listen
+                               | EOF
+               notify  => Service['apache2']
+       }
+}
index e447ebb..2172cd2 100644 (file)
@@ -370,4 +370,8 @@ class roles {
        if has_role('debconf_wafer') {
                include roles::debconf_wafer
        }
+
+       if has_role('cdbuilder_local_mirror') {
+               include roles::cdbuilder_local_mirror
+       }
 }
diff --git a/modules/roles/templates/apache-local-mirror.cdbuilder.debian.org.erb b/modules/roles/templates/apache-local-mirror.cdbuilder.debian.org.erb
new file mode 100644 (file)
index 0000000..91773e2
--- /dev/null
@@ -0,0 +1,25 @@
+##
+## 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
+##
+
+<VirtualHost <%= @vhost_listen %>>
+       ServerAdmin debian-admin@debian.org
+       ServerName local-mirror.cdbuilder.debian.org
+       AddCharset UTF-8 .txt
+
+       ErrorLog /var/log/apache2/local-mirror.cdbuilder.debian.org-error.log
+       CustomLog /var/log/apache2/local-mirror.cdbuilder.debian.org-access.log privacy
+
+       Use ftp-archive /srv/mirrors/debian
+       Alias /debian/ /srv/mirrors/debian
+
+       Use ftp-archive /srv/mirrors/debian-security
+       Alias /debian-security /srv/mirrors/debian-security
+
+       <IfModule mod_userdir.c>
+               UserDir disabled
+       </IfModule>
+</VirtualHost>
+
+# vim:set syn=apache: