Commit Graph

111 Commits

Author SHA1 Message Date
Nate Riffe
da2a88ec86 Merge branch '6.0-prerelease'
Conflicts:
	metadata.json
2016-07-04 09:48:23 -05:00
Nate Riffe
88481f94fd Finalize the 6.0-prerelease branch 2016-07-04 09:39:51 -05:00
Nate Riffe
dcbba5a0cb Harmonize default value for also_notify
The template code that processes also_notify is of a kind with the checks and
processing of other optional smart-array values. Make its default an empty
string so that the clause may be properly omitted from a config that doesn't
use it.
2016-05-06 15:18:53 -05:00
Nate Riffe
0532e1cd57 Merge remote-tracking branch 'ocado/empty-zones' into 6.0-prerelease
Conflicts:
	manifests/view.pp
2016-04-20 08:17:51 -05:00
Nate Riffe
dd03f5a559 Merge remote-tracking branch 'ocado/empty-zones'
Conflicts:
	manifests/view.pp
2016-04-20 08:17:27 -05:00
Nate Riffe
1ec9823c0f Merge remote-tracking branch 'ocado/minimal-responses' into 6.0-prerelease
Conflicts:
	templates/view.erb
2016-04-20 08:07:56 -05:00
Nate Riffe
db935f8b86 Merge remote-tracking branch 'ocado/minimal-responses' 2016-04-20 08:05:49 -05:00
Nate Riffe
d50406d0df Merge remote-tracking branch 'ocado/notify-source' into 6.0-prerelease 2016-04-20 08:02:26 -05:00
Nate Riffe
31ef46feb8 Merge remote-tracking branch 'ocado/notify-source' 2016-04-20 08:02:17 -05:00
Nate Riffe
8348f42a17 Merge remote-tracking branch 'hdeadman/forwarderport' into 6.0-prerelease 2016-04-20 07:39:32 -05:00
Nate Riffe
202526e425 Merge remote-tracking branch 'hdeadman/forwarderport' 2016-04-20 07:38:25 -05:00
Ahmad Jagot
2b8b7ccc41 Add allow-empty-zones support.
Conflicts:
	manifests/view.pp
	templates/view.erb
2016-04-20 13:37:20 +01:00
Nate Riffe
4d2d2f63a8 Merge branch 'filter-aaaa-on-v4-option' into 6.0-prerelease 2016-04-20 07:33:18 -05:00
Jean-Francois Roche
badd25b0e6 Add option to filter ipv6 address on ipv4
refs https://kb.isc.org/article/AA-00576/0/Filter-AAAA-option-in-BIND-9-.html
2016-04-20 07:30:54 -05:00
Alex Frolkin
e579b5479b Support minimal-responses setting on views 2016-04-15 15:32:09 +01:00
Alex Frolkin
0f5d3e6019 Add support for notify-source and also-notify
Conflicts:
	templates/view.erb
2016-04-15 15:29:31 +01:00
Hal Deadman
aadc1f2f89 support forwarding a zone to a dns server on port other than 53
e.g. Consul runs on 8600
https://www.consul.io/docs/guides/forwarding.html
zone "consul" IN {
  type forward;
  forward only;
  forwarders { 127.0.0.1 port 8600; };
};
2016-02-10 10:47:12 -05:00
Nate Riffe
31cc2ada68 Merge branch 'root-zone-naming' into 6.0-prerelease 2016-01-29 07:52:45 -06:00
Nate Riffe
44b4b45761 Add option to disable default zone inclusion
By setting bind::include_default_zones to false, a user can suppress the
inclusion of the default definitions for the root hints zone and RFC 1912
zones. These are supplied with the BIND package's default configuration on both
Debian and RedHat derived systems. These zones are necessary for a resolver,
but may be omitted if the server acts strictly as an authoritative server.
2016-01-29 07:32:54 -06:00
Nate Riffe
57002c31a4 Include the default zones on RedHat
RedHat's default zones are baked into the stock named.conf, which the module's
template completely rewrites. Since the module is extremely view-based, and the
Debian default-zones are repositioned into the zones, let's take those defaults
out of the stock named.conf, build a configuration file out of them and include
it in the view just the same.
2016-01-29 07:32:54 -06:00
Nate Riffe
0b674de1ed Just one conditional 2016-01-29 07:30:57 -06:00
Nate Riffe
34478d25da Use an alternate name for the '.' zone
The root zone's domain is `.` but this means something special in the
filesystem which causes an error when creating the zone file.
2016-01-29 07:30:57 -06:00
Stefan - Zipkid - Goethals
12bda76ab9 - fix conflicts when using bind::updater on all nodes. 2016-01-27 09:49:31 +01:00
Nate Riffe
ae3bfa7f1b Add warnings and safety checks and documentation
The changes in the `redhat-default-zones` branch, when released, may cause
upgrade difficulties for Red Hat system administrators. Try to ease the
transition.
2016-01-19 07:44:30 -06:00
Nate Riffe
0388e91dc6 Try to validate that module-data is working
`bind::defaults::supported` should always have a boolean value. If it does not,
then this means either 1) user error (e.g. the user defined some other value
for the key) or 2) module_data is not functioning correctly.
2016-01-12 20:03:14 -06:00
Nate Riffe
3bfcc19a3e Turn params into defaults and formalize it
The `params` vs. `bind` class distinction has been blurry for a long time. I'm
formalizing it.

`params` is now `defaults` and its purpose is to gather platform-specific
variation into a single scope. These variables are related to situating a BIND
server on a particular platform and it should not ever be necessary or perhaps
even possible to change them as a matter of preference. Rather, correct values
are function of e.g. `$osfamily` or `$operatingsystem`.

