blob: e157644ea5db6d690ae85646152f680c4262304a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
- name: Fetch digitalocean_dyndns source
ansible.builtin.git:
repo: git://git.joeac.net/digitalocean_dyndns.git
dest: /usr/local/lib/digitalocean_dyndns
- name: Mark get_ip_addr.sh executable
ansible.builtin.file:
path: /usr/local/lib/digitalocean_dyndns/get_ip_addr.sh
owner: joeac.net
group: joeac.net
mode: "775"
- name: Mark dyndns.sh executable
ansible.builtin.file:
path: /usr/local/lib/digitalocean_dyndns/dyndns.sh
owner: joeac.net
group: joeac.net
mode: "775"
- name: Symlink get_ip_addr.sh
ansible.builtin.file:
src: /usr/local/lib/digitalocean_dyndns/get_ip_addr.sh
dest: /usr/bin/get_ip_addr.sh
owner: joeac.net
group: joeac.net
state: link
- name: Symlink dyndns.sh
ansible.builtin.file:
src: /usr/local/lib/digitalocean_dyndns/dyndns.sh
dest: /usr/bin/dyndns.sh
owner: joeac.net
group: joeac.net
state: link
- name: Create config directory
ansible.builtin.file:
path: /etc/digitalocean_dyndns
state: directory
mode: "644"
- name: Create cache directory
ansible.builtin.file:
path: /var/digitalocean_dyndns
state: directory
mode: "666"
- name: Create log directory
ansible.builtin.file:
path: /var/log/digitalocean_dyndns
state: directory
mode: "666"
- name: Copy DIGITALOCEAN_TOKEN
ansible.builtin.copy:
src: DIGITALOCEAN_TOKEN
dest: /etc/digitalocean_dyndns/DIGITALOCEAN_TOKEN
mode: "640"
- name: Install daily crontabs for dyndns (IPv4)
loop: "{{ subdomains | map(attribute='name') }}"
ansible.builtin.cron:
special_time: daily
name: daily crontab for dyndns for {{ item }}.joeac.net (IPv4)
job: CACHE_DIR=/var/digitalocean_dyndns CONFIG_DIR=/etc/digitalocean_dyndns dyndns.sh 4 {{ item }}.joeac.net >> /var/log/digitalocean_dyndns/{{ item }}.joeac.net.ipv4.log
- name: Install daily crontabs for dyndns (IPv6)
loop: "{{ subdomains | map(attribute='name') }}"
ansible.builtin.cron:
special_time: daily
name: daily crontab for dyndns for {{ item }}.joeac.net (IPv6)
job: CACHE_DIR=/var/digitalocean_dyndns CONFIG_DIR=/etc/digitalocean_dyndns CONN_DEVICE_NAME={{ ansible_facts.default_ipv4.alias }} dyndns.sh 6 {{ item }}.joeac.net >> /var/log/digitalocean_dyndns/{{ item }}.joeac.net.ipv6.log
|