From 73f9b9ab79ee6e2ceedcc0387d66b994bdc6de9c Mon Sep 17 00:00:00 2001 From: Etienne Champetier Date: Mon, 23 Jun 2025 10:19:03 -0400 Subject: [PATCH] prometheus-node-exporter-lua: add HTTPS support With valid 'cert'/'key' config, prometheus-node-exporter-lua will respond to https instead of http on 'listen_port'. Signed-off-by: Etienne Champetier --- utils/prometheus-node-exporter-lua/Makefile | 2 +- .../etc/config/prometheus-node-exporter-lua | 2 ++ .../etc/init.d/prometheus-node-exporter-lua | 19 ++++++++++++++----- 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/utils/prometheus-node-exporter-lua/Makefile b/utils/prometheus-node-exporter-lua/Makefile index edd3bd083a..ce0964b3a6 100644 --- a/utils/prometheus-node-exporter-lua/Makefile +++ b/utils/prometheus-node-exporter-lua/Makefile @@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=prometheus-node-exporter-lua PKG_VERSION:=2025.06.23 -PKG_RELEASE:=5 +PKG_RELEASE:=6 PKG_MAINTAINER:=Etienne CHAMPETIER PKG_LICENSE:=Apache-2.0 diff --git a/utils/prometheus-node-exporter-lua/files/etc/config/prometheus-node-exporter-lua b/utils/prometheus-node-exporter-lua/files/etc/config/prometheus-node-exporter-lua index d424fe6322..85f3cd720a 100644 --- a/utils/prometheus-node-exporter-lua/files/etc/config/prometheus-node-exporter-lua +++ b/utils/prometheus-node-exporter-lua/files/etc/config/prometheus-node-exporter-lua @@ -1,3 +1,5 @@ config prometheus-node-exporter-lua 'main' option listen_interface 'loopback' option listen_port '9100' + #option cert '/etc/uhttpd.crt' + #option key '/etc/uhttpd.key' diff --git a/utils/prometheus-node-exporter-lua/files/etc/init.d/prometheus-node-exporter-lua b/utils/prometheus-node-exporter-lua/files/etc/init.d/prometheus-node-exporter-lua index 7dc8bc199c..154ce13539 100644 --- a/utils/prometheus-node-exporter-lua/files/etc/init.d/prometheus-node-exporter-lua +++ b/utils/prometheus-node-exporter-lua/files/etc/init.d/prometheus-node-exporter-lua @@ -11,12 +11,14 @@ _log() { start_service() { . /lib/functions/network.sh - local interface port bind4 bind6 + local interface port listenflag cert key bind4 bind6 config_load prometheus-node-exporter-lua.main config_get keepalive "main" http_keepalive 70 config_get interface "main" listen_interface "loopback" config_get port "main" listen_port 9100 + config_get cert "main" cert + config_get key "main" key [ "$interface" = "*" ] || { network_get_ipaddr bind4 "$interface" @@ -25,18 +27,25 @@ start_service() { _log "defering start until listen interface $interface becomes ready" return 0 } - } + } 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 [ -f "$cert" -a -f "$key" ]; then + listenflag=-s + procd_append_param command -C $cert -K $key + else + listenflag=-p + fi + if [ "$interface" = "*" ]; then - procd_append_param command -p $port + procd_append_param command $listenflag $port else - [ -n "$bind4" ] && procd_append_param command -p $bind4:$port - [ -n "$bind6" ] && procd_append_param command -p [$bind6]:$port + [ -n "$bind4" ] && procd_append_param command $listenflag $bind4:$port + [ -n "$bind6" ] && procd_append_param command $listenflag [$bind6]:$port fi procd_set_param stdout 1 -- 2.30.2