start_service() {
. /lib/functions/network.sh
- local interface ipv6 port bind
+ local interface port bind
config_load prometheus-node-exporter-lua.main
+ config_get keepalive "main" http_keepalive 70
config_get interface "main" listen_interface "loopback"
- config_get_bool ipv6 "main" listen_ipv6 0
config_get port "main" listen_port 9100
+ procd_open_instance
+
+ procd_set_param command /usr/sbin/uhttpd -f -c /dev/null -l / -L /usr/bin/prometheus-node-exporter-lua
+ [ $keepalive -gt 0 ] && procd_append_param command -k $keepalive
+
if [ "$interface" = "*" ]; then
- [ "$ipv6" = 1 ] && bind="::" || bind="0.0.0.0"
+ procd_append_param command -p $port
else
- if [ "$ipv6" = 1 ]; then
- network_get_ipaddr6 bind "$interface"
- else
- network_get_ipaddr bind "$interface"
- fi
-
- network_is_up "$interface" && [ -n "$bind" ] || {
+ network_is_up "$interface" || {
_log "defering start until listen interface $interface becomes ready"
return 0
}
+ network_get_ipaddr6 bind "$interface"
+ [ -n "$bind" ] && procd_append_param command -p [$bind]:$port
+ network_get_ipaddr bind "$interface"
+ [ -n "$bind" ] && procd_append_param command -p $bind:$port
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