authoritative.pp 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. # Module:: public
  2. # Manifest:: dns/authoritative.pp
  3. #
  4. # Author:: Julien Vaubourg (<julien@vaubourg.com>)
  5. # Date:: 2013-09-21 13:36:02 +0200
  6. # Maintainer:: Julien Vaubourg (<julien@vaubourg.com>)
  7. # Sebastien Badia (<seb@sebian.fr>)
  8. #
  9. # Class:: public::dns::authoritative inherits dns
  10. #
  11. #
  12. class public::dns::authoritative {
  13. include 'bind'
  14. package { 'zonecheck':
  15. ensure => installed,
  16. }
  17. # Configurations
  18. bind::server::file { [
  19. 'named.conf',
  20. # from named.conf
  21. 'acl.conf',
  22. 'named.conf.local',
  23. 'named.conf.options',
  24. 'divers.conf',
  25. 'adherents.conf',
  26. ]:
  27. zonedir => '/etc/bind',
  28. owner => 'bind',
  29. group => 'bind',
  30. source_base => 'puppet:///modules/private/authoritative/confs/',
  31. # require => File['/etc/all-knowing-dns.conf'],
  32. }
  33. file {
  34. '/etc/bind/zones':
  35. ensure => directory,
  36. owner => 'bind',
  37. group => 'bind',
  38. }
  39. $zones = hiera_hash('zones', {})
  40. create_resources(public::dns::zone, $zones)
  41. } # Class:: public::dns::authoritative inherits dns