+1 Thanks for your proposal, Enrico. I completely agree that the Pulsar Proxy is an integral component in a Pulsar cluster running on k8s. Further, considering that the proxy interacts with clients as if it were a broker and that we already support protocol handlers in the broker, I think it is a logical next step to add support for protocol handlers in the proxy.
I look forward to reviewing the PIP. - Michael On Fri, Aug 27, 2021 at 8:21 AM Enrico Olivelli <eolive...@gmail.com> wrote: > Hello, > Currently we have the ability to add Protocol Handlers to the Pulsar > Broker, this is great, because you can add your code that uses internal > Pulsar APIs and implement your own protocols. > > When you run Pulsar in k8s (and this is happening more and more) you need > to run the Pulsar proxy. > The Pulsar proxy is put in front of a Pulsar Cluster and allows clients > outside of the cluster to access with a single endpoint (the proxy may be > replicated, but let's not enter too much into the details). > > As we are doing for the Pulsar Broker I would like to add support for > adding ProtocolHandlers to the Pulsar Proxy service. > The API will be the same, apart from the fact that you have access to the > PulsarProxy object instead of the PulsarBroker. > > It would be great to see this feature, if you have ever come to create your > own Pulsar proxy in front of a ProtocolHandler you had to deal with: > - Broker Discovery > - Authentication > - Authorization > > Reimplementing this, using APIs that are not officially exported by the > internals of Pulsar code, is very error prone and also it is very difficult > to follow Pulsar evolution. > > PHs for the Proxy will ease the Deployment of Pulsar with PHs as you do not > need to add other Services/Pods to your cluster. > > If this idea sounds good to you I will be happy to write up a PIP and send > the implementation. > > Enrico >