Thanks for the replies Kevin and Joe!

Based on responses, I will proceed with putting together a pull
request for removing the TLS Toolkit for the main branch as part of
2.0 technical debt removal.

Regarding the encrypt-config command, it sounds like removing it for a
milestone 2.0 release is a good solution.

Some of the functionality is already implemented directly in nifi.sh
with set-sensitive-properties-key and
set-sensitive-properties-algorithm. The existing version of
encrypt-config is capable of handling current configurations and
files. From that perspective, version 1 can continue to provide a
bridge while we scope out a rewritten version.

Regards,
David Handermann

On Wed, Sep 13, 2023 at 3:24 PM Joe Witt <joe.w...@gmail.com> wrote:
>
> David
>
> Fully supportive.
>
> I'll take it a step further and indicate that I am now an advocate of
> removing anything we have in our build related to running things or tests
> written in Groovy.  We should maintain the Groovy support for scripted
> components but we should eliminate or replace any tools/tests written in
> Groovy.  I didn't quite realize how unique the setup seems to be as it
> relates to codehaus/vs apache groovy and the versions associated with
> integrating with Maven vs versions of Java/etc.. This is adding brittleness
> and build complexity we don't need.  To that end I'd even suggest we
> consider dropping even the encrypt-config on main so we can work to a 2.x
> M1 release then get that rewritten with tests in pure Java for a NiFi 2.x
> release.
>
> Thanks
>
> On Wed, Sep 13, 2023 at 12:58 PM Kevin Doran <kdo...@apache.org> wrote:
>
> >  I agree that tis toolkit can probably be removed in 2.0, and I would add
> > that tinycert.org provides another option for teams that need to setup
> > dev/test environments with trusted certificates.
> >
> > Thanks,
> > Kevin
> >
> > On Sep 13, 2023 at 11:46:19, David Handermann <exceptionfact...@apache.org
> > >
> > wrote:
> >
> > > Hi Isha,
> > >
> > > Thanks for the helpful reply. I agree that the TLS Toolkit is most
> > > convenient for development and lab deployments, and that's where we
> > > should be able to provide some documentation for alternatives. The
> > > existing Secure Cluster Walkthrough is a helpful reference for TLS
> > > Toolkit usage, so if we updated that to provide similar guidance using
> > > other tools, that would be useful.
> > >
> > > Getting everything right with TLS can be challenging, but when it
> > > comes to project maintenance, it seems better to focus on core
> > > capabilities and not maintain the TLS Toolkit if the primary use case
> > > is for non-production deployments.
> > >
> > > The encrypt-config command is a different question, but a very good
> > > question. It includes functionality that is very specific to NiFi, and
> > > it is also in need of refactoring. The threat model for containerized
> > > deployments may be somewhat different than running directly on
> > > physical hardware. With the need to support various approaches,
> > > however, some type of configuration encryption remains a relevant
> > > concern.
> > >
> > > Regards,
> > > David Handermann
> > >
> > > On Wed, Sep 13, 2023 at 10:19 AM Isha Lamboo
> > > <isha.lam...@virtualsciences.nl> wrote:
> > >
> > >
> > > Hi David,
> > >
> > >
> > > My primary use for the TLS toolkit is for lab deployments, mostly during
> > > in-house trainings. I will miss the convenience of having a full set of
> > > keystores and truststores ready to go with a single command, but then
> > > again, a few commands in a script should replicate this well enough,
> > > without the need for maintaining the toolkit.
> > >
> > >
> > > I see no obstacles to adopting NiFi 2.0 if the TLS toolkit is phased out,
> > > from the perspective of the deployments I manage.
> > >
> > >
> > > On a side note: How relevant is the encrypt config part of the toolkit
> > > still in a mostly containerized world?
> > >
> > >
> > > Regards,
> > >
> > >
> > > Isha
> > >
> > >
> > > -----Oorspronkelijk bericht-----
> > >
> > > Van: David Handermann <exceptionfact...@apache.org>
> > >
> > > Verzonden: woensdag 13 september 2023 15:16
> > >
> > > Aan: dev@nifi.apache.org
> > >
> > > Onderwerp: [DISCUSS] Deprecate TLS Toolkit for Removal?
> > >
> > >
> > > Team,
> > >
> > >
> > > The TLS Toolkit provides a number of useful features for securing NiFi
> > > server communication, but it also presents several maintenance concerns.
> > In
> > > light of other available tools, I am raising the question of removing the
> > > TLS Toolkit from the repository as part of NiFi 2.0 technical debt
> > > reduction.
> > >
> > >
> > > With the addition of automatic self-signed certificate generation in NiFi
> > > 1.14.0, the TLS Toolkit is much less relevant to standalone or
> > development
> > > deployments. The validity period of the automatic certificate is limited,
> > > but it provides a method of getting started without any need for the TLS
> > > Toolkit.
> > >
> > >
> > > On the other end of the spectrum, orchestrated deployments of Kubernetes
> > > can take advantage of cert-manager [1] for declarative and configurable
> > > certificate generation and distribution.
> > >
> > >
> > > Cluster deployments on physical hardware or virtual machines may have
> > > organization-specific Certificate Authorities, which require certificate
> > > request processing external to NiFi itself. For this scenario,
> > documenting
> > > several standard OpenSSL commands may help to describe converting between
> > > PEM and PKCS12 files for common use cases.
> > >
> > >
> > > Back to standalone deployments, Let's Encrypt provides automated
> > > certificate provisioning with many tools for managing updates. For a
> > > self-signed solution, the mkcert [2] tool is a popular and simple option
> > > that works across modern operating systems.
> > >
> > >
> > > With these alternatives, the use cases for TLS Toolkit seem limited.
> > >
> > > The Toolkit code is not well-structured, and includes several modes that
> > > involve custom configuration files with a Jetty web server. There are a
> > > number of long-standing unresolved Jira issues [3] related to the TLS
> > > Toolkit.
> > >
> > >
> > > Removing the TLS Toolkit for NiFi 2.0 would encourage the use of more
> > > robust alternatives and keep the project focused on core capabilities.
> > >
> > >
> > > Thoughts?
> > >
> > >
> > > Regards,
> > >
> > > David Handermann
> > >
> > >
> > > [1] https://cert-manager.io/
> > >
> > > [2] https://github.com/FiloSottile/mkcert
> > >
> > > [3]
> > >
> > https://issues.apache.org/jira/issues/?jql=project%20%3D%20NIFI%20AND%20resolution%20%3D%20Unresolved%20AND%20text%20~%20%22TLS%20Toolkit%22
> > >
> > >
> >

Reply via email to