diff options
author | Ashley Penney <ashley.penney@puppetlabs.com> | 2013-07-29 16:02:50 -0400 |
---|---|---|
committer | Ashley Penney <ashley.penney@puppetlabs.com> | 2013-07-29 17:09:26 -0400 |
commit | 0235486d2d6de477bfa93487b03e6ca37cb2d24c (patch) | |
tree | 7a8e7e1efcf0ce72382182661b9e7c581d7b67fa /manifests | |
parent | c5408ae4b17bc3b395b13d10c9473e15661d2d38 (diff) |
Add new parameters to allow more flexible configuration.
`driftfile` [String]: Allows the setting of the driftfile location.
`keys_enable` [Boolean]: Should the ntp keys option be enabled?
`keys_file` [String]: Where are the keys stored?
`keys_trusted` [Array]: List of keys to trust.
`keys_requestkey` [String]: Request key to use.
`keys_controlkey` [String]: Control key to use.
If keys_enable is set then the directory that keysfile is stored in is
created (recursively). Currently we don't manage the keys file but that
is an option to be added.
Diffstat (limited to 'manifests')
-rw-r--r-- | manifests/config.pp | 17 | ||||
-rw-r--r-- | manifests/init.pp | 23 | ||||
-rw-r--r-- | manifests/params.pp | 41 |
3 files changed, 66 insertions, 15 deletions
diff --git a/manifests/config.pp b/manifests/config.pp index 0a4a710..45279be 100644 --- a/manifests/config.pp +++ b/manifests/config.pp @@ -1,11 +1,28 @@ class ntp::config ( $config = $ntp::config, $config_template = $ntp::config_template, + $driftfile = $ntp::driftfile, + $keys_enable = $ntp::keys_enable, + $keys_file = $ntp::keys_file, + $keys_controlkey = $ntp::keys_controlkey, + $keys_requestkey = $ntp::keys_requestkey, + $keys_trusted = $ntp::keys_trusted, $panic = $ntp::panic, $restrict = $ntp::restrict, $servers = $ntp::servers, ) inherits ntp { + if $keys_enable { + $directory = dirname($keys_file) + file { $directory: + ensure => directory, + owner => 0, + group => 0, + mode => '0755', + recurse => true, + } + } + file { $config: ensure => file, owner => 0, diff --git a/manifests/init.pp b/manifests/init.pp index 61a5ad9..d406fb3 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -2,6 +2,12 @@ class ntp ( $autoupdate = $ntp::params::autoupdate, $config = $ntp::params::config, $config_template = $ntp::params::config_template, + $driftfile = $ntp::params::driftfile, + $keys_enable = $ntp::params::keys_enable, + $keys_file = $ntp::params::keys_file, + $keys_controlkey = $ntp::params::keys_controlkey, + $keys_requestkey = $ntp::params::keys_requestkey, + $keys_trusted = $ntp::params::keys_trusted, $package_ensure = $ntp::params::package_ensure, $package_name = $ntp::params::package_name, $panic = $ntp::params::panic, @@ -13,6 +19,23 @@ class ntp ( $service_name = $ntp::params::service_name, ) inherits ntp::params { + validate_absolute_path($config) + validate_string($config_template) + validate_absolute_path($driftfile) + validate_bool($keys_enable) + validate_re($keys_controlkey, ['^\d+$', '']) + validate_re($keys_requestkey, ['^\d+$', '']) + validate_array($keys_trusted) + validate_string($package_ensure) + validate_array($package_name) + validate_bool($panic) + validate_bool($restrict) + validate_array($servers) + validate_bool($service_enable) + validate_string($service_ensure) + validate_bool($service_manage) + validate_string($service_name) + if $autoupdate { notice('autoupdate parameter has been deprecated and replaced with package_ensure. Set this to latest for the same behavior as autoupdate => true.') } diff --git a/manifests/params.pp b/manifests/params.pp index 45551a8..9e91cce 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -1,22 +1,28 @@ class ntp::params { - $autoupdate = false - $package_ensure = 'present' - $restrict = true - $service_enable = true - $service_ensure = 'running' - $service_manage = true + $autoupdate = false + $config_template = 'ntp/ntp.conf.erb' + $keys_enable = false + $keys_controlkey = '' + $keys_requestkey = '' + $keys_trusted = [] + $package_ensure = 'present' + $restrict = true + $service_enable = true + $service_ensure = 'running' + $service_manage = true # On virtual machines allow large clock skews. - $panic = $::is_virtual ? { - 'true' => false, + $panic = str2bool($::is_virtual) ? { + true => false, default => true, } case $::osfamily { 'Debian': { $config = '/etc/ntp.conf' - $config_template = 'ntp/ntp.conf.debian.erb' + $keysfile = '/etc/ntp/keys' + $driftfile = '/var/lib/ntp/drift' $package_name = [ 'ntp' ] $service_name = 'ntp' $servers = [ @@ -28,7 +34,8 @@ class ntp::params { } 'RedHat': { $config = '/etc/ntp.conf' - $config_template = 'ntp/ntp.conf.el.erb' + $driftfile = '/var/lib/ntp/drift' + $keysfile = '/etc/ntp/keys' $package_name = [ 'ntp' ] $service_name = 'ntpd' $servers = [ @@ -39,7 +46,8 @@ class ntp::params { } 'SuSE': { $config = '/etc/ntp.conf' - $config_template = 'ntp/ntp.conf.suse.erb' + $driftfile = '/var/lib/ntp/drift/ntp.drift' + $keysfile = '/etc/ntp/keys' $package_name = [ 'ntp' ] $service_name = 'ntp' $servers = [ @@ -51,7 +59,8 @@ class ntp::params { } 'FreeBSD': { $config = '/etc/ntp.conf' - $config_template = 'ntp/ntp.conf.freebsd.erb' + $driftfile = '/var/db/ntpd.drift' + $keysfile = '/etc/ntp/keys' $package_name = ['net/ntp'] $service_name = 'ntpd' $servers = [ @@ -63,8 +72,9 @@ class ntp::params { } 'Archlinux': { $config = '/etc/ntp.conf' - $config_template = 'ntp/ntp.conf.archlinux.erb' - $package_name = ['ntp'] + $driftfile = '/var/lib/ntp/drift' + $keysfile = '/etc/ntp/keys' + $package_name = [ 'ntp' ] $service_name = 'ntpd' $servers = [ '0.pool.ntp.org', @@ -77,7 +87,8 @@ class ntp::params { case $::operatingsystem { 'Gentoo': { $config = '/etc/ntp.conf' - $config_template = 'ntp/ntp.conf.gentoo.erb' + $driftfile = '/var/lib/ntp/drift' + $keysfile = '/etc/ntp/keys' $package_name = ['net-misc/ntp'] $service_name = 'ntpd' $servers = [ |