michaeljmarshall opened a new pull request, #15084:
URL: https://github.com/apache/pulsar/pull/15084

   ### Motivation
   
   We support configuring KeyStores for the broker and the proxy, but not the 
WebSocket or the Function Worker. By adding this support, users are able to 
provide KeyStores of type PCKS12 or JKS, which adds flexibility. Further, these 
KeyStores simplify support for additional algorithms because we rely on the TLS 
provider to load the KeyStore instead of loading keys ourselves.
   
   ### Modifications
   
   * Add `KeyStoreSSLContext`s to the function worker server
   * Add `KeyStoreSSLContext`s to the web socket server
   * Add configurations to the function worker, the web socket, and the proxy 
configuration files to simply configuration
   * Rely on `toString`, not `ObjectMapper`, when converting the `WorkerConfig` 
to a string so that we don't log the KeyStore password. (Add a test to verify 
this logic. Note that we don't want the `ObjectMapper` to ignore the field 
because we use mappers when converting configuration classes.)
   
   ### Verifying this change
   
   I manually verified that this change works in a minikube cluster. The 
underlying method named `KeyStoreSSLContext#createSslContextFactory` is already 
used and tested, so I don't believe we need additional testing on that 
component.
   
   ### Does this pull request potentially affect one of the following parts:
   
   This change adds a new way to configure TLS in the WebSocket and Function 
Worker HTTPS Servers. As such, it adds new configuration. This configuration is 
named in the same way that the broker and proxy configuration is named, so it 
is consistent.
   
   ### Documentation
   
   I've documented the new configuration in the appropriate configuration files.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to