Compare commits
No commits in common. "antifascista" and "30731652e3fe313e345a0e011d87a1a006f10ace" have entirely different histories.
antifascis
...
30731652e3
10 changed files with 53 additions and 116 deletions
11
.gitlab-ci.yml
Normal file
11
.gitlab-ci.yml
Normal file
|
@ -0,0 +1,11 @@
|
|||
stages:
|
||||
- build
|
||||
|
||||
build:
|
||||
stage: build
|
||||
image:
|
||||
name: gcr.io/kaniko-project/executor:debug
|
||||
entrypoint: [""]
|
||||
script:
|
||||
- echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json
|
||||
- /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --destination $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA --destination $CI_REGISTRY_IMAGE:latest
|
|
@ -1,25 +1,22 @@
|
|||
steps:
|
||||
pipeline:
|
||||
publish:
|
||||
image: "docker.io/woodpeckerci/plugin-docker-buildx"
|
||||
settings:
|
||||
registry: "https://gitea.nulo.in"
|
||||
username: "sutty"
|
||||
repo: "gitea.nulo.in/sutty/monit"
|
||||
tags:
|
||||
- "${ALPINE_VERSION}"
|
||||
- "latest"
|
||||
build_args:
|
||||
- "ALPINE_VERSION=${ALPINE_VERSION}"
|
||||
- "BASE_IMAGE=gitea.nulo.in/sutty/sutty"
|
||||
purge: false
|
||||
password:
|
||||
from_secret: "DOCKER_PASSWORD"
|
||||
image: plugins/docker
|
||||
registry: registry.nulo.in
|
||||
repo: registry.nulo.in/sutty/CHANGEME
|
||||
tags:
|
||||
- ${ALPINE_VERSION}
|
||||
- latest
|
||||
build_args:
|
||||
- ALPINE_VERSION=${ALPINE_VERSION}
|
||||
- BASE_IMAGE=registry.nulo.in/sutty/monit
|
||||
username: sutty
|
||||
secrets:
|
||||
- docker_password
|
||||
when:
|
||||
branch: "antifascista"
|
||||
event: "push"
|
||||
branch: antifascista
|
||||
event: push
|
||||
|
||||
matrix:
|
||||
include:
|
||||
- ALPINE_VERSION: "3.20.3"
|
||||
- ALPINE_VERSION: "3.19.4"
|
||||
- ALPINE_VERSION: "3.18.9"
|
||||
- ALPINE_VERSION: "3.17.10"
|
||||
ALPINE_VERSION:
|
||||
- 3.13.6
|
||||
- 3.14.2
|
||||
|
|
27
Dockerfile
27
Dockerfile
|
@ -1,33 +1,34 @@
|
|||
ARG ALPINE_VERSION=3.18.3
|
||||
ARG BASE_IMAGE=gitea.nulo.in/sutty/sutty
|
||||
FROM ${BASE_IMAGE}:${ALPINE_VERSION} AS build
|
||||
ARG ALPINE_VERSION=3.13.6
|
||||
ARG BASE_IMAGE=alpine
|
||||
ARG EMAIL=monit@sutty.nl
|
||||
FROM ${BASE_IMAGE}:${ALPINE_VERSION} as build
|
||||
|
||||
RUN apk add --no-cache tzdata
|
||||
|
||||
COPY ./monitrc /etc/monitrc
|
||||
RUN chmod 600 /etc/monitrc
|
||||
RUN sed -re "s/@@EMAIL@@/${EMAIL}/" -i /etc/monitrc
|
||||
|
||||
FROM ${BASE_IMAGE}:${ALPINE_VERSION}
|
||||
LABEL org.opencontainers.image.authors="f@sutty.nl"
|
||||
ENV EMAIL=monit@sutty.nl
|
||||
ENV EMAIL_FROM=monit@sutty.nl
|
||||
ENV MMONIT=mmmonit.athshe.sutty.nl
|
||||
ENV CREDENTIALS=mmmonit:mmmonit.athshe.sutty.nl
|
||||
ARG ALPINE_VERSION
|
||||
MAINTAINER "f <f@sutty.nl>"
|
||||
|
||||
# Sutty's repository
|
||||
RUN echo ${ALPINE_VERSION} | cut -d . -f 1,2 | xargs -I {} echo https://alpine.sutty.nl/alpine/v{}/sutty | tee -a /etc/apk/repositories
|
||||
RUN wget https://alpine.sutty.nl/alpine/sutty.pub -O /etc/apk/keys/alpine@sutty.nl-5ea884cd.rsa.pub
|
||||
|
||||
# Install monit and remove default config
|
||||
RUN apk add --no-cache tini monit knsupdate
|
||||
COPY --from=build /usr/share/zoneinfo/UTC /etc/localtime
|
||||
|
||||
# Create directories
|
||||
RUN install -dm 2750 -o root -g root /etc/monit.d
|
||||
RUN install -dm 2750 -o root -g root /etc/monit.d/external/
|
||||
RUN install -dm 2750 -o root -g root /var/lib/monit
|
||||
|
||||
# Install config
|
||||
COPY --from=build /etc/monitrc /etc/monitrc
|
||||
COPY ./nsupdate.sh /usr/local/bin/nsupdate
|
||||
COPY ./whatsmyip6.sh /usr/local/bin/whatsmyip6
|
||||
COPY ./whatsmydefaulteth.sh /usr/local/bin/whatsmydefaulteth
|
||||
COPY ./syslogize.sh /usr/local/bin/syslogize
|
||||
COPY ./zeroconf.sh /usr/local/bin/zeroconf
|
||||
COPY ./zeroconf.conf /etc/zeroconf.conf
|
||||
|
||||
# Allow access to the web GUI
|
||||
EXPOSE 2812
|
||||
|
|
12
monitrc
12
monitrc
|
@ -5,17 +5,17 @@ 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
|
||||
include /etc/monit.d/external/*.conf
|
||||
|
|
|
@ -3,9 +3,10 @@
|
|||
# Registers the local IPv6 address to the DNS
|
||||
|
||||
IP6="`whatsmyip6`"
|
||||
KNOT="${KNOT:-knot.${DOMAIN}}"
|
||||
KNOT="${KNOT:-${IP6}}"
|
||||
|
||||
test -z "${IP6}" && exit 1
|
||||
test -z "${KNOT}" && exit 1
|
||||
test -z "${DOMAIN}" && exit 1
|
||||
|
||||
# Add a dot if the hostname contains the domain
|
||||
|
@ -16,7 +17,6 @@ server ${KNOT}
|
|||
zone ${DOMAIN}.
|
||||
origin ${DOMAIN}.
|
||||
ttl 60
|
||||
del ${HOSTNAME}${DOT} AAAA
|
||||
add ${HOSTNAME}${DOT} AAAA ${IP6}
|
||||
send
|
||||
quit
|
||||
|
|
33
syslogize.sh
33
syslogize.sh
|
@ -1,33 +0,0 @@
|
|||
#!/bin/sh
|
||||
# A wrapper for programs that can't write to syslog. Output and error
|
||||
# are sent to syslog.
|
||||
#
|
||||
# Use LOGGER environment variable to pass options to `logger`. They'll
|
||||
# probably be system-dependent, so handle with care.
|
||||
#
|
||||
# Usage:
|
||||
#
|
||||
# LOGGER="-t program" syslogize program -o -p --tions argu ments
|
||||
#
|
||||
# daemonize /usr/local/bin/syslogize program
|
||||
|
||||
if test $# -eq 0 ; then
|
||||
grep "^#" $0 | grep -v /bin/sh | sed -re "s/^#\s*//" >&2
|
||||
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LOGGER="${LOGGER:--t $1}"
|
||||
|
||||
propagate_signal () {
|
||||
logger ${LOGGER} "Received $1 signal"
|
||||
jobs -p | xargs kill -$1
|
||||
}
|
||||
|
||||
for signal in HUP INT QUIT USR1 USR2 TERM; do
|
||||
trap "propagate_signal ${signal}" ${signal}
|
||||
done
|
||||
|
||||
$@ 2>&1 | logger ${LOGGER} &
|
||||
|
||||
wait $!
|
|
@ -1,3 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
ip -6 r | grep default | tr -s " " | cut -d " " -f 5
|
|
@ -1,3 +1,3 @@
|
|||
#!/bin/sh
|
||||
|
||||
ip address show ${1:-$(whatsmydefaulteth)} | grep inet6 | grep global | tr -s " " | cut -d " " -f 3 | cut -d / -f 1
|
||||
ip address show ${1:-eth0} | grep inet6 | grep global | tr -s " " | cut -d " " -f 3 | cut -d / -f 1
|
||||
|
|
|
@ -1,16 +0,0 @@
|
|||
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 10.13.12.0/24
|
||||
allow "fd00:acab::/32"
|
||||
allow @@CREDENTIALS@@
|
20
zeroconf.sh
20
zeroconf.sh
|
@ -1,20 +0,0 @@
|
|||
#!/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}/" \
|
||||
-e "s/@@POSTFIX@@/${POSTFIX:-postfix}/" \
|
||||
/etc/zeroconf.conf > /etc/monit.d/zeroconf.conf
|
||||
|
||||
monit -t
|
||||
monit reload
|
Loading…
Reference in a new issue