The parameters of the `bind` class are limited to those that control the
server's feature set. These parameters *are* matters of preference and/or
purpose, rather than platform.

Also, I have taken some care to develop a convention for direct references to
qualified parameters where they are re-scoped into the local scope centrally at
the top first, and subsequent references are to the local value. This should
minimize future code churn and also aid readability.
2015-12-26 10:06:24 -06:00
Nate Riffe
250cb4e4c6 Put confdir in the params class, and more..
Fix a bunch of warnings whne using the bind::updater class by moving confdir to
the params class. In order for this to work, the bind and bind::updater classes
both now inherit from params. Also, fix the default value for
managed_key_directory to something that's actually falsey.
2015-12-26 01:05:52 -06:00
Nate Riffe
40f7972dc8 Merge pull request #59 from nerdlich/dnssec_more_secure
use modern dnssec key algorithm and provide option to use NSEC3
2015-12-19 09:26:51 -06:00
Nate Riffe
05b679a93d Fix a scoping issue in the template 2015-12-19 09:14:18 -06:00
Nate Riffe
1658fd82c3 Set managed-keys-directory
This is needed on RedHat derivatives.
2015-12-19 09:14:18 -06:00
Thomas Sturm
3928c7de6a use modern dnssec key algorithm and provide option to use NSEC3 2015-10-25 15:32:44 +01:00
Thomas Farvour
8005dfa7d9 Add the ability to specify server directives in a view (e.g. using TSIG keys) with a slave -> master. 2015-10-24 09:17:38 -05:00
Nate Riffe
2946e51c87 Leave distro files alone
Distro packaging includes a lot of configuration files that this module tries
and fails to get rid of, but with exclusions. Those don't always work for
mysterious reasons. Leave the distributed files intact as much as possible,
with just the necessary files touched to effect the desired configuration.

Also, make inclusion of named.conf.local optional (default false) and stop
ensuring that there's at least an empty one.
2015-08-20 07:09:09 -05:00
Ner'zhul
4efa1b956b Don't remove confdir files this remove standard files 2015-07-17 14:47:16 +02:00
Aimon Bustardo
0479c58b7c Add missing bind tools package and improve rspec tests
Change-Id: I0b4680ce11fe604917fce654d68c2bec17c05438
2015-07-07 15:33:16 -07:00
Nate Riffe
e25dbfc529 Parameterize the random device for dnssec-keygen
`dnssec-keygen` uses `/dev/random` by default, but this is slow in some
scenarios where `/dev/urandom` is both faster and provides sufficient utility.
Allow override via the `bind::random_device` hiera key.
2015-07-03 08:59:59 -05:00
Mike Bryant
1e8d0b3d0d Add support for the update-policy statement 2015-06-11 15:56:01 +01:00
Doug Neal
5b4d9f772e Fix bad variable name in bind::zone parameter validation code 2015-05-18 17:22:32 +01:00
Nate Riffe
9f489dcb6f validate_bool means something else
`validate_bool` validates that the passed value(s) are boolean, not that they
are true. Reformulate the calls to `unless` blocks, and remove the check for
"dynamic implies master" since setting `dynamic` to true is 1) the default and
2) does not cause any change to configuration text or manifest behavior when
the zone is not master.
2015-05-15 07:42:52 -05:00
Nate Riffe
20e50bf43a That needs to be a reload 2015-05-14 16:05:44 -05:00
Nate Riffe
54eea45d7d Refresh managed zones after a zone file change. 2015-05-14 15:36:41 -05:00
Nate Riffe
9f5c4bacb0 Add dynamic parameter to bind::zone
Add a parameter to `bind::zone` which indicates whether a zone is dynamic or
not. This has the effect of allowing puppet to manage the zone file rather than
simply initialize it. This change also introduces more appropriate handling of
slave and stub zones, so that puppet will not populate a stock zone file,
forcing the nameserver to do a zone transfer when a zone is created.

Also, there is now a substancial amount of validation in the `bind::zone` class
in order to prevent invalid parameter combinations, so that validity may be
assumed elsewhere in the manifest and in the configuration template.
2015-05-14 11:14:48 -05:00
Nate Riffe
eb6d3f5d63 Lint says these are bad 2015-03-23 19:16:37 -05:00
Trevor Smith
4d4fb12b3c change include statement to fully qualify the params class. This prevents puppet from attempting to include ::params 2015-03-19 12:23:12 -04:00
Trevor Smith
e27e9a9e85 fix typo 2015-03-19 12:10:19 -04:00
Trevor Smith
616b32e8f5 add namedconf parameter with default undef that will pull it's value for the module_data hiera backend. change the file resource for named.conf to use this value instead of being relative to the confdir parameter. This is needed because redhat based derivatives store the named.conf file under /etc not /etc/named/ 2015-03-19 12:04:43 -04:00
Tilo Klausing
f6bdbaac3a CentOS support 2015-03-09 14:21:12 +01:00
Nate Riffe
fe3de874ea Make a couple of formatting changes
* Line up the parameter defaults in init.pp
* Put the leading whitespace ahead of the statistics-channel conditional block
  inside the condition to avoid superfluous blank lines in the generated file
2015-02-12 20:33:22 -06:00
Tilo Klausing
fe0a845f65 statistics channel can optinally be enabled 2015-02-12 21:29:05 +01:00
Nate Riffe
01cb48191e Generate an rndc key, let BIND rest on defaults
In the absence of any 'controls' configuration, BIND uses the rndc.key file
containing a key named rndc-key for rndc by default. In this mode, there is
also no need for any explicit settings in rndc.conf.
2015-01-18 10:31:12 -06:00