# the base class defining things common for all three static classes (master, mirror, source)
-class roles::static::base {
- $query = 'nodes[certname] { resources { type = "Class" and title = "Roles::Static_mirror" } }'
+class staticsync::base inherits staticsync {
+
+ # fetch the list of static mirrors from PuppetDB
+ #
+ # This list is necessary so we can both do "include only these
+ # mirrors" but also "exclude these mirrors and include all others"
+ # in the config.
+ $query = 'nodes[certname] { resources { type = "Class" and title = "Staticsync::Static_mirror" } }'
$static_mirrors = sort(puppetdb_query($query).map |$value| { $value["certname"] })
file { '/etc/static-components.conf':
- content => template('roles/static-mirroring/static-components.conf.erb'),
+ content => template('staticsync/static-components.conf.erb'),
}
file { '/usr/local/bin/staticsync-ssh-wrap':
- source => 'puppet:///modules/roles/static-mirroring/staticsync-ssh-wrap',
+ source => 'puppet:///modules/staticsync/staticsync-ssh-wrap',
mode => '0555',
}
file { '/usr/local/bin/static-update-component':
- source => 'puppet:///modules/roles/static-mirroring/static-update-component',
- mode => '0555',
+ source => 'puppet:///modules/staticsync/static-update-component',
+ mode => '0555',
}
file { '/etc/staticsync.conf':
content => @("EOF"),
- # This file is sourced by bash
- # and parsed by python
- # - empty lines and lines starting with a # are ignored.
- # - other lines are key=value. No extra spaces anywhere. No quoting.
- base=/srv/static.debian.org
- masterbase=/home/staticsync/static-master/master
- staticuser=staticsync
- | EOF
+ # This file is sourced by bash
+ # and parsed by python
+ # - empty lines and lines starting with a # are ignored.
+ # - other lines are key=value. No extra spaces anywhere. No quoting.
+ base=${staticsync::basedir}
+ masterbase=${staticsync::basedir}/master
+ staticuser=${staticsync::user}
+ | EOF
}
}