diff --git a/manifests/init.pp b/manifests/init.pp index ec31384..4b946f0 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -15,6 +15,20 @@ $chroot = false, $chroot_class = $::bind::defaults::chroot_class, $chroot_dir = $::bind::defaults::chroot_dir, + $transfers_in = undef, + $transfers_per_ns = undef, + $transfers_out = undef, + $max_refresh_time = undef, + $min_refresh_time = undef, + $max_retry_time = undef, + $min_retry_time = undef, + $query_log = undef, + $request_ixfr = undef, + $serial_query_rate = undef, + $server_id = false, + $max_ncache_ttl = undef, + $ixfr_from_differences = undef, + $send_cookie = true, # NOTE: we need to be able to override this parameter when declaring class, # especially when not using hiera (i.e. when using Foreman as ENC): $default_zones_include = $::bind::defaults::default_zones_include, diff --git a/manifests/logging/channel.pp b/manifests/logging/channel.pp index db0a5cd..d6f0c1c 100644 --- a/manifests/logging/channel.pp +++ b/manifests/logging/channel.pp @@ -9,6 +9,7 @@ $print_category = true, $print_severity = true, $print_time = true, + $file_params = undef, ) { unless member(['file', 'syslog', 'stderr', 'null'], $destination) { fail("Bind::logging::channel[${name}] has invalid destination: ${destination}. Must be one of: file syslog stderr null") diff --git a/templates/logging_channel.erb b/templates/logging_channel.erb index e20e5a7..212f224 100644 --- a/templates/logging_channel.erb +++ b/templates/logging_channel.erb @@ -1,7 +1,11 @@ channel <%= @name %> { <%- case @destination -%> <%- when "file" -%> + <%- if @file_params -%> + file "<%= @file_path %>/<%= @file_name %>" <%= @file_params %>; + <%- else -%> file "<%= @file_path %>/<%= @file_name %>"; + <%- end -%> <%- when "syslog" -%> syslog <%= @syslog_facility %>; <%- when "stderr" -%> diff --git a/templates/named.conf.erb b/templates/named.conf.erb index a69f4ef..ba53bdd 100644 --- a/templates/named.conf.erb +++ b/templates/named.conf.erb @@ -25,6 +25,45 @@ options { <%- end -%> <%- if @forward != '' -%> forward <%= @forward %>; +<%- end -%> +<%- if @query_log -%> + querylog <%= @query_log %>; +<%- end -%> +<%- if @request_ixfr -%> + request-ixfr <%= @request_ixfr %>; +<%- end -%> +<%- if @ixfr_from_differences -%> + ixfr-from-differences <%= @ixfr_from_differences %>; +<%- end -%> +<%- if @serial_query_rate -%> + serial-query-rate <%= @serial_query_rate %>; +<%- end -%> +<%- if @transfers_in -%> + transfers-in <%= @transfers_in %>; +<%- end -%> +<%- if @transfers_out -%> + transfers-out <%= @transfers_out %>; +<%- end -%> +<%- if @transfers_per_ns -%> + transfers-per-ns <%= @transfers_per_ns %>; +<%- end -%> +<%- if @max_refresh_time -%> + max-refresh-time <%= @max_refresh_time %>; +<%- end -%> +<%- if @min_refresh_time -%> + min-refresh-time <%= @min_refresh_time %>; +<%- end -%> +<%- if @send_cookie == false -%> + send-cookie false; +<%- end -%> +<%- if @max_retry_time -%> + max-retry-time <%= @max_retry_time %>; +<%- end -%> +<%- if @min_retry_time -%> + min-retry-time <%= @min_retry_time %>; +<%- end -%> +<%- if @max_ncache_ttl -%> + max-ncache-ttl <%= @max_ncache_ttl %>; <%- end -%> auth-nxdomain <%= @auth_nxdomain ? 'yes' : 'no' %>; listen-on-v6 { any; }; @@ -36,17 +75,20 @@ options { dnssec-validation yes; dnssec-lookaside auto; <%- if @isc_bind_keys -%> - bindkeys-file "<%= @isc_bind_keys %>"; + bindkeys-file "<%= @isc_bind_keys %>"; <%- end -%> <%- end -%> <%- if @version != '' -%> version "<%= @version %>"; <%- end -%> +<%- if @server_id -%> + server-id hostname; +<%- end -%> <%- if @tkey_gssapi_credential -%> - tkey-gssapi-credential "<%= @tkey_gssapi_credential %>"; + tkey-gssapi-credential "<%= @tkey_gssapi_credential %>"; <%- end -%> <%- if @tkey_domain -%> - tkey-domain "<%= @tkey_domain %>"; + tkey-domain "<%= @tkey_domain %>"; <%- end -%> }; <%- if @include_local -%>