41 lines
1.4 KiB
Plaintext
41 lines
1.4 KiB
Plaintext
#!/usr/bin/with-contenv bashio
|
|
# shellcheck shell=bash
|
|
# ==============================================================================
|
|
# Home Assistant Add-on: Promtail
|
|
# Runs Promtail
|
|
# ==============================================================================
|
|
readonly PROMTAIL_CONFIG='/etc/promtail/config.yaml'
|
|
declare log_level
|
|
|
|
bashio::log.info 'Starting Promtail...'
|
|
|
|
journal_path='/var/log/journal'
|
|
if ! bashio::fs.directory_exists "${journal_path}" || [ -z "$(ls -A ${journal_path})" ]; then
|
|
bashio::log.info "No journal at ${journal_path}, looking for journal in /run/log/journal instead"
|
|
journal_path='/run/log/journal'
|
|
fi
|
|
|
|
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 "Promtail log level set to ${log_level}"
|
|
|
|
export "URL=$(bashio::config 'client.url')"
|
|
export "JOURNAL_PATH=${journal_path}"
|
|
export "LOG_LEVEL=${log_level}"
|
|
|
|
promtail_args=("-config.expand-env=true" "-config.file=${PROMTAIL_CONFIG}")
|
|
if [ "${log_level}" == "debug" ]; then
|
|
bashio::log.debug "Logging full config on startup for debugging..."
|
|
promtail_args+=("-print-config-stderr=true")
|
|
fi
|
|
|
|
bashio::log.info "Handing over control to Promtail..."
|
|
/usr/bin/promtail "${promtail_args[@]}"
|