#!/bin/sh /etc/rc.common # Copyright (C) 2013-2017 OpenWrt.org START=60 USE_PROCD=1 . /lib/functions/network.sh _log() { logger -p daemon.info -t prometheus-node-exporter-lua "$@" } start_service() { local interface ipv6 port bind config_load prometheus-node-exporter-lua.main config_get interface "main" listen_interface "loopback" config_get_bool ipv6 "main" listen_ipv6 0 config_get port "main" listen_port 9100 if [ "$interface" = "*" ]; then [ "$ipv6" = 1 ] && bind="::" || bind="0.0.0.0" else if [ "$ipv6" = 1 ]; then network_get_ipaddr6 bind "$interface" else network_get_ipaddr bind "$interface" fi network_is_up "$interface" && [ -n "$bind" ] || { _log "defering start until listen interface $interface becomes ready" return 0 } fi procd_open_instance procd_set_param command /usr/bin/prometheus-node-exporter-lua procd_append_param command --bind ${bind} procd_append_param command --port ${port} procd_set_param stdout 1 procd_set_param stderr 1 procd_set_param respawn procd_close_instance } service_triggers() { local interface procd_add_reload_trigger "prometheus-node-exporter-lua" config_load prometheus-node-exporter-lua.main config_get interface "main" listen_interface "loopback" [ "$interface" = "*" ] || procd_add_reload_interface_trigger "$interface" }