adding node exporter, loki, and promtail
This commit is contained in:
14
loki/rootfs/etc/services.d/loki/finish
Normal file
14
loki/rootfs/etc/services.d/loki/finish
Normal file
@@ -0,0 +1,14 @@
|
||||
#!/usr/bin/env bashio
|
||||
# ==============================================================================
|
||||
# Home Assistant Add-on: Loki
|
||||
# Take down the S6 supervision tree when Loki fails
|
||||
# ==============================================================================
|
||||
|
||||
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
|
||||
|
51
loki/rootfs/etc/services.d/loki/run
Normal file
51
loki/rootfs/etc/services.d/loki/run
Normal file
@@ -0,0 +1,51 @@
|
||||
#!/usr/bin/with-contenv bashio
|
||||
# shellcheck shell=bash
|
||||
# ==============================================================================
|
||||
# Home Assistant Add-on: Loki
|
||||
# Runs Loki
|
||||
# ==============================================================================
|
||||
|
||||
readonly BIND_ADDR=127.0.0.1
|
||||
readonly HTTP_PORT=8080
|
||||
declare log_level
|
||||
loki_config='/etc/loki/default-config.yaml'
|
||||
|
||||
bashio::log.info 'Starting Loki...'
|
||||
|
||||
if bashio::config.exists 'config_path'; then
|
||||
loki_config=$(bashio::config 'config_path')
|
||||
bashio::log.info "Using config at ${loki_config}"
|
||||
else
|
||||
bashio::log.info "Using default config"
|
||||
fi
|
||||
|
||||
retention_period="$(bashio::config 'days_to_keep' 1)d"
|
||||
bashio::log.info "Retention period set to ${retention_period}"
|
||||
export "RETENTION_PERIOD=${retention_period}"
|
||||
|
||||
case "$(bashio::config 'log_level')" in \
|
||||
trace) ;& \
|
||||
debug) log_level='debug' ;; \
|
||||
notice) ;& \
|
||||
warning) log_level='warn' ;; \
|
||||
error) ;& \
|
||||
fatal) log_level='error' ;; \
|
||||
*) log_level='info' ;; \
|
||||
esac;
|
||||
bashio::log.info "Loki log level set to ${log_level}"
|
||||
|
||||
loki_args=(
|
||||
"-config.expand-env=true"
|
||||
"-config.file=${loki_config}"
|
||||
"-server.http-listen-address=${BIND_ADDR}"
|
||||
"-server.http-listen-port=${HTTP_PORT}"
|
||||
"-log.level=${log_level}"
|
||||
)
|
||||
if [ "${log_level}" == "debug" ]; then
|
||||
bashio::log.debug "Logging full config on startup for debugging..."
|
||||
loki_args+=("-print-config-stderr=true")
|
||||
fi
|
||||
|
||||
bashio::log.info "Handing over control to Loki..."
|
||||
exec s6-setuidgid abc \
|
||||
/usr/bin/loki "${loki_args[@]}"
|
13
loki/rootfs/etc/services.d/nginx/finish
Normal file
13
loki/rootfs/etc/services.d/nginx/finish
Normal file
@@ -0,0 +1,13 @@
|
||||
#!/usr/bin/env bashio
|
||||
# ==============================================================================
|
||||
# Home Assistant Add-on: Loki
|
||||
# Take down the S6 supervision tree when Nginx fails
|
||||
# ==============================================================================
|
||||
|
||||
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
|
10
loki/rootfs/etc/services.d/nginx/run
Normal file
10
loki/rootfs/etc/services.d/nginx/run
Normal file
@@ -0,0 +1,10 @@
|
||||
#!/usr/bin/with-contenv bashio
|
||||
# shellcheck shell=bash
|
||||
# ==============================================================================
|
||||
# Home Assistant Add-on: Loki
|
||||
# Runs the Nginx daemon
|
||||
# ==============================================================================
|
||||
bashio::net.wait_for 8080
|
||||
bashio::log.info "Starting NGinx..."
|
||||
|
||||
exec /usr/sbin/nginx
|
Reference in New Issue
Block a user