diff --git a/handlers/main.yml b/handlers/main.yml index b745bf942311bc8a6f00fa4379b33eba02cb0f5f..ea0a78b9c42a54a96e825ac847cfcf84d2cb5b73 100644 --- a/handlers/main.yml +++ b/handlers/main.yml @@ -23,3 +23,14 @@ service: name: collectd state: restarted + +- name: Restart ntpd + service: + name: '{{ "ntpd" if ansible_os_family == "OpenBSD" else omit }}' + name: '{{ "ntp" if ansible_os_family == "Debian" else omit }}' + state: restarted + +- name: Restart systemd-timesyncd + service: + name: systemd-timesyncd + state: restarted diff --git a/tasks/ntp.yml b/tasks/ntp.yml index e03b0870494e38bdb97d494c0ad1e8bd198c2b96..795141b4c8bb0c77ab72e830783b9c40c0da2ff2 100644 --- a/tasks/ntp.yml +++ b/tasks/ntp.yml @@ -3,3 +3,9 @@ - name: Assert assert: that: ansible_os_family in [ 'Debian', 'OpenBSD' ] + +- include: ntp_OpenBSD.yml + when: ansible_os_family == 'OpenBSD' or not ansible_init == 'systemd' + +- include: systemd-timesyncd.yml + when: ansible_os_family == 'Debian' and ansible_init == 'systemd' diff --git a/tasks/ntpd.yml b/tasks/ntpd.yml new file mode 100644 index 0000000000000000000000000000000000000000..302b11bf3145a25929f8b8d185739e5c66fe9f8a --- /dev/null +++ b/tasks/ntpd.yml @@ -0,0 +1,34 @@ +--- + +- assert: + that: ansible_os_family in [ 'Debian', 'OpenBSD' ] + +- name: apt install ntpd + when: ansible_pkg_mgr == 'apt' + apt: + name: ntp + state: present + update_cache: yes + cache_valid_time: 3600 + +- name: Configure ntpd + lineinfile: + line: '{{ "servers pool.ntp.org" if ansible_os_family == "OpenBSD" else omit }}' + line: '{{ "server debian.pool.ntp.org" if ansible_os_family == "OpenBSD" else omit }}' + regexp: '{{ "^servers " if ansible_os_family == "OpenBSD" else omit }}' + regexp: '{{ "^server " if ansible_os_family == "Debian" else omit }}' + dest: '{{ "/etc/ntpd.conf" if ansible_os_family == "OpenBSD" else omit }}' + dest: '{{ "/etc/ntp.conf" if ansible_os_family == "Debian" else omit }}' + create: yes + owner: root + group: wheel + mode: '0644' + notify: + - Restart ntpd + +- name: Enable ntpd + service: + name: '{{ "ntpd" if ansible_os_family == "OpenBSD" else omit }}' + name: '{{ "ntp" if ansible_os_family == "Debian" else omit }}' + enabled: yes + state: started diff --git a/tasks/systemd-timesyncd.yml b/tasks/systemd-timesyncd.yml new file mode 100644 index 0000000000000000000000000000000000000000..d3e7429ba3388a471fc41e4779811bba14037e50 --- /dev/null +++ b/tasks/systemd-timesyncd.yml @@ -0,0 +1,16 @@ +--- + +- name: Configure systemd-timesyncd + lineinfile: + dest: /etc/systemd/timesyncd.conf + line: 'NTP=0.debian.pool.ntp.org 1.debian.pool.ntp.org 2.debian.pool.ntp.org 3.debian.pool.ntp.org' + regexp: '^NTP=' + state: present + notify: + - 'Restart systemd-timesyncd' + +- name: Enable systemd-timesyncd + service: + name: systemd-timesyncd + enabled: yes + state: started