class named::geodns inherits named {
- activate_munin_check {
- "bind_views": script => bind;
- }
+ munin::check { 'bind_views':
+ script => bind
+ }
- file {
- "/etc/apt/sources.list.d/geoip.list":
- content => template("debian-org/etc/apt/sources.list.d/geoip.list.erb"),
- notify => Exec["apt-get update"],
- ;
- "/etc/bind/named.conf.local":
- source => [ "puppet:///named/per-host/$fqdn/named.conf.local",
- "puppet:///named/common/named.conf.local" ],
- require => Package["bind9"],
- notify => Exec["bind9 restart"],
- owner => root,
- group => root,
- ;
- "/etc/bind/named.conf.acl":
- source => [ "puppet:///named/per-host/$fqdn/named.conf.acl",
- "puppet:///named/common/named.conf.acl" ],
- require => Package["bind9"],
- notify => Exec["bind9 restart"],
- owner => root,
- group => root,
- ;
- "/etc/bind/named.conf.options":
- source => [ "puppet:///named/per-host/$fqdn/named.conf.options",
- "puppet:///named/common/named.conf.options" ],
- require => Package["bind9"],
- notify => Exec["bind9 restart"],
- owner => root,
- group => root,
- ;
+ package { 'geoip-database':
+ ensure => installed,
+ }
- "/etc/bind/geodns":
- ensure => directory,
- owner => root,
- group => geodnssync,
- mode => 775,
- ;
- "/etc/bind/geodns/named.conf.geo":
- source => [ "puppet:///named/per-host/$fqdn/named.conf.geo",
- "puppet:///named/common/named.conf.geo" ],
- require => Package["bind9"],
- notify => Exec["bind9 restart"],
- owner => root,
- group => root,
- ;
- "/etc/bind/geodns/recvconf":
- source => [ "puppet:///named/per-host/$fqdn/recvconf",
- "puppet:///named/common/recvconf" ],
- owner => root,
- group => root,
- mode => 555,
- ;
- "/etc/bind/geodns/recvconf.files":
- source => [ "puppet:///named/per-host/$fqdn/recvconf.files",
- "puppet:///named/common/recvconf.files" ],
- owner => root,
- group => root,
- mode => 444,
- ;
+ file { '/etc/bind/':
+ ensure => directory,
+ group => bind,
+ mode => '2755',
+ require => Package['bind9'],
+ notify => Service['bind9'],
+ }
+ file { '/etc/bind/geodns':
+ ensure => directory,
+ mode => '0755',
+ }
+ file { '/etc/bind/named.conf.local':
+ source => 'puppet:///modules/named/common/named.conf.local',
+ notify => Service['bind9'],
+ }
+ if (versioncmp($::lsbmajdistrelease, '9') >= 0) {
+ file { '/etc/bind/named.conf.acl':
+ source => 'puppet:///modules/named/common/named.conf.acl',
+ notify => Service['bind9'],
+ }
+ } else {
+ file { '/etc/bind/named.conf.acl':
+ source => 'puppet:///modules/named/common/named.conf.acl.bind99',
+ notify => Service['bind9'],
+ }
+ }
+ file { '/etc/bind/geodns/zonefiles':
+ ensure => directory,
+ owner => geodnssync,
+ group => geodnssync,
+ mode => '2755',
+ }
+ file { '/etc/bind/geodns/named.conf.geo':
+ source => 'puppet:///modules/named/common/named.conf.geo',
+ notify => Service['bind9'],
+ }
+ file { '/etc/bind/geodns/trigger':
+ mode => '0555',
+ source => 'puppet:///modules/named/common/trigger',
+ }
+ file { '/etc/cron.d/dsa-boot-geodnssync': ensure => absent; }
+ concat::fragment { 'puppet-crontab--geodns-boot':
+ target => '/etc/cron.d/puppet-crontab',
+ content => @(EOF)
+ @reboot geodnssync sleep 1m && /etc/bind/geodns/trigger > /dev/null
+ | EOF
+ }
- "/usr/share/GeoIP/GeoIPv6.dat":
- source => [ "puppet:///named/per-host/$fqdn/GeoIPv6.dat",
- "puppet:///named/common/GeoIPv6.dat" ],
- owner => root,
- group => root,
- mode => 444,
- ;
-
- "/etc/ssh/userkeys/geodnssync":
- source => [ "puppet:///named/per-host/$fqdn/authorized_keys",
- "puppet:///named/common/authorized_keys" ],
- owner => root,
- group => geodnssync,
- mode => 440,
- ;
- "/var/log/bind9":
- ensure => directory,
- owner => bind,
- group => bind,
- mode => 775,
- ;
- }
+ ferm::rule::simple { '01-dsa-bind':
+ description => 'Allow nameserver access',
+ proto => ['udp', 'tcp'],
+ port => 'domain',
+ }
}
-
-# vim: set fdm=marker ts=8 sw=8 et: