aboutsummaryrefslogtreecommitdiff
path: root/roles/ddclient
diff options
context:
space:
mode:
Diffstat (limited to 'roles/ddclient')
-rw-r--r--roles/ddclient/defaults/main.yaml2
-rw-r--r--roles/ddclient/handlers/main.yaml7
-rw-r--r--roles/ddclient/tasks/main.yaml22
-rw-r--r--roles/ddclient/templates/ddclient.conf.j29
4 files changed, 40 insertions, 0 deletions
diff --git a/roles/ddclient/defaults/main.yaml b/roles/ddclient/defaults/main.yaml
new file mode 100644
index 0000000..9a163d4
--- /dev/null
+++ b/roles/ddclient/defaults/main.yaml
@@ -0,0 +1,2 @@
+# Default Values
+---
diff --git a/roles/ddclient/handlers/main.yaml b/roles/ddclient/handlers/main.yaml
new file mode 100644
index 0000000..be19365
--- /dev/null
+++ b/roles/ddclient/handlers/main.yaml
@@ -0,0 +1,7 @@
+---
+
+- name: 'Restart ddclient'
+ systemd:
+ name: 'ddclient'
+ state: 'restarted'
+ listen: 'restart ddclient'
diff --git a/roles/ddclient/tasks/main.yaml b/roles/ddclient/tasks/main.yaml
new file mode 100644
index 0000000..8deffc2
--- /dev/null
+++ b/roles/ddclient/tasks/main.yaml
@@ -0,0 +1,22 @@
+# https://notthebe.ee/raspi.html
+---
+
+- name: 'Install required apt packages'
+ apt:
+ name:
+ - 'ddclient'
+ state: 'present'
+ update_cache: true
+
+- name: 'Update ddclient conf'
+ template:
+ dest: '/etc/ddclient.conf'
+ src: 'ddclient.conf.j2'
+ mode: '644'
+ notify: 'restart ddclient'
+
+- name: 'Start ddclient'
+ systemd:
+ name: 'ddclient'
+ state: 'started'
+ enabled: true
diff --git a/roles/ddclient/templates/ddclient.conf.j2 b/roles/ddclient/templates/ddclient.conf.j2
new file mode 100644
index 0000000..99dab47
--- /dev/null
+++ b/roles/ddclient/templates/ddclient.conf.j2
@@ -0,0 +1,9 @@
+# {{ ansible_managed }}
+#
+# /etc/ddclient.conf
+
+protocol={{ ddclient_proto }} \
+use=web, web=https://freedns.afraid.org/dynamic/check.php \
+login={{ ddclient_user }} \
+password='{{ ddclient_password }}' \
+{{ ddclient_domain }}