There has been no discussion since my last update week ago. Unless someone has some further comments in the next 48 hours, I will start the voting for this KIP.
Thanks & Regards Jakub On Tue, Oct 17, 2017 at 5:54 PM, Jakub Scholz <ja...@scholz.cz> wrote: > Ok, so I updated the KIP according to what we discussed. Please have a > look at the updates. Two points I'm not 100% sure about: > > 1) Should we mark the rest.host.name and rest.port options as deprecated? > > 2) I needed to also address the advertised hostname / port. With multiple > listeners it is not clear anymore which one should be used. I saw as one > option to add advertised.listeners option and some modified version of > inter.broker.listener.name option to follow what is done in Kafka > brokers. But for the Connect REST interface, we do not advertise the > address to the clients like in Kafka broker. So we only need to tell other > workers how to connect - and for that we need only one advertised address. > So I decided to reuse the existing rest.advertised.host.name and > rest.advertised.port options and add additional option > rest.advertised.security.protocol to specify whether HTTP or HTTPS should > be used. Does this make sense to you? DO you think this is the right > approach? > > Thanks & Regards > Jakub > > On Mon, Oct 16, 2017 at 6:34 PM, Randall Hauch <rha...@gmail.com> wrote: > >> The broker's configuration options are "listeners" (plural) and >> "listeners.security.protocol.map". I agree that following the pattern set >> by the broker is better, so these are really good ideas. However, at this >> point I don't see a need for the "listeners.security.procotol.map", which >> for the broker must be set if the listener name is not a security >> protocol. >> Can we not simply just allow "HTTP" and "HTTPS" as the names of the >> listeners (rather than the broker's "PLAINTEXT", "SSL", etc.)? If so, then >> for example "listeners" might be set to "http://myhost:8081, >> https://myhost:80", which seems to work out nicely without needing >> listener >> names other than security protocols. >> >> I also like using the worker's SSL and SASL security configs by default if >> "https" is included in the listener, but allowing the overriding of this >> via other additional properties. Here, I'm not a big fan of >> "listeners.name.https.*" prefix, which I think is pretty verbose, but I >> could see "listener.https.*" as a prefix. This allows us to add other >> security protocols at some point, if that ever becomes necessary. >> >> +1 for continuing down this road. Nice work. >> >> On Mon, Oct 16, 2017 at 9:51 AM, Ted Yu <yuzhih...@gmail.com> wrote: >> >> > +1 to this proposal. >> > >> > On Mon, Oct 16, 2017 at 7:49 AM, Jakub Scholz <ja...@scholz.cz> wrote: >> > >> > > I was having some more thoughts about it. We can simply take over what >> > > Kafka broker implements for the listeners: >> > > - We can take over the "listener" and "listener.security.protocol.ma >> p" >> > > options to define multiple REST listeners and the security protocol >> they >> > > should use >> > > - The HTTPS interface will by default use the default configuration >> > options >> > > ("ssl.keystore.localtion" etc.). But if desired, the values can be >> > > overridden for given listener (again, as in Kafka broker " >> listener.name >> > > .<LISTENER_NAME>.ssl.keystore.location") >> > > >> > > This should address both issues raised. But before I incorporate it >> into >> > > the KIP, I would love to get some feedback if this sounds OK. Please >> let >> > me >> > > know what do you think ... >> > > >> > > Jakub >> > > >> > > On Sun, Oct 15, 2017 at 12:23 AM, Jakub Scholz <ja...@scholz.cz> >> wrote: >> > > >> > > > I agree, adding both HTTP and HTTPS is not complicated. I just >> didn't >> > saw >> > > > the use case for it. But I can add it. Would you add just support >> for a >> > > > single HTTP and single HTTPS interface? Or do you see some value >> even >> > in >> > > > allowing more than 2 interfaces (for example one HTTP and two HTTPS >> > with >> > > > different configuration)? It could be done similarly to how the >> Kafka >> > > > broker does it through the "listener" configuration parameter with >> > comma >> > > > separated list. What do you think? >> > > > >> > > > As for the "rest" prefix - if we remove it, some of the same >> > > configuration >> > > > options are already used today as the option for connecting from >> Kafka >> > > > Connect to Kafka broker. So I'm not sure we should mix them. I can >> > > > definitely imagine some cases where the client SSL configuration >> will >> > not >> > > > be the same as the REST HTTPS configuration. That is why I added the >> > > > prefix. If we remove the prefix, how would you deal with this? >> > > > >> > > > On Fri, Oct 13, 2017 at 6:25 PM, Randall Hauch <rha...@gmail.com> >> > wrote: >> > > > >> > > >> Also, do we need these properties to be preceded with `rest`? I'd >> > argue >> > > >> that we're just configuring the worker's SSL information, and that >> the >> > > >> REST >> > > >> API would just use that. If we added another non-REST API, we'd >> want >> > to >> > > >> use >> > > >> the same security configuration. >> > > >> >> > > >> It's not that complicated in Jetty to support both "http" and >> "https" >> > > >> simultaneously, so IMO we should add that from the beginning. >> > > >> >> > > >> On Fri, Oct 13, 2017 at 9:34 AM, Randall Hauch <rha...@gmail.com> >> > > wrote: >> > > >> >> > > >> > It'd be useful to specify the default values for the >> configuration >> > > >> > properties. >> > > >> > >> > > >> > On Tue, Oct 10, 2017 at 2:53 AM, Jakub Scholz <ja...@scholz.cz> >> > > wrote: >> > > >> > >> > > >> >> FYI: Based on Ewen's suggestion from the related JIRA, I added a >> > > >> >> clarification to the KIP that it doesn't do anything around >> > > >> authorization >> > > >> >> / >> > > >> >> ACLs. While authorization / ACLs would be for sure valuable >> > feature I >> > > >> >> would >> > > >> >> prefer to leave it for different KIP. >> > > >> >> >> > > >> >> Jakub >> > > >> >> >> > > >> >> On Mon, Oct 9, 2017 at 5:25 PM, Jakub Scholz <ja...@scholz.cz> >> > > wrote: >> > > >> >> >> > > >> >> > Hi, >> > > >> >> > >> > > >> >> > I would like to start a discussion about KIP-208: Add SSL >> support >> > > to >> > > >> >> Kafka >> > > >> >> > Connect REST interface (https://cwiki.apache.org/ >> > > >> >> > confluence/display/KAFKA/KIP-208%3A+Add+SSL+support+to+ >> > > >> >> > Kafka+Connect+REST+interface). >> > > >> >> > >> > > >> >> > I think this would be useful feature to improve the security >> of >> > > Kafka >> > > >> >> > Connect. >> > > >> >> > >> > > >> >> > Thanks & Regards >> > > >> >> > Jakub >> > > >> >> > >> > > >> >> >> > > >> > >> > > >> > >> > > >> >> > > > >> > > > >> > > >> > >> > >