diff --git a/.woodpecker.yml b/.woodpecker.yml index a30873e..2036eb1 100644 --- a/.woodpecker.yml +++ b/.woodpecker.yml @@ -1,34 +1,32 @@ pipeline: publish: image: plugins/docker - registry: registry.nulo.in - repo: registry.nulo.in/sutty/ruby - tags: - - ${ALPINE_VERSION}-${RUBY_VERSION}.${RUBY_PATCH} - - latest - build_args: - - RUBY_VERSION=${RUBY_VERSION} - - RUBY_PATCH=${RUBY_PATCH} - - ALPINE_VERSION=${ALPINE_VERSION} - - BASE_IMAGE=registry.nulo.in/sutty/monit - username: sutty + settings: + registry: registry.nulo.in + username: sutty + repo: registry.nulo.in/sutty/ruby + tags: + - ${ALPINE_VERSION}-${RUBY_VERSION}.${RUBY_PATCH} + - latest + build_args: + - RUBY_VERSION=${RUBY_VERSION} + - RUBY_PATCH=${RUBY_PATCH} + - ALPINE_VERSION=${ALPINE_VERSION} + - BASE_IMAGE=registry.nulo.in/sutty/monit + purge: false secrets: - docker_password - cache_from: registry.nulo.in/sutty/ruby:${ALPINE_VERSION}-${RUBY_VERSION}.${RUBY_PATCH} when: branch: antifascista event: push matrix: include: - - ALPINE_VERSION: 3.13.6 + - ALPINE_VERSION: 3.13.9 RUBY_VERSION: 2.7 RUBY_PATCH: 5 - - ALPINE_VERSION: 3.13.7 + - ALPINE_VERSION: 3.14.5 RUBY_VERSION: 2.7 RUBY_PATCH: 5 - - ALPINE_VERSION: 3.14.3 - RUBY_VERSION: 2.7 - RUBY_PATCH: 5 - - ALPINE_VERSION: 3.15.0 + - ALPINE_VERSION: 3.15.3 RUBY_VERSION: 3.0 RUBY_PATCH: 3 diff --git a/Dockerfile b/Dockerfile index 18deb4d..a02ce3f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,10 +1,8 @@ ARG ALPINE_VERSION=3.13.6 ARG BASE_IMAGE=alpine -ARG EMAIL=monit@sutty.nl FROM ${BASE_IMAGE}:${ALPINE_VERSION} as build ARG RUBY_VERSION=2.7 ARG RUBY_PATCH=5 -ENV EMAIL ${EMAIL:-monit@sutty.nl} RUN apk add --no-cache ruby~${RUBY_VERSION}.${RUBY_PATCH} patch diff --git a/monitrc b/monitrc index 80a42f4..40585f6 100644 --- a/monitrc +++ b/monitrc @@ -5,17 +5,16 @@ set pidfile /run/monit.pid set idfile /var/lib/monit/id set statefile /var/lib/monit/state set eventqueue basedir /var/lib/monit/events slots 100 -set mailserver postfix set limits { programoutput: 1 MB } -set alert @@EMAIL@@ - -set httpd port 2812 - allow localhost - allow 172.0.0.0/8 check program nsupdate with path "/usr/local/bin/nsupdate" every 1 cycle if status = 0 then unmonitor +check program zeroconf + with path "/usr/local/bin/zeroconf" + every 1 cycle + if status = 0 then unmonitor + include /etc/monit.d/*.conf diff --git a/zeroconf.conf b/zeroconf.conf new file mode 100644 index 0000000..6ecefda --- /dev/null +++ b/zeroconf.conf @@ -0,0 +1,16 @@ +set mmonit http://@@MMONIT@@/collector +set mailserver postfix port 25 using hostname @@HOSTNAME@@ + +set alert @@EMAIL@@ + +set mail-format { + from: Monit <@@EMAIL_FROM@@> + subject: $HOST + message: $ACTION $SERVICE -- $DATE: $DESCRIPTION. +} + +set httpd port 2812 + allow localhost + allow 172.0.0.0/8 + allow "fd00:acab::/32" + allow @@CREDENTIALS@@ diff --git a/zeroconf.sh b/zeroconf.sh new file mode 100755 index 0000000..79b64f3 --- /dev/null +++ b/zeroconf.sh @@ -0,0 +1,19 @@ +#!/bin/sh +set -e + +test ! -f /etc/monit.d/zeroconf.conf || exit 0 + +test -n "${EMAIL}" +test -n "${EMAIL_FROM}" +test -n "${MMONIT}" +test -n "${CREDENTIALS}" + +sed -re "s/@@EMAIL@@/${EMAIL}/" \ + -e "s/@@EMAIL_FROM@@/${EMAIL_FROM}/" \ + -e "s/@@HOSTNAME@@/${EMAIL_FROM#*@}/" \ + -e "s/@@MMONIT@@/${MMONIT}/" \ + -e "s/@@CREDENTIALS@@/${CREDENTIALS}/" \ + /etc/zeroconf.conf > /etc/monit.d/zeroconf.conf + +monit -t +monit reload