From 52b69cb20d952ddb3a38fd9472aa19939255753c Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Wed, 20 Mar 2019 13:41:11 +0100 Subject: [PATCH] :hammer: Simplifies add-on code logic (#7) --- .../rootfs/etc/cont-init.d/10-requirements.sh | 3 +- .../etc/cont-init.d/20-configuration.sh | 33 +++++++------------ chrony/rootfs/etc/services.d/chronyd/run | 11 +++---- 3 files changed, 18 insertions(+), 29 deletions(-) diff --git a/chrony/rootfs/etc/cont-init.d/10-requirements.sh b/chrony/rootfs/etc/cont-init.d/10-requirements.sh index 3a896c6..6652211 100644 --- a/chrony/rootfs/etc/cont-init.d/10-requirements.sh +++ b/chrony/rootfs/etc/cont-init.d/10-requirements.sh @@ -20,6 +20,7 @@ then bashio::log.fatal bashio::exit.nok fi + if bashio::config.equals 'mode' 'server' \ && bashio::config.is_empty 'ntp_server'; then @@ -34,4 +35,4 @@ then bashio::log.fatal 'configuration.' bashio::log.fatal bashio::exit.nok -fi \ No newline at end of file +fi diff --git a/chrony/rootfs/etc/cont-init.d/20-configuration.sh b/chrony/rootfs/etc/cont-init.d/20-configuration.sh index 1667c3f..2d6fbee 100644 --- a/chrony/rootfs/etc/cont-init.d/20-configuration.sh +++ b/chrony/rootfs/etc/cont-init.d/20-configuration.sh @@ -1,30 +1,19 @@ #!/usr/bin/with-contenv bashio # ============================================================================== # Community Hass.io Add-ons: chrony -# This files configures the conf file from the options set +# This file configures the conf file from the options set # ============================================================================== readonly CHRONY_CONF='/etc/chrony/chrony.conf' -readonly NTPMODE=$(bashio::config 'mode') +declare mode +declare -a serverlist -declare configline -declare serverlist +mode=$(bashio::config 'mode') +bashio::log.debug "Running in NTP mode: ${mode}" -if bashio::config.equals 'mode' 'pool'; -then - readonly SOURCE=$(bashio::config 'ntp_pool') -elif bashio::config.equals 'mode' 'server'; -then - readonly SOURCE=$(bashio::config 'ntp_server') -fi - -for server in ${SOURCE}; do - configline=${NTPMODE} - configline+=" " - configline+=$server - configline+=" iburst" - bashio::log.debug "Setting config to ${configline}" - echo "${configline}" >> ${CHRONY_CONF} - serverlist+=$server - serverlist+=" " +for server in $(bashio::config "ntp_${mode}"); do + bashio::log.debug "Adding server ${server}" + echo "${mode} ${server} iburst" >> ${CHRONY_CONF} + serverlist+=("${server}") done -echo "initstepslew 10 ${serverlist}" >> ${CHRONY_CONF} \ No newline at end of file + +echo "initstepslew 10 ${serverlist[*]}" >> ${CHRONY_CONF} diff --git a/chrony/rootfs/etc/services.d/chronyd/run b/chrony/rootfs/etc/services.d/chronyd/run index 286d7c2..bafd004 100644 --- a/chrony/rootfs/etc/services.d/chronyd/run +++ b/chrony/rootfs/etc/services.d/chronyd/run @@ -5,12 +5,11 @@ # ============================================================================== declare -a options -options+=("-d") -if bashio::config.false 'set_system_clock' -then - options+=("-x") -fi - bashio::log.info "Starting chronyd..." +options+=(-d) +if bashio::config.false 'set_system_clock'; then + options+=(-x) +fi + exec chronyd "${options[@]}"