summaryrefslogtreecommitdiff
path: root/roles/dyndns/client/tasks/main.yml
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2019-01-12 03:30:30 +0100
committerChristian Pointner <equinox@spreadspace.org>2019-01-12 03:30:30 +0100
commit83e27ac758c38ffd9931ef8830e0256e772e5881 (patch)
tree69c9637f488f5db46bacd6b0c47705e4c0309a9e /roles/dyndns/client/tasks/main.yml
parentelevate/media: minor cleanup and fixes (diff)
added dyndns client role
Diffstat (limited to 'roles/dyndns/client/tasks/main.yml')
-rw-r--r--roles/dyndns/client/tasks/main.yml60
1 files changed, 60 insertions, 0 deletions
diff --git a/roles/dyndns/client/tasks/main.yml b/roles/dyndns/client/tasks/main.yml
new file mode 100644
index 00000000..81f74936
--- /dev/null
+++ b/roles/dyndns/client/tasks/main.yml
@@ -0,0 +1,60 @@
+---
+- name: create user for dyndns
+ user:
+ name: dyndns
+ home: /var/lib/dyndns
+ system: yes
+ shell: /bin/false
+ generate_ssh_key: yes
+ ssh_key_type: ed25519
+ ssh_key_comment: "dyndns@{{ host_name }}.{{ host_domain }}"
+ register: dyndns_user
+
+- name: install ssh key on server
+ delegate_to: "{{ dyndns_server }}"
+ lineinfile:
+ path: /var/lib/dyndns/.ssh/authorized_keys
+ mode: 0600
+ regexp: 'command="/usr/local/bin/dyndns.py {{ dyndns_client_name }}"'
+ line: 'no-agent-forwarding,no-port-forwarding,no-pty,no-X11-forwarding,no-user-rc,command="/usr/local/bin/dyndns.py {{ dyndns_client_name }}" {{ dyndns_user.ssh_public_key }}'
+
+- name: install ssh config
+ template:
+ src: ssh_config.j2
+ dest: /var/lib/dyndns/.ssh/config
+ owner: dyndns
+ group: dyndns
+
+
+ ## TODO: fix me!!!
+- name: hack to make known_hosts work (1/2)
+ command: "ssh-keyscan -p {{ hostvars[dyndns_server].ansible_port }} {{ hostvars[dyndns_server].host_name }}.{{ hostvars[dyndns_server].host_domain }}"
+ args:
+ creates: /var/lib/dyndns/.ssh/known_hosts
+ changed_when: False
+ check_mode: False
+ register: dyndns_ssh_keyscan
+
+- name: hack to make known_hosts work (1/2)
+ copy:
+ content: "{{ dyndns_ssh_keyscan.stdout }}"
+ dest: /var/lib/dyndns/.ssh/known_hosts
+ owner: dyndns
+ group: dyndns
+ # fix me
+
+
+- name: install systemd uints
+ template:
+ src: "dyndns.{{ item }}.j2"
+ dest: "/etc/systemd/system/dyndns.{{ item }}"
+ with_items:
+ - service
+ - timer
+
+- name: make sure the systemd timer is enabled and running
+ systemd:
+ daemon_reload: yes
+ name: dyndns.timer
+ enabled: yes
+ state: started