Commit Graph

92 Commits

Author SHA1 Message Date
Alex Frolkin
e579b5479b Support minimal-responses setting on views 2016-04-15 15:32:09 +01: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
Nate Riffe
9b1cbacee0 Give bind::key the ability to generate keys
Also, allow them to be placed elsewhere in the filesystem and make it possible
to exclude a key from the named configuration.
2015-01-18 10:11:24 -06:00
Tilo Klausing
0ebec14102 added support for view directive "match-recursive-only"
allows for dedicated views separating resolver and authorative functions
within the same server
2015-01-12 15:44:33 +01:00
Tilo Klausing
f9ed618b36 view fragment order is explictly controllable via optional parameter
order

this is neccessary because the order in the config is relevant for the
evaluation by bind
2015-01-12 15:44:18 +01:00
Nate Riffe
61adcc07c4 Add support for transfer-source 2015-01-08 08:17:01 -06:00
Nate Riffe
7a74314a1e Make it all work again.
Previous iterations and even a release were all broken. The module works again,
sorry for the interlude.

- Giving up on params and moving to module_data (WIP)
- Change the Package and Service references to the static 'bind' name
- Add a meager amount of test coverage
2015-01-08 08:09:32 -06:00
Nate Riffe
3d1d7a29dc Really fix lint issues 2014-12-12 07:33:00 -06:00
Nate Riffe
ac852d2e5b Lint cleanup 2014-12-11 07:12:19 -06:00
Nate Riffe
e365f5e49a Distinguish view access from recursion access
Make recursion_match_clients and recursion_match_destinations mirroring the
existing match_clients and match_destinations in order to distinguish recursion
access as a proper subset of view access.
2014-11-28 19:02:23 -06:00
Nate Riffe
66cc6ea21d Fix up the resource ordering
- Give the service and package resources stable titles and specify actual names
  via resource parameters.
- Make all the files (including concats) happen after the package, and notify
  the service
2014-11-28 09:17:09 -06:00
Brian Muita
f5cf852939 Added bind package to File resource defaults
Fixes concat failing because the bind group cannot be found on the first run
when bind isn't installed yet.
2014-11-27 18:30:50 +03:00
Nate Riffe
2d13b5cf3d Add a source parameter to bind::zone
Enable zone file initialization using a pre-existing zone file.
2014-10-09 16:18:21 -05:00
Nate Riffe
a66b985adb Fix up bind::updater and support rndc
I thought I fixed rndc a while ago... not quite. Do it now. Make bind::updater
actually work (incomplete last time)
2014-06-27 14:43:46 -05:00
Nate Riffe
09cf90342b Add bind::updater class
Create a bind::updater class to add support for the dns_rr resource on systems
that will not have a BIND server installed or running.
2014-06-15 10:44:15 -05:00
Nate Riffe
c4bc2a1c4a Add modelines and reformat pp files 2014-06-15 10:08:55 -05:00
Nate Riffe
0cede66bfb Fix rndc 2014-02-20 14:04:53 -06:00
Nate Riffe
4487b80401 Removed inclusion of concat::setup
Manual inclusion of concat::setup is deprecated and behaves strangely.
2014-01-20 17:19:41 -06:00
Nate Riffe
ad347e8b26 Purge zones and configs that aren't managed 2013-10-05 11:07:05 -05:00
Nate Riffe
1f18261b08 Match template expectations for array values 2013-08-08 08:05:27 -05:00
Nate Riffe
a5185b5aaf Fix dnssec-init to respect alt key-directory 2012-10-07 08:23:27 -05:00