mirror of
https://github.com/docker-mailserver/docker-mailserver.git
synced 2024-01-19 02:48:50 +00:00
24031ae365
* added new `_log` function With `_log`, the `_notify` method wa rendered obsolete. `_notify` was not completely removed due to test failures in `check-for-changes.sh`. The new `_log` function properly uses log levels such as `trace`, `debug`, `info`, `warn` and `error`. It provides a cleaner solution and renders `DMS_DEBUG` obsolete too (as only `_notify` depends on it). * converted all helper script to new `_log` function * converted all startup stacks to new `log` function * `start-mailserver.sh` now uses new `_log` function * final test and misc small script adjustments * updated documentation
45 lines
1,018 B
Bash
45 lines
1,018 B
Bash
#! /bin/bash
|
|
|
|
function check
|
|
{
|
|
_log 'info' 'Checking configuration'
|
|
for FUNC in "${FUNCS_CHECK[@]}"
|
|
do
|
|
${FUNC}
|
|
done
|
|
}
|
|
|
|
function _check_hostname
|
|
{
|
|
_log 'debug' 'Checking that hostname/domainname is provided or overridden'
|
|
|
|
_log 'debug' "Domain has been set to ${DOMAINNAME}"
|
|
_log 'debug' "Hostname has been set to ${HOSTNAME}"
|
|
|
|
# HOSTNAME should be an FQDN (eg: hostname.domain)
|
|
if ! grep -q -E '^(\S+[.]\S+)$' <<< "${HOSTNAME}"
|
|
then
|
|
_shutdown 'Setting hostname/domainname is required'
|
|
fi
|
|
}
|
|
|
|
function _check_log_level
|
|
{
|
|
if [[ ${LOG_LEVEL} == 'trace' ]] \
|
|
|| [[ ${LOG_LEVEL} == 'debug' ]] \
|
|
|| [[ ${LOG_LEVEL} == 'info' ]] \
|
|
|| [[ ${LOG_LEVEL} == 'warn' ]] \
|
|
|| [[ ${LOG_LEVEL} == 'error' ]]
|
|
then
|
|
return 0
|
|
else
|
|
local DEFAULT_LOG_LEVEL='info'
|
|
|
|
# shellcheck disable=SC2034
|
|
VARS[LOG_LEVEL]="${DEFAULT_LOG_LEVEL}"
|
|
LOG_LEVEL="${DEFAULT_LOG_LEVEL}"
|
|
|
|
_log 'warn' "Log level '${LOG_LEVEL}' is invalid (falling back to default '${DEFAULT_LOG_LEVEL}')"
|
|
fi
|
|
}
|