MAJOR: spoe: Deprecate the SPOE filter
authorChristopher Faulet <cfaulet@haproxy.com>
Thu, 14 Mar 2024 10:53:27 +0000 (11:53 +0100)
committerChristopher Faulet <cfaulet@haproxy.com>
Fri, 15 Mar 2024 10:29:39 +0000 (11:29 +0100)
As announced on the ML few weeks (months ?) ago and on several GH issues,
the SPOE is now deprecated. Sadly, this filter should be refactored to work
properly. It was implemented as a functionnal PoC for the 1.7 and since
then, no time was invest to improve it and make it truly maintainable in
time. Worst, other parts of HAProxy evolve, especially applets part, making
maintenance ever more expensive.

Instead of keeping the SPOE filter in a this state and always reply to users
encountering issues or limitations that it is far from perfect but we cannot
work on it for now, we decided to deprecate it.

We can still change our mind before the 3.0.0 release if the situation
evolves. Otherwise the filter will be removed or marked as unmaintained for
the 3.1. If the situation does not change, it means the 3.0 will be the last
version with a true SPOE support.

MAINTAINERS
doc/SPOE.txt
doc/configuration.txt
src/flt_spoe.c

index d4b7980..cf8ad42 100644 (file)
@@ -138,7 +138,7 @@ ScientiaMobile WURFL Device Detection
 Maintainer: Paul Borile, Massimiliano Bellomi <wurfl-haproxy-support@scientiamobile.com>
 Files: addons/wurfl, doc/WURFL-device-detection.txt
 
-SPOE
+SPOE (deprecated)
 Maintainer: Christopher Faulet <cfaulet@haproxy.com>
 Files: src/flt_spoe.c, include/haproxy/spoe*.h, doc/SPOE.txt
 
index cc6d8dd..8d08d6f 100644 (file)
@@ -7,6 +7,10 @@
                       Contact : cfaulet at haproxy dot com
 
 
+
+  WARNING: The SPOE is now deprecated and will be removed in future version.
+
+
 SUMMARY
 --------
 
index d3329f4..34db076 100644 (file)
@@ -13863,7 +13863,7 @@ sc-inc-gpc0                    X     X     X     X            X   X   X
 sc-inc-gpc1                    X     X     X     X            X   X   X
 sc-set-gpt                     X     X     X     X            X   X   X
 sc-set-gpt0                    X     X     X     X            X   X   X
-send-spoe-group                -     -     X     X            X   X   -
+send-spoe-group (deprecated)   -     -     X     X            X   X   -
 set-bandwidth-limit            -     -     X     X            X   X   -
 set-bc-mark                    -     -     X     -            X   -   -
 set-bc-tos                     -     -     X     -            X   -   -
@@ -14724,7 +14724,7 @@ sc-set-gpt0(<sc-id>) { <int> | <expr> }
   See also the "sc-set-gpt" action.
 
 
-send-spoe-group <engine-name> <group-name>
+send-spoe-group <engine-name> <group-name> (deprecated)
   Usable in:  TCP RqCon| RqSes| RqCnt| RsCnt|    HTTP Req| Res| Aft
                     -  |   -  |   X  |   X  |          X |  X |  -
 
@@ -26618,6 +26618,8 @@ the Stream Processing Offload Protocol (SPOP).
 For all information about the SPOE configuration and the SPOP specification, see
 "doc/SPOE.txt".
 
+WARNING: The SPOE filter is now deprecated.
+
 9.4. Cache
 ----------
 
index 73d4724..5623fec 100644 (file)
@@ -4105,6 +4105,9 @@ parse_spoe_flt(char **args, int *cur_arg, struct proxy *px,
        curpxopts  = 0;
        curpxopts2 = 0;
 
+
+       ha_warning("Proxy %s: SPOE filter is deprecated and will be removed in future version.\n", px->id);
+
        conf = calloc(1, sizeof(*conf));
        if (conf == NULL) {
                memprintf(err, "%s: out of memory", args[*cur_arg]);