From ab3d10a8cc021ebc9f573e67dcdc76b1ffb90168 Mon Sep 17 00:00:00 2001 From: sinav Date: Sun, 23 Jun 2024 19:23:54 +0300 Subject: [PATCH] wip --- zabbix-agent2/Dockerfile | 1 + .../rootfs/etc/services.d/zabbix_agent2/finish | 15 +++++++++++++++ .../rootfs/etc/services.d/zabbix_agent2/run | 18 ++++++++++++++++++ 3 files changed, 34 insertions(+) create mode 100644 zabbix-agent2/rootfs/etc/services.d/zabbix_agent2/finish create mode 100644 zabbix-agent2/rootfs/etc/services.d/zabbix_agent2/run diff --git a/zabbix-agent2/Dockerfile b/zabbix-agent2/Dockerfile index 4e0e9ed..60dee4c 100644 --- a/zabbix-agent2/Dockerfile +++ b/zabbix-agent2/Dockerfile @@ -22,6 +22,7 @@ COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}/src/go/bin/zabbix_agent2", "/us COPY --from=builder ["/tmp/zabbix-${ZBX_VERSION}/conf/zabbix_agentd.conf", "/etc/zabbix/zabbix_agent2.conf"] COPY run.sh /run.sh +COPY rootfs / RUN set -eux && \ INSTALL_PKGS="bash \ diff --git a/zabbix-agent2/rootfs/etc/services.d/zabbix_agent2/finish b/zabbix-agent2/rootfs/etc/services.d/zabbix_agent2/finish new file mode 100644 index 0000000..5a09965 --- /dev/null +++ b/zabbix-agent2/rootfs/etc/services.d/zabbix_agent2/finish @@ -0,0 +1,15 @@ +#!/usr/bin/env bashio +# ============================================================================== +# Take down the S6 supervision tree when zabbix agent 2 fails +# s6-overlay docs: https://github.com/just-containers/s6-overlay +# ============================================================================== + +declare APP_EXIT_CODE=${1} + +if [[ "${APP_EXIT_CODE}" -ne 0 ]] && [[ "${APP_EXIT_CODE}" -ne 256 ]]; then + bashio::log.warning "Halt add-on with exit code ${APP_EXIT_CODE}" + echo "${APP_EXIT_CODE}" > /run/s6-linux-init-container-results/exitcode + exec /run/s6/basedir/bin/halt +fi + +bashio::log.info "Service restart after closing" diff --git a/zabbix-agent2/rootfs/etc/services.d/zabbix_agent2/run b/zabbix-agent2/rootfs/etc/services.d/zabbix_agent2/run new file mode 100644 index 0000000..bf3a5aa --- /dev/null +++ b/zabbix-agent2/rootfs/etc/services.d/zabbix_agent2/run @@ -0,0 +1,18 @@ +#!/usr/bin/with-contenv bashio +# shellcheck shell=bash +# ============================================================================== +# Home Assistant Add-on: Zabbix agent 2 +# Runs zabbix agent 2 +# ============================================================================== + +readonly ZBX_CFG_FILE='/config/zabbix_agent2.conf' + +bashio::log.info 'Starting zabbix-agent2...' + +if ! bashio::fs.file_exists "${ZBX_CFG_FILE}" || [ -z "$(ls -A ${ZBX_CFG_FILE})" ]; then + bashio::log.info "No config ${ZBX_CFG_FILE} exists, copying default." + cp /etc/zabbix/zabbix_agent2.conf ${ZBX_CFG_FILE} +fi + +# Run zabbix-agent2 in foreground +zabbix_agent2 --foreground -c /config/zabbix_agent2.conf