Merge branch 'default_value' into 'master'
[puppet_resolvconf.git] / README.md
1 resolv.conf Puppet module
2 =========================
3
4 This module will manage `/etc/resolv.conf` through Puppet.
5
6 resolvconf class
7 ----------------
8
9 The main class (`resolvconf`) takes a simple list of nameservers as an
10 array. For example:
11
12     class { 'resolvconf':
13         nameservers => [ '8.8.8.8' ],
14     }
15
16 ... will create a `resolv.conf` that searches the domain name of the
17 machine (the `$::domain` fact) and uses Google's recursive nameservers
18 (also the default). The domain name and search path can be overriden
19 with the `$domain` and `$search` parameters.
20
21 Extra options can be added at the end of the `resolv.conf` file with
22 the `$tail` argument. (Note that the `$tail` name was chosen because
23 `options` is Linux-specific and will vary on different platforms.)
24
25 A more complete example:
26
27     class { 'resolvconf':
28         nameservers => [ '8.8.8.8' ],
29         domain => 'example.com',
30         search => 'office.example.com bar.example.com',
31         tail => 'options timeout:1 attempts:3 rotate',
32     }
33
34 See the `resolv.conf(5)` manpage for more information about those
35 parameters and the syntax of the resolv.conf file.
36
37 resolvconf::dhcp class
38 ----------------------
39
40 For machines that are configured with DHCP, the `resolvconf` class
41 should simply not be included, and the DHCP client will take care of
42 managing the config file.
43
44 However, if you wish to add options to the resulting `resolv.conf`
45 file, you can use the `resolvconf::dhcp` class that will use the
46 `resolvconf` Debian package to apply extra options at the end of the
47 `resolv.conf` file. For example, this will ensure a faster fallback
48 in case of failures in the DHCP-provided nameservers:
49
50     class { 'resolvconf::dhcp':
51         tail => 'options timeout:1 attempts:3 rotate',
52     }
53
54 License
55 -------
56
57 This program is free software; you can redistribute it and/or modify
58 it under the terms of the GNU General Public License version 3 as
59 published by the Free Software Foundation.