diff options
Diffstat (limited to 'roles')
| -rw-r--r-- | roles/domain-zone-management/tasks/main.yml | 6 | ||||
| -rwxr-xr-x | roles/domain-zone-management/templates/update_ovhcloud_domain_zone | 2 | ||||
| -rw-r--r-- | roles/dyndns/tasks/main.yml | 9 | ||||
| -rw-r--r-- | roles/gonic/tasks/main.yml | 53 | ||||
| -rw-r--r-- | roles/gonic/templates/openrc/gonic | 31 | ||||
| -rw-r--r-- | roles/mox/files/mox.zone | 21 | ||||
| -rw-r--r-- | roles/mox/tasks/main.yml | 11 |
7 files changed, 127 insertions, 6 deletions
diff --git a/roles/domain-zone-management/tasks/main.yml b/roles/domain-zone-management/tasks/main.yml index c3592e4..e80394b 100644 --- a/roles/domain-zone-management/tasks/main.yml +++ b/roles/domain-zone-management/tasks/main.yml @@ -32,3 +32,9 @@ src: update_ovhcloud_domain_zone dest: /usr/bin/update_ovhcloud_domain_zone mode: "755" + +- name: Install daily crontabs for domain zone management + ansible.builtin.cron: + special_time: daily + name: daily crontab for domain zone management + job: update_ovhcloud_domain_zone >> {{ ovh_domain_zone_log_directory }}/cron.log diff --git a/roles/domain-zone-management/templates/update_ovhcloud_domain_zone b/roles/domain-zone-management/templates/update_ovhcloud_domain_zone index dfeac61..669f384 100755 --- a/roles/domain-zone-management/templates/update_ovhcloud_domain_zone +++ b/roles/domain-zone-management/templates/update_ovhcloud_domain_zone @@ -11,7 +11,7 @@ mkdir -p ${REPLACE_RECORDS_DIR} cut_nth_word() { - echo "$1" | cut -d ' ' -f "$2" + echo "$1" | sed "s/ \+/ /g" | cut -d ' ' -f "$2" } get_record_subdomain() diff --git a/roles/dyndns/tasks/main.yml b/roles/dyndns/tasks/main.yml index 9547f1a..f8b42d4 100644 --- a/roles/dyndns/tasks/main.yml +++ b/roles/dyndns/tasks/main.yml @@ -1,11 +1,10 @@ - name: Install DynDNS zone file + register: dyndns_zone_file ansible.builtin.template: src: dyndns.zone dest: "{{ ovh_domain_zone_replace_records_directory }}/dyndns.zone" mode: "644" -- name: Install daily crontabs for DynDNS - ansible.builtin.cron: - special_time: daily - name: daily crontab for DynDNS - job: update_ovhcloud_domain_zone >> {{ ovh_domain_zone_log_directory }}/cron.log +- name: Refresh ovhcloud domain zone + when: dyndns_zone_file is changed + ansible.builtin.command: update_ovhcloud_domain_zone diff --git a/roles/gonic/tasks/main.yml b/roles/gonic/tasks/main.yml new file mode 100644 index 0000000..10832c0 --- /dev/null +++ b/roles/gonic/tasks/main.yml @@ -0,0 +1,53 @@ +- name: Install gonic + community.general.apk: + name: gonic + +- name: Create music folder + ansible.builtin.file: + path: /media/seagate/music + state: directory + +- name: Create podcasts folder + ansible.builtin.file: + path: /media/seagate/podcasts + state: directory + +- name: Create playlists folder + ansible.builtin.file: + path: /media/seagate/playlists + state: directory + +- name: Create cache folder + ansible.builtin.file: + path: /var/gonic/cache + state: directory + +- name: Symlink music folder to /srv + ansible.builtin.file: + src: /media/seagate/music + dest: /srv/music + state: link + +- name: Symlink podcasts folder to /srv + ansible.builtin.file: + src: /media/seagate/podcasts + dest: /srv/podcasts + state: link + +- name: Symlink playlists folder to /srv + ansible.builtin.file: + src: /media/seagate/playlists + dest: /srv/playlists + state: link + +- name: Add gonic service + ansible.builtin.template: + src: openrc/gonic + dest: /etc/init.d/gonic + mode: "755" + +- name: Enable and restart gonic service + ansible.builtin.service: + name: gonic + enabled: true + state: restarted diff --git a/roles/gonic/templates/openrc/gonic b/roles/gonic/templates/openrc/gonic new file mode 100644 index 0000000..fa380b3 --- /dev/null +++ b/roles/gonic/templates/openrc/gonic @@ -0,0 +1,31 @@ +#!/sbin/openrc-run + +description="Run gonic" + +start() +{ + ebegin "Starting gonic" + start-stop-daemon --start \ + --exec /usr/bin/gonic \ + --background \ + --chdir ~mox \ + --stdout /var/log/gonic.log \ + --stderr /var/log/gonic.log \ + --make-pidfile \ + --pidfile /run/gonic.pid \ + -- -music-path /srv/music \ + -playlists-path /srv/playlists \ + -podcast-path /srv/podcasts \ + -cache-path /var/gonic/cache \ + -listen-addr "0.0.0.0:{{ services.gonic.port }}" + eend $? +} + +stop() +{ + ebegin "Stopping gonic" + start-stop-daemon --stop \ + --exec /usr/bingonicmox \ + --pidfile /run/gonic.pid + eend $? +} diff --git a/roles/mox/files/mox.zone b/roles/mox/files/mox.zone new file mode 100644 index 0000000..b0d382e --- /dev/null +++ b/roles/mox/files/mox.zone @@ -0,0 +1,21 @@ +2026a._domainkey.mail DKIM v=DKIM1;h=sha256;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvYfjrzmYgBtYofzBwI80aiW98+M2g6z+gd1Iwz9g0y30rPFNTctFn9GwBNuYBgZiZxB+sqjEbPMbr3li/R7i0A9t/KbNNJhkNC+4IjKJjk+jw1CXm4vXOUa4YSYWwy7NVYTH/QwZGz6fwjVM7YvDnnE4gG2NwrVx+AXlONt2R1G+qgV6HAIIvVi8T0yCjjqEc5B5bKlqk0XU9vSyUFJhhKnR/KNRe79C+H9GWJzcU7HUCmIHX04Xi0JeB/wm3weF1xjtGTsWyy5BmHHsfWGqSr2Dbg5o6AI5W0h4VkQ4QzdEYGVQ9ZBDyqFQwQFXLn0oHZjCD/vFzPOPdM5pxF/OgwIDAQAB 3600 +2026b._domainkey.mail DKIM v=DKIM1;h=sha256;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzcrk9FUt6AdrvnAP3KawuOTLw7uL5SJ+ZYmShuz41zwM6bPQteGSSwddFXIxcqVlJrdFahrK4KvHX/sw/hWVfZoPLDdwsGN5eI8cqQjNDE+JDu9BbPlTituva4Hkve0hbAKDqA8jmbcZg6aU7b44Kzq8UpWAlPO273Rq2tsbCBcITt8B3NFoeY9CSsZU1LqGl855GUtaNyhlPaAvfab3Q9/4wyusPhCHlBYaRK+ZzuSMs5KEOG6n4kbZfMVi2+4c/bPU5PdTuyvbSIEqjNH4TpfatE0I9ubGv0WbAzr5EZbv5+xtukZ/dIisPPMjn1AbjpSJYNYr2OYgey6+WvzRmQIDAQAB 3600 +_autodiscover._tcp.mail SRV 0 1 443 mail 3600 +_dmarc.mail TXT "v=DMARC1;p=reject;rua=mailto:dmarcreports@mail.joeac.net!10m" 3600 +_imaps._tcp.mail SRV 0 1 993 mail 3600 +_mta-sts.mail TXT "v=STSv1; id=20260705T153220" 3600 +_smtp._tls.mail TXT "v=TLSRPTv1; rua=mailto:tlsreports@mail.joeac.net" 3600 +_submissions._tcp.mail SRV 0 1 465 mail 3600 +autoconfig.mail CNAME mail.joeac.net. 3600 +clientsettings.mail CNAME mail.joeac.net. 3600 +mail MX 10 mail 3600 +mail A 217.155.190.42 3600 +mail AAAA 2a02:8013:79ba:1:2e0:4cff:fe61:9b17 3600 +mail SPF v=spf1 ip4:217.155.190.42 ip6:2a02:8013:79ba:1:2e0:4cff:fe61:9b17 mx ~all 3600 +mta-sts.mail CNAME mail.joeac.net. 3600 +_imap._tcp.mail SRV 0 0 0 . 3600 +_submission._tcp.mail SRV 0 0 0 . 3600 +_pop3._tcp.mail SRV 0 0 0 . 3600 +_pop3s._tcp.mail SRV 0 0 0 . 3600 +mail CAA 0 issue "letsencrypt.org" 3600 +@ CAA 0 issue "letsencrypt.org" 3600 diff --git a/roles/mox/tasks/main.yml b/roles/mox/tasks/main.yml index ac4a43c..496ca23 100644 --- a/roles/mox/tasks/main.yml +++ b/roles/mox/tasks/main.yml @@ -165,3 +165,14 @@ special_time: daily name: Update mox job: /usr/bin/update_mox + +- name: Install mox.zone + register: mox_zone_file + ansible.builtin.copy: + src: mox.zone + dest: "{{ ovh_domain_zone_replace_records_directory }}/mox.zone" + mode: "644" + +- name: Refresh ovhcloud domain zone + when: mox_zone_file is changed + ansible.builtin.shell: update_ovhcloud_domain_zone |
