diff --git a/roles/set_timezone/README.md b/roles/set_timezone/README.md new file mode 100644 index 0000000000000000000000000000000000000000..43cb094b917b7d2cab5ec357b4de67fa9496ba7c --- /dev/null +++ b/roles/set_timezone/README.md @@ -0,0 +1,13 @@ +This role sets the timezone on the desired server. +- installs a templated file into /etc/ntp.conf. The variable NTP_SERVER sets the ntp server + - NTP_SERVER defaults to ntp.monash.edu.au +- starts and enables the ntpd process +- Makes a link from /etc/localtime state=link to path defined by Variable TIMEZONE_PATH + - TIMEZONE_PATH defaults to /usr/share/zoneinfo/Australia/Melbourne + + +Example of use +- { role: set_timezone } #sets to Melbourne time +- { role: set_timezone, TIMEZONE_PATH: "/usr/share/zoneinfo/Australia/Perth" } #sets to Perth time +- { role: set_timezone, TIMEZONE_PATH: "/usr/share/zoneinfo/Australia/Perth", NTP_SERVER: "time.google.com" } #sets to Perth time and using google ntp server + diff --git a/roles/set_timezone/tasks/main.yml b/roles/set_timezone/tasks/main.yml new file mode 100644 index 0000000000000000000000000000000000000000..177969103af146ee970584e774bf2d4731209e77 --- /dev/null +++ b/roles/set_timezone/tasks/main.yml @@ -0,0 +1,20 @@ +--- +- name: install ntp.conf + template: src=ntp.conf.j2 dest=/etc/ntp.conf mode=644 owner=root group=root + become: true + become_user: root + +- name: restart ntpd + service: name=ntpd state=restarted + become: true + become_user: root + +- name: ensure ntpd is enabled and started + service: name=ntpd state=started enabled=yes + become: true + become_user: root + +- name: set local timezone + file: path=/etc/localtime state=link src={{ TIMEZONE_PATH }} + become: true + become_user: root diff --git a/roles/set_timezone/templates/ntp.conf.j2 b/roles/set_timezone/templates/ntp.conf.j2 new file mode 100644 index 0000000000000000000000000000000000000000..2717f9824e405f016299c2c292aeafd6dfe1cccb --- /dev/null +++ b/roles/set_timezone/templates/ntp.conf.j2 @@ -0,0 +1,55 @@ +# For more information about this file, see the man pages +# ntp.conf(5), ntp_acc(5), ntp_auth(5), ntp_clock(5), ntp_misc(5), ntp_mon(5). + +driftfile /var/lib/ntp/drift + +# Permit time synchronization with our time source, but do not +# permit the source to query or modify the service on this system. +restrict default nomodify notrap nopeer noquery + +# Permit all access over the loopback interface. This could +# be tightened as well, but to do so would effect some of +# the administrative functions. +restrict 127.0.0.1 +restrict ::1 + +# Hosts on local network are less restricted. +#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap + +# Use public servers from the pool.ntp.org project. +# Please consider joining the pool (http://www.pool.ntp.org/join.html). +server {{ NTP_SERVER }} + +#broadcast 192.168.1.255 autokey # broadcast server +#broadcastclient # broadcast client +#broadcast 224.0.1.1 autokey # multicast server +#multicastclient 224.0.1.1 # multicast client +#manycastserver 239.255.254.254 # manycast server +#manycastclient 239.255.254.254 autokey # manycast client + +# Enable public key cryptography. +#crypto + +includefile /etc/ntp/crypto/pw + +# Key file containing the keys and key identifiers used when operating +# with symmetric key cryptography. +keys /etc/ntp/keys + +# Specify the key identifiers which are trusted. +#trustedkey 4 8 42 + +# Specify the key identifier to use with the ntpdc utility. +#requestkey 8 + +# Specify the key identifier to use with the ntpq utility. +#controlkey 8 + +# Enable writing of statistics records. +#statistics clockstats cryptostats loopstats peerstats + +# Disable the monitoring facility to prevent amplification attacks using ntpdc +# monlist command when default restrict does not include the noquery flag. See +# CVE-2013-5211 for more details. +# Note: Monitoring will not be disabled with the limited restriction flag. +disable monitor diff --git a/roles/set_timezone/vars/main.yml b/roles/set_timezone/vars/main.yml new file mode 100644 index 0000000000000000000000000000000000000000..65f16b25f13e746fe3185f2f9789cf09367b79ae --- /dev/null +++ b/roles/set_timezone/vars/main.yml @@ -0,0 +1,3 @@ +--- +TIMEZONE_PATH: "/usr/share/zoneinfo/Australia/Melbourne" +NTP_SERVER: "ntp.monash.edu.au"