diff --git a/net/haproxy/pkg-descr b/net/haproxy/pkg-descr index aa184412f..3b578b24b 100644 --- a/net/haproxy/pkg-descr +++ b/net/haproxy/pkg-descr @@ -11,6 +11,7 @@ Plugin Changelog Added: * add support for advanced resolver properties (#2330) * add graceful stop timeout to service settings +* support "monitor-uri" and "monitor fail" in rules (#2387) Fixed: * no haproxy.conf after restoring a config backup (#2474) diff --git a/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogAction.xml b/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogAction.xml index 1e8683637..f0d17e77e 100644 --- a/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogAction.xml +++ b/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogAction.xml @@ -354,6 +354,17 @@ text + + + header + + + + action.monitor_fail_uri + + text + + header diff --git a/net/haproxy/src/opnsense/mvc/app/models/OPNsense/HAProxy/HAProxy.xml b/net/haproxy/src/opnsense/mvc/app/models/OPNsense/HAProxy/HAProxy.xml index b6c025d91..8521443fe 100644 --- a/net/haproxy/src/opnsense/mvc/app/models/OPNsense/HAProxy/HAProxy.xml +++ b/net/haproxy/src/opnsense/mvc/app/models/OPNsense/HAProxy/HAProxy.xml @@ -2068,6 +2068,7 @@ http-response header replace value http-response set-status http-response set-var + monitor fail: report failure to a monitor request tcp-request connection accept tcp-request connection reject tcp-request content accept @@ -2252,6 +2253,10 @@ /^.{1,4096}$/u N + + /^.{1,4096}$/u + N + /^.{1,4096}$/u N diff --git a/net/haproxy/src/opnsense/service/templates/OPNsense/HAProxy/haproxy.conf b/net/haproxy/src/opnsense/service/templates/OPNsense/HAProxy/haproxy.conf index 71c439df1..15dc3f76e 100644 --- a/net/haproxy/src/opnsense/service/templates/OPNsense/HAProxy/haproxy.conf +++ b/net/haproxy/src/opnsense/service/templates/OPNsense/HAProxy/haproxy.conf @@ -522,6 +522,14 @@ {% set action_enabled = '0' %} # ERROR: missing parameters {% endif %} +{% elif action_data.type == 'monitor_fail' %} +{% if action_data.monitor_fail_uri|default("") != "" %} +{% do action_options.append('monitor-uri ' ~ action_data.monitor_fail_uri ~ '\n ') %} +{% do action_options.append('monitor fail') %} +{% else %} +{% set action_enabled = '0' %} + # ERROR: missing parameters +{% endif %} {% elif action_data.type == 'tcp-request_connection_accept' %} {% do action_options.append('tcp-request connection accept') %} {% elif action_data.type == 'tcp-request_connection_reject' %}