Merge pull request #11093 from valdi74/update_python-curl
[feed/packages.git] / utils / prometheus-node-exporter-lua / files / etc / init.d / prometheus-node-exporter-lua
1 #!/bin/sh /etc/rc.common
2 # Copyright (C) 2013-2017 OpenWrt.org
3
4 START=60
5 USE_PROCD=1
6
7 _log() {
8 logger -p daemon.info -t prometheus-node-exporter-lua "$@"
9 }
10
11 start_service() {
12 . /lib/functions/network.sh
13
14 local interface ipv6 port bind
15
16 config_load prometheus-node-exporter-lua.main
17 config_get interface "main" listen_interface "loopback"
18 config_get_bool ipv6 "main" listen_ipv6 0
19 config_get port "main" listen_port 9100
20
21 if [ "$interface" = "*" ]; then
22 [ "$ipv6" = 1 ] && bind="::" || bind="0.0.0.0"
23 else
24 if [ "$ipv6" = 1 ]; then
25 network_get_ipaddr6 bind "$interface"
26 else
27 network_get_ipaddr bind "$interface"
28 fi
29
30 network_is_up "$interface" && [ -n "$bind" ] || {
31 _log "defering start until listen interface $interface becomes ready"
32 return 0
33 }
34 fi
35
36 procd_open_instance
37
38 procd_set_param command /usr/bin/prometheus-node-exporter-lua
39 procd_append_param command --bind ${bind}
40 procd_append_param command --port ${port}
41
42 procd_set_param stdout 1
43 procd_set_param stderr 1
44 procd_set_param respawn
45
46 procd_close_instance
47 }
48
49 service_triggers()
50 {
51 local interface
52
53 procd_add_reload_trigger "prometheus-node-exporter-lua"
54
55 config_load prometheus-node-exporter-lua.main
56 config_get interface "main" listen_interface "loopback"
57
58 [ "$interface" = "*" ] || procd_add_reload_interface_trigger "$interface"
59 }