Merge branch 'view-servers'
This commit is contained in:
commit
15d61bcefc
24
README.md
24
README.md
@ -227,6 +227,30 @@ and queries for the `example.org` domain are handled using a declared zone (see
|
|||||||
],
|
],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
View declarations can also include server clause configuration. The `servers`
|
||||||
|
property of `bind::view` accepts an array value which specifies each `server`
|
||||||
|
clause in the view as a hash. The hash must contain an `ip_addr` key which
|
||||||
|
specifies the IP address (optionally, a CIDR address range), and may contain a
|
||||||
|
`keys` key with a string value. The value of `keys` will be used as the name of
|
||||||
|
a key in the `server` clause. In this example, the `ns` view will contain a
|
||||||
|
`server` clause that configures BIND to use the key `internal-ns` to TSIG-sign
|
||||||
|
transactions with `192.168.24.2` and the key `hurricane-electric` to TSIG-sign
|
||||||
|
transactions with `216.218.130.2`:
|
||||||
|
|
||||||
|
bind::view { 'ns':
|
||||||
|
servers => [
|
||||||
|
{
|
||||||
|
'ip_addr' => '192.168.24.2',
|
||||||
|
'keys' => 'internal-ns',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'ip_addr' => '216.218.130.2',
|
||||||
|
'keys' => 'hurricane-electric',
|
||||||
|
}
|
||||||
|
],
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
###resource_record
|
###resource_record
|
||||||
|
|
||||||
Declares a resource record. For exampmle:
|
Declares a resource record. For exampmle:
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
define bind::view (
|
define bind::view (
|
||||||
$match_clients = 'any',
|
$match_clients = 'any',
|
||||||
$match_destinations = '',
|
$match_destinations = '',
|
||||||
|
$servers = {},
|
||||||
$zones = [],
|
$zones = [],
|
||||||
$recursion = true,
|
$recursion = true,
|
||||||
$recursion_match_clients = 'any',
|
$recursion_match_clients = 'any',
|
||||||
|
|||||||
@ -34,6 +34,16 @@ view "<%= @name %>" {
|
|||||||
};
|
};
|
||||||
<%- end -%>
|
<%- end -%>
|
||||||
<%- end -%>
|
<%- end -%>
|
||||||
|
<%- if @servers and @servers.is_a?(Array) -%>
|
||||||
|
<%- @servers.each do |properties| -%>
|
||||||
|
<%- raise Puppet::Error, 'view servers must have an ip_addr key' unless properties.has_key?('ip_addr') -%>
|
||||||
|
server <%= properties['ip_addr'] %> {
|
||||||
|
<%- if properties.has_key?('keys') and properties['keys'] != '' -%>
|
||||||
|
keys { <%= properties['keys'] %>; };
|
||||||
|
<%- end -%>
|
||||||
|
};
|
||||||
|
<%- end -%>
|
||||||
|
<%- end -%>
|
||||||
<%- if scope.lookupvar('osfamily') == 'Debian' -%>
|
<%- if scope.lookupvar('osfamily') == 'Debian' -%>
|
||||||
include "<%= @confdir %>/named.conf.default-zones";
|
include "<%= @confdir %>/named.conf.default-zones";
|
||||||
<%- end -%>
|
<%- end -%>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user