Hi all

I created a KIP-519 for pluggability of SSLContext/Engine object. Looking
forward for a great discussion and feedback on the same. I'll keep KIP-486
in discussion state until we reach to some good conclusion on how to allow
custom key/trust stores after KIP-519 work is done. Based on that, we will
update the KIP-486 appropriately.

Thanks
Maulin

On Sun, Sep 8, 2019 at 11:08 PM Maulin Vasavada <maulin.vasav...@gmail.com>
wrote:

> Thank you Clement and Colin for shading light on the process for me. I
> will probably start working on a new kip for pluggable SslEngine.
>
> Side note: The pull request is from my fork to my fork to make it easier
> to see what changes I am making. I have no intention to getting it reviewed
> as a pull request.
>
> Okay, let me start with a new KIP and we will go from there. I'll keep
> this KIP-486 since I feel ultimately we need that kip.
>
> Thanks
> Maulin
>
> On Fri, Sep 6, 2019 at 2:52 PM Colin McCabe <cmcc...@apache.org> wrote:
>
>> Sorry, I meant to write "removing an API typically requires a new major
>> release of Kafka".  Deprecating an API can be done in a minor release.
>>
>> regards,
>> Colin
>>
>>
>> On Fri, Sep 6, 2019, at 14:49, Colin McCabe wrote:
>> > Hi Maulin,
>> >
>> > Clement brought up a good point, which is that we should have agreement
>> > on the overall design before we start looking at PRs.  In Kafka, that
>> > means starting a discussion on a KIP, and then getting that KIP voted
>> > in.
>> >
>> > There is more information about the KIP process here:
>> >
>> https://cwiki.apache.org/confluence/display/KAFKA/Kafka+Improvement+Proposals
>> > Feel free to ask more detailed questions about the process on the
>> > mailing list as well :)
>> >
>> > It sounds like Clement is proposing that you create a new KIP rather
>> > than reusing KIP-383.  So you should probably either repurpose KIP-486
>> > for this, or choose a new number.  Both options seem reasonable here.
>> > As far as I can see, once we implement a pluggable SslEngineBuilder,
>> > KIP-383 would no longer be needed, and so we would put that one into
>> > "rejected KIPs."
>> >
>> > In general, coming up with good APIs can be harder than it might seem
>> > at first.  Once we add an API, we have to assume that we're going to
>> > support it forever.  Deprecating an API can take a very long time, and
>> > typically requires a new major release of Kafka.  Therefore, sometimes
>> > it's worth making users go through a little bit of copying and pasting
>> > in order to avoid creating an API that would constrain the project in
>> > the future.  Hopefully, we can come up with something good here that
>> > will be useful to everyone.
>> >
>> > best,
>> > Colin
>> >
>> >
>> > On Fri, Sep 6, 2019, at 07:48, Pellerin, Clement wrote:
>> > > This is the way I see it, which is in no way authoritative.
>> > >
>> > > First you have to find a complete solution, then you need to document
>> > > it in a KIP and that KIP needs to pass a vote. Any votes before the
>> KIP
>> > > vote starts is meaningless.
>> > >
>> > > As for the ownership and authorship of the KIPs, I don't plan to work
>> > > on this, so KIP-383 is better left the way it is. I would prefer if
>> you
>> > > would update your KIP or maybe create a new one. We can mark KIP-383
>> as
>> > > obsolete after your KIP passes its vote.
>> > >
>> > > -----Original Message-----
>> > > From: Maulin Vasavada [mailto:maulin.vasav...@gmail.com]
>> > > Sent: Friday, September 6, 2019 2:36 AM
>> > > To: dev@kafka.apache.org
>> > > Subject: Re: [DISCUSS] KIP-486 Support for pluggable KeyStore and
>> TrustStore
>> > >
>> > > Hi all
>> > >
>> > > Any input on my last question about the process?
>> > >
>> > > Also, I have updated the code based on the feedback so far at:
>> > > https://github.com/maulin-vasavada/kafka/pull/2/files. Still have to
>> figure
>> > > out how to plug keys/certs loading while using
>> DefaultSslEngineFactory's
>> > > implementation (still need to make it final).
>> > >
>> > > Thanks
>> > > Maulin
>> > >
>> > >
>> > > On Thu, Sep 5, 2019 at 4:34 PM Maulin Vasavada <
>> maulin.vasav...@gmail.com>
>> > > wrote:
>> > >
>> > > > Hi all
>> > > >
>> > > > It seems we are in some sort of agreement so far apart from code
>> > > > review/comments. However, I have a fundamental question - going
>> forward how
>> > > > this work from the process standpoint? What do we do with this
>> KIP-486 vs
>> > > > KIP-383? I feel that both needs to come together since in order to
>> make
>> > > > Pluggable key/trust store on top of making SslEngineBuilder
>> pluggable we
>> > > > will need changes suggested by KIP-486 with some differences to the
>> > > > original proposal. It would great if someone can help us clarify
>> the next
>> > > > steps.
>> > > >
>> > > > Thanks
>> > > > Maulin
>> > > >
>> > > > On Wed, Sep 4, 2019 at 1:54 PM Maulin Vasavada <
>> maulin.vasav...@gmail.com>
>> > > > wrote:
>> > > >
>> > > >> Do you guys think it would be easier if you can provide comments on
>> > > >> GitHub and we can continue there and summarize the conclusion here?
>> > > >>
>> > > >> We should not lose addressing any comments.
>> > > >>
>> > > >> On Wed, Sep 4, 2019 at 12:34 PM Pellerin, Clement <
>> > > >> clement_pelle...@ibi.com> wrote:
>> > > >>
>> > > >>> The proposed interface does not look like the Builder pattern I
>> am used
>> > > >>> to.
>> > > >>> Should SslEngineBuilder be called SslEngineFactory instead?
>> > > >>>
>> > > >>> On Mon, Sep 2, 2019, at 03:33, Rajini Sivaram wrote:
>> > > >>> > I would expect SslEngineBuilder interface to look something
>> like this,
>> > > >>> > perhaps with some tweaking:
>> > > >>> >
>> > > >>> > public interface SslEngineBuilder extends Configurable,
>> Closeable {
>> > > >>> >
>> > > >>> >     Set<String> reconfigurableConfigs();
>> > > >>> >
>> > > >>> >     boolean shouldBeRebuilt(Map<String, Object> nextConfigs);
>> > > >>> >
>> > > >>> >     SSLEngine createSslEngine(Mode mode, String peerHost, int
>> > > >>> > peerPort, String endpointIdentification);
>> > > >>> >
>> > > >>> > }
>> > > >>>
>> > > >>
>> > >
>> >
>>
>

Reply via email to