diff --git a/evomaintenance/tasks/install_vendor_openbsd.yml b/evomaintenance/tasks/install_vendor_openbsd.yml index 22600cd0..5aa019ff 100644 --- a/evomaintenance/tasks/install_vendor_openbsd.yml +++ b/evomaintenance/tasks/install_vendor_openbsd.yml @@ -45,3 +45,23 @@ force: "{{ evomaintenance_force_config | bool }}" tags: - evomaintenance + +- name: Copy mailevomaintenance + template: + src: mailevomaintenance.sh.j2 + dest: /usr/share/scripts/mailevomaintenance.sh + owner: root + group: wheel + mode: "0700" + tags: + - evomaintenance + +- name: Add mailevomaintenance cron + cron: + name: "mailevomaintenance" + job: "/usr/share/scripts/mailevomaintenance.sh" + minute: "50" + hour: "22" + disabled: yes + tags: + - mailevomaintenance diff --git a/evomaintenance/templates/mailevomaintenance.sh.j2 b/evomaintenance/templates/mailevomaintenance.sh.j2 new file mode 100644 index 00000000..d679ea5c --- /dev/null +++ b/evomaintenance/templates/mailevomaintenance.sh.j2 @@ -0,0 +1,28 @@ +#!/bin/sh + +set -eu + +cd /etc && _STATUS=$(/usr/local/bin/git status --porcelain) +[ -n "${_STATUS}" ] || exit 0 + +if [ -e /etc/realname ]; then + _HOSTNAME=$(/bin/cat /etc/realname) +else + _HOSTNAME=$(/bin/hostname) +fi + + +TMPFILE=$(/usr/bin/mktemp) || exit 1 +echo "Dear NOC,\n\nSome changes in /etc/ were not committed." >> $TMPFILE + +echo "" >> $TMPFILE +echo "${_STATUS}" >> $TMPFILE + +echo "" >> $TMPFILE +/usr/bin/last | head -n 10 >> $TMPFILE +echo "" >> $TMPFILE +echo "Please answer this mail to notify people when you've corrected the problem." >> $TMPFILE + +/bin/cat $TMPFILE | mail -s "Verif etc-git ${_HOSTNAME}" noc@{{ evomaintenance_realm }} + +/bin/rm $TMPFILE