diff --git a/defaults/main.yml b/defaults/main.yml index 044de6b..c06d8fd 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -5,5 +5,6 @@ privatekey: '' interface_name: wg0 server_publickey: '' server_address: '192.168.2.1' +ping_schedule: 1h endpoint: '' -dns: '1.1.1.1' \ No newline at end of file +dns: '1.1.1.1' diff --git a/tasks/configure.yml b/tasks/configure.yml index 59cb306..4f60444 100644 --- a/tasks/configure.yml +++ b/tasks/configure.yml @@ -47,6 +47,34 @@ - name: Ensure cron to ping VPN server exists cron: name: Ping Hiljainen + state: absent job: ping -c 3 192.168.2.4 &> /dev/null hour: '1' user: gestor + +- name: Ensure service unit to ping server exists + template: + src: templates/ping_wg_server.service.j2 + dest: '/etc/systemd/system/ping_wg_server.service' + backup: yes + +- name: Ensure timer unit to ping server exists + template: + src: templates/ping_wg_server.timer.j2 + dest: '/etc/systemd/system/ping_wg_server.timer' + backup: yes + +- name: Ensure ping systemd service unit is enabled + systemd: + name: ping_wg_server.service + enabled: true + daemon_reload: true + masked: false + +- name: Ensure ping systemd timer unit is enabled + systemd: + name: ping_wg_server.timer + state: started + enabled: true + daemon_reload: true + masked: false diff --git a/templates/ping_wg_server.service.j2 b/templates/ping_wg_server.service.j2 new file mode 100644 index 0000000..7d86e59 --- /dev/null +++ b/templates/ping_wg_server.service.j2 @@ -0,0 +1,13 @@ +[Unit] +After=network.target +Wants=nss-lookup.target +Before=nss-lookup.target +OnFailure=status_email_antoniodelgado@%n.service + +[Service] +Type=simple +User=gestor +ExecStart=ping -c 3 {{ server_address }} + +[Install] +WantedBy=multi-user.target diff --git a/templates/ping_wg_server.timer.j2 b/templates/ping_wg_server.timer.j2 new file mode 100644 index 0000000..6b3e55d --- /dev/null +++ b/templates/ping_wg_server.timer.j2 @@ -0,0 +1,7 @@ +[Timer] +OnBootSec={{ ping_schedule }} +OnUnitActiveSec={{ ping_schedule }} +Unit=ping_wg_server.service + +[Install] +WantedBy=timers.target