Thanks for the input. It is much clearer now. Please refer to Ming's note for future discussion and solutioning.
Thanks, Traky ------- Original Message ------- On Wednesday, April 26th, 2023 at 6:09 PM, Ming Wen <wenm...@apache.org> wrote: > Current logic: > > 1. To enable only the L7 proxy > This is the default configuration > > 2. To enable both L7 & L4 proxy > enable apisix.stream_proxy > > 3. To enable only the L4 proxy > enable apisix.stream_proxy and set enable_admin = false // This is actually > not easy to understand > > > NOTICE: The above mode is the operation of APISIX in the traditional mode > (the default enable_admin is true). > If the user changes the mode of APISIX to control plane (at this time > enable_admin is false by default), the above three become: > > 1. To enable only the L7 proxy > This is the default configuration > > 2. To enable both L7 & L4 proxy > enable apisix.stream_proxy and set apisix.stream_proxy.only = false > > 3. To enable only the L4 proxy > enable apisix.stream_proxy and set apisix.stream_proxy.only = true > > ----- > New solution: > If we add a configuration and remove apisix.stream_proxy.only: > proxy_mode: http or stream or http&stream > > This has nothing to do with enable_admin. > > 1. To enable only the L7 proxy > This is the default configuration > > 2. To enable both L7 & L4 proxy > set apisix.proxy_mode = http&stream > > 3. To enable only the L4 proxy > set apisix.proxy_mode = stream > > What do you think? > > Thanks, > Ming Wen, Apache APISIX PMC Chair > Twitter: _WenMing > > > Traky Deng traky.d...@protonmail.com.invalid 于2023年4月26日周三 16:59写道: > > > Hi all, > > > > It has been noticed during a doc recomposition that the developer > > experience of working with L4 and L7 proxies enablement in APISIX > > conf/config.yaml file are somewhat subpar. The motivation of this > > discussion is to see if people want to improve the design on the > > engineering side for a better developer experience. > > > > Currently in APISIX conf/config.yaml: > > > > 1. To enable only the L7 proxy, one should > > > > - set apisix.enable_admin to true (default); and > > - not defineapisix.stream_proxy yaml block > > > > 2. To enable only the L4 stream proxy, one should > > > > - set apisix.enable_admin to false; > > > > - define apisix.stream_proxy yaml block; and > > - set apisix.stream_proxy.only to true > > > > Relevant code: > > https://github.com/apache/apisix/blob/1434335041c6e054f7b6afb0401aea0a069b0ad7/apisix/cli/ops.lua#L272-L277 > > > > 3. To enable both L4 & L7 proxies, one should > > > > - set apisix.enable_admin to true (default) > > - define apisix.stream_proxy yaml block > > > > It seems that the value of apisix.stream_proxy.only does not have any > > effect. > > > > The relevant doc is currently at > > https://apisix.apache.org/docs/apisix/stream-proxy/#how-to-enable-stream-proxy > > > > I am also making some improvements to this doc in this PR (work in > > progress, collaborations welcomed): > > https://github.com/apache/apisix/pull/9367 > > > > Thanks, > > Traky Deng