mirror of
https://github.com/hassio-addons/addon-mqtt-io.git
synced 2025-05-07 04:31:34 +00:00
🔨 Migrate old-style S6 scripts to s6-rc.d (#43)
This commit is contained in:
parent
af107df9f3
commit
26033d4945
7 changed files with 33 additions and 20 deletions
27
mqtt-io/rootfs/etc/s6-overlay/s6-rc.d/mqtt-io/finish
Executable file
27
mqtt-io/rootfs/etc/s6-overlay/s6-rc.d/mqtt-io/finish
Executable file
|
@ -0,0 +1,27 @@
|
|||
#!/command/with-contenv bashio
|
||||
# shellcheck shell=bash
|
||||
# ==============================================================================
|
||||
# Home Assistant Community Add-on: MQTT IO
|
||||
# Take down the S6 supervision tree when MQTT IO fails
|
||||
# ==============================================================================
|
||||
declare exit_code
|
||||
readonly exit_code_container=$(</run/s6-linux-init-container-results/exitcode)
|
||||
readonly exit_code_service="${1}"
|
||||
readonly exit_code_signal="${2}"
|
||||
readonly service="MQTT IO"
|
||||
|
||||
bashio::log.info \
|
||||
"Service ${service} exited with code ${exit_code_service}" \
|
||||
"(by signal ${exit_code_signal})"
|
||||
|
||||
if [[ "${exit_code_service}" -eq 256 ]]; then
|
||||
if [[ "${exit_code_container}" -eq 0 ]]; then
|
||||
echo $((128 + $exit_code_signal)) > /run/s6-linux-init-container-results/exitcode
|
||||
fi
|
||||
[[ "${exit_code_signal}" -eq 15 ]] && exec /run/s6/basedir/bin/halt
|
||||
elif [[ "${exit_code_service}" -ne 0 ]]; then
|
||||
if [[ "${exit_code_container}" -eq 0 ]]; then
|
||||
echo "${exit_code_service}" > /run/s6-linux-init-container-results/exitcode
|
||||
fi
|
||||
exec /run/s6/basedir/bin/halt
|
||||
fi
|
|
@ -1,9 +1,9 @@
|
|||
#!/command/with-contenv bashio
|
||||
# shellcheck shell=bash
|
||||
# ==============================================================================
|
||||
# Home Assistant Community Add-on: MQTT IO
|
||||
# Pre-run checks for MQTT IO
|
||||
# Runs MQTT IO
|
||||
# ==============================================================================
|
||||
# Creates initial MQTT IO configuration in case it is non-existing
|
||||
declare configuration_file
|
||||
|
||||
configuration_file=$(bashio::config 'configuration_file')
|
||||
|
@ -22,3 +22,6 @@ if ! bashio::fs.file_exists "${configuration_file}"; then
|
|||
bashio::log.fatal
|
||||
bashio::exit.nok
|
||||
fi
|
||||
|
||||
bashio::log.info "Starting MQTT IO..."
|
||||
exec python3 -m mqtt_io "$(bashio::config 'configuration_file')"
|
1
mqtt-io/rootfs/etc/s6-overlay/s6-rc.d/mqtt-io/type
Normal file
1
mqtt-io/rootfs/etc/s6-overlay/s6-rc.d/mqtt-io/type
Normal file
|
@ -0,0 +1 @@
|
|||
longrun
|
|
@ -1,11 +0,0 @@
|
|||
#!/command/with-contenv bashio
|
||||
# ==============================================================================
|
||||
# Home Assistant Community Add-on: MQTT IO
|
||||
# Take down the S6 supervision tree when MQTT IO fails
|
||||
# ==============================================================================
|
||||
if [[ "${1}" -ne 0 ]] && [[ "${1}" -ne 256 ]]; then
|
||||
bashio::log.warning "MQTT IO crashed, halting add-on"
|
||||
exec /run/s6/basedir/bin/halt
|
||||
fi
|
||||
|
||||
bashio::log.info "MQTT IO stopped"
|
|
@ -1,7 +0,0 @@
|
|||
#!/command/with-contenv bashio
|
||||
# ==============================================================================
|
||||
# Home Assistant Community Add-on: MQTT IO
|
||||
# Runs MQTT IO
|
||||
# ==============================================================================
|
||||
bashio::log.info "Starting MQTT IO..."
|
||||
exec python3 -m mqtt_io "$(bashio::config 'configuration_file')"
|
Loading…
Add table
Add a link
Reference in a new issue