mirror of
https://dev.iopsys.eu/feed/iopsys.git
synced 2025-12-10 07:44:50 +01:00
- New set of APIs to handle plugin installation - Auto-generate datamodel micro-service plugin to minimize errors - Added compaction of json datamodel plugin - Added validation of json plugin while installing - datamodel service name used in process name and in logging
71 lines
1.5 KiB
Bash
71 lines
1.5 KiB
Bash
#!/bin/sh /etc/rc.common
|
|
|
|
START=65
|
|
STOP=10
|
|
|
|
USE_PROCD=1
|
|
PROG=/usr/sbin/bbfdmd
|
|
|
|
BBFDM_JSON_INPUT="/etc/bbfdm/input.json"
|
|
BBFDM_TEMP_DIR="/tmp/bbfdm"
|
|
|
|
. /usr/share/libubox/jshn.sh
|
|
|
|
log() {
|
|
echo "${@}"|logger -t bbfdmd.init -p info
|
|
}
|
|
|
|
validate_bbfdm_bbfdmd_section()
|
|
{
|
|
uci_validate_section bbfdm bbfdmd "bbfdmd" \
|
|
'enable:bool:true' \
|
|
'sock:string' \
|
|
'debug:bool:false' \
|
|
'loglevel:uinteger:1' \
|
|
'refresh_time:uinteger:0' \
|
|
'transaction_timeout:uinteger:30' \
|
|
'subprocess_level:uinteger'
|
|
}
|
|
|
|
configure_bbfdmd()
|
|
{
|
|
local enable debug sock
|
|
local jlog jrefresh jtimeout jlevel
|
|
|
|
config_load bbfdm
|
|
validate_bbfdm_bbfdmd_section || {
|
|
log "Validation of bbfdmd section failed"
|
|
return 1;
|
|
}
|
|
|
|
[ "${enable}" -eq 0 ] && return 0
|
|
|
|
if [ -f "${BBFDM_JSON_INPUT}" ]; then
|
|
echo "$(jq --arg log ${loglevel} --arg tran ${transaction_timeout} --arg refresh ${refresh_time} --arg level ${subprocess_level} '.daemon.config += {"loglevel": $log, "refresh_time": $refresh, "transaction_timeout": $tran, "subprocess_level": $level}' ${BBFDM_JSON_INPUT})" > "${BBFDM_TEMP_DIR}/input.json"
|
|
fi
|
|
|
|
procd_set_param command ${PROG}
|
|
if [ "${debug}" -eq 1 ]; then
|
|
procd_set_param stdout 1
|
|
procd_set_param stderr 1
|
|
fi
|
|
|
|
if [ -f "${sock}" ]; then
|
|
procd_append_param command -s "${sock}"
|
|
fi
|
|
}
|
|
|
|
start_service()
|
|
{
|
|
mkdir -p ${BBFDM_TEMP_DIR}
|
|
|
|
procd_open_instance "bbfdm"
|
|
configure_bbfdmd
|
|
procd_set_param respawn
|
|
procd_close_instance "bbfdm"
|
|
}
|
|
|
|
service_triggers()
|
|
{
|
|
procd_add_reload_trigger "bbfdm"
|
|
}
|