From 63b3c4037b2dd406a20c97d578f74c7ff9279565 Mon Sep 17 00:00:00 2001 From: Nate Riffe Date: Tue, 4 Sep 2012 07:24:31 -0500 Subject: [PATCH] Add a zone definition --- manifests/init.pp | 7 +++++++ manifests/zone.pp | 22 ++++++++++++++++++++++ templates/zone.conf.erb | 29 +++++++++++++++++++++++++++++ 3 files changed, 58 insertions(+) create mode 100644 manifests/zone.pp create mode 100644 templates/zone.conf.erb diff --git a/manifests/init.pp b/manifests/init.pp index 7c9111d..7f9e40d 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -23,6 +23,13 @@ class bind ( notify => Service[$bind::params::bind_service], } + file { "${confdir}/zones": + ensure => directory, + owner => $bind::params::bind_user, + group => $bind::params::bind_group, + mode => '0755', + } + concat { [ "${bind::params::confdir}/acls.conf", "${bind::params::confdir}/views.conf", diff --git a/manifests/zone.pp b/manifests/zone.pp new file mode 100644 index 0000000..e6fb299 --- /dev/null +++ b/manifests/zone.pp @@ -0,0 +1,22 @@ +define bind::zone ( + $type, + $domain = '', + $masters = [], + $allow_updates = [], + $allow_transfers = [], +) { + if $domain == '' + $_domain = $name + else + $_domain = $domain + fi + + file { "${bind::params::confdir}/zones/${name}.conf": + ensure => present, + owner => ${bind::params::bind_user}, + group => ${bind::params::bind_group}, + mode => '0644', + content => template('bind/zone.conf.erb'), + } + +} diff --git a/templates/zone.conf.erb b/templates/zone.conf.erb new file mode 100644 index 0000000..51ae671 --- /dev/null +++ b/templates/zone.conf.erb @@ -0,0 +1,29 @@ + +# This file managed by puppet - changes will be lost +zone "<%= _domain %>" { + type <%= type %>; +<%- if file != '' -%> + file "<%= file %>"; +<%- end -%> +<%- if not masters.empty? -%> + masters { +<%- masters.each do |master| -%> + <%= master %>; +<%- end -%> + }; +<%- end -%> +<%- if not allow_updates.empty? -%> + allow-update { +<%- allow_updates.each do |allow_update| -%> + <%= allow_update %>; +<%- end -%> + }; +<%- end -%> +<%- if not allow_transfers.empty? -%> + allow-transfer { +<%- allow_transfers.each do |allow_transfer| -%> + <%= allow_transfer %>; +<%- end -%> + }; +<%- end -%> +};