diff --git a/roles/services/handlers/main.yaml b/roles/services/handlers/main.yaml index ccb98cb..67870bf 100644 --- a/roles/services/handlers/main.yaml +++ b/roles/services/handlers/main.yaml @@ -13,6 +13,12 @@ state: restarted daemon_reload: true +- name: restart irc-photos + systemd: + name: irc-photos + state: restarted + daemon_reload: true + - name: restart discord-bot systemd: name: discord-bot diff --git a/roles/services/tasks/ircbot.yaml b/roles/services/tasks/ircbot.yaml index d936c66..3a75eb4 100644 --- a/roles/services/tasks/ircbot.yaml +++ b/roles/services/tasks/ircbot.yaml @@ -28,3 +28,33 @@ state: started enabled: yes daemon_reload: true + +- name: Create helpers dir + file: + path: /var/lib/irc-helpers + state: directory + +- name: Install photos notification + template: + src: irc-photos.sh + dest: /var/lib/irc-helpers/photos.sh + owner: root + group: root + mode: 0755 + notify: restart irc-photos + +- name: Install photos notification service + template: + src: irc-photos.service + dest: /etc/systemd/system/irc-photos.service + owner: root + group: root + mode: 0644 + notify: restart irc-photos + +- name: Start irc-photos + systemd: + name: irc-photos + state: started + enabled: yes + daemon_reload: true diff --git a/roles/services/templates/irc-photos.service b/roles/services/templates/irc-photos.service new file mode 100644 index 0000000..2a6c73f --- /dev/null +++ b/roles/services/templates/irc-photos.service @@ -0,0 +1,16 @@ +# Managed by Ansible + +[Unit] +Description=Bitlair IRC photos notification +After=network.target +Requires=irc-bot.service + +[Service] +Type=simple +ExecStart=/bin/bash /var/lib/irc-helpers/photos.sh +Restart=on-failure +RestartSec=10s +DynamicUser=true + +[Install] +WantedBy=multi-user.target diff --git a/roles/services/templates/irc-photos.sh b/roles/services/templates/irc-photos.sh new file mode 100644 index 0000000..d41c348 --- /dev/null +++ b/roles/services/templates/irc-photos.sh @@ -0,0 +1,13 @@ +#!/bin/basho + +# Managed by Ansible + +set -eu +set -o pipefail + +mqtt-simple -h mqtt.bitlair.nl -s "bitlair/photos" | + while read event; do + path=$(echo $event | cut -d ' ' -f 2) + url="https://bitlair.nl/fotos/view/$path" + irc-say "WIP: $url" + done