Added initial version of ntpd module
This commit is contained in:
parent
a7c9df14b8
commit
e75b11402c
3 changed files with 118 additions and 0 deletions
80
ntpd/manifests/init.pp
Normal file
80
ntpd/manifests/init.pp
Normal file
|
@ -0,0 +1,80 @@
|
||||||
|
# Install and configure NTP daemon.
|
||||||
|
#
|
||||||
|
# === Global variables
|
||||||
|
#
|
||||||
|
# $ntp_server:
|
||||||
|
# Array of NTP servers.
|
||||||
|
#
|
||||||
|
class ntpd {
|
||||||
|
|
||||||
|
if !$ntp_server {
|
||||||
|
$ntp_server = ["pool.ntp.org"]
|
||||||
|
}
|
||||||
|
|
||||||
|
case $kernel {
|
||||||
|
linux: {
|
||||||
|
include ntpd::isc-ntpd
|
||||||
|
}
|
||||||
|
openbsd: {
|
||||||
|
include ntpd::openntpd
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Install and configure ISC NTP.
|
||||||
|
#
|
||||||
|
class ntpd::isc-ntpd {
|
||||||
|
|
||||||
|
package { "ntp":
|
||||||
|
ensure => installed,
|
||||||
|
}
|
||||||
|
|
||||||
|
file { "/etc/ntp.conf":
|
||||||
|
ensure => present,
|
||||||
|
mode => 0644,
|
||||||
|
owner => root,
|
||||||
|
group => root,
|
||||||
|
content => template("ntpd/ntp.conf.erb"),
|
||||||
|
require => Package["ntp"],
|
||||||
|
notify => Service["ntpd"],
|
||||||
|
}
|
||||||
|
|
||||||
|
service { "ntpd":
|
||||||
|
ensure => running,
|
||||||
|
enable => true,
|
||||||
|
name => $operatingsystem ? {
|
||||||
|
ubuntu => "ntp",
|
||||||
|
debian => "ntp",
|
||||||
|
default => "ntpd",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Install and configure OpenNTPD.
|
||||||
|
#
|
||||||
|
class ntpd::openntpd {
|
||||||
|
|
||||||
|
file { "/etc/ntpd.conf":
|
||||||
|
ensure => present,
|
||||||
|
mode => 0644,
|
||||||
|
owner => root,
|
||||||
|
group => wheel,
|
||||||
|
content => template("ntpd/openntpd.conf.erb"),
|
||||||
|
notify => Service["ntpd"],
|
||||||
|
}
|
||||||
|
|
||||||
|
service { "ntpd":
|
||||||
|
ensure => running,
|
||||||
|
enable => true,
|
||||||
|
binary => "ntpd",
|
||||||
|
start => "ntpd -s",
|
||||||
|
stop => "pkill -u _ntp",
|
||||||
|
status => "pgrep -u _ntp",
|
||||||
|
require => File["/etc/ntpd.conf"],
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
20
ntpd/templates/ntp.conf.erb
Normal file
20
ntpd/templates/ntp.conf.erb
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
# By default, exchange time with everybody, but don't allow configuration.
|
||||||
|
restrict -4 default kod notrap nomodify nopeer noquery
|
||||||
|
restrict -6 default kod notrap nomodify nopeer noquery
|
||||||
|
|
||||||
|
# Local users may interrogate the ntp server more closely.
|
||||||
|
restrict 127.0.0.1
|
||||||
|
restrict ::1
|
||||||
|
|
||||||
|
# Drift file.
|
||||||
|
driftfile /var/lib/ntp/ntp.drift
|
||||||
|
|
||||||
|
# Remote servers.
|
||||||
|
<% ntp_server.each do |server| -%>
|
||||||
|
server <%= server %>
|
||||||
|
<% end -%>
|
||||||
|
|
||||||
|
# Undisciplined Local Clock. This is a fake driver intended for backup
|
||||||
|
# and when no outside source of synchronized time is available.
|
||||||
|
server 127.127.1.0
|
||||||
|
fudge 127.127.1.0 stratum 10
|
18
ntpd/templates/openntpd.conf.erb
Normal file
18
ntpd/templates/openntpd.conf.erb
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
# sample ntpd configuration file, see ntpd.conf(5)
|
||||||
|
|
||||||
|
# Addresses to listen on (ntpd does not listen by default)
|
||||||
|
listen on *
|
||||||
|
|
||||||
|
# sync to a single server
|
||||||
|
#server ntp.example.org
|
||||||
|
|
||||||
|
# use a random selection of NTP Pool Time Servers
|
||||||
|
<% ntp_server.each do |server| -%>
|
||||||
|
servers <%= server %>
|
||||||
|
<% end -%>
|
||||||
|
|
||||||
|
# use a specific local timedelta sensor (radio clock, etc)
|
||||||
|
#sensor nmea0
|
||||||
|
|
||||||
|
# use all detected timedelta sensors
|
||||||
|
#sensor *
|
Loading…
Add table
Reference in a new issue