[helm] Enable SASL authentication configurations#2506
[helm] Enable SASL authentication configurations#2506loserwang1024 merged 13 commits intoapache:mainfrom
Conversation
ebf267c to
743acef
Compare
affo
left a comment
There was a problem hiding this comment.
Thanks for the great job!
I think there is a bit of confusion 👍
I left many comments here and there, but let me wrap up my thoughts:
About the JAAS configuration, I think we can safely move the helper to directly template stringData into the secret and also remove all the clutter in the command section to avoid setting things there 👍
In general, I think the values provided are not enough: if INTERNAL does not have any SASL enabled, then FlussClient is not required to be configured, as Fluss needs to authenticate only if the internal listener is protected. I think this demands for a re-design of this feature 🤝
|
Hello @affo , Thanks for the review! Please have another look 🤝 |
affo
left a comment
There was a problem hiding this comment.
Looks good now 🚀
@swuferhong what do you think?
5ca48aa to
625c0f9
Compare
|
Thanks for the suggestions! Please have a look to the PR again. I have identified two follow-up issues that need to be addressed separately.
I will follow up with issues and PR for each. [DONE] Separating SASL CommunicationFor this to work we would need to prefix the JAAS contents with But this does not work for the client, as on this line the client listener name is hard coded as Special Character for SASL Usernames and PasswordsThis is also indeed an issue, which requires core change for SASL client authentication. Without escaping we would have something like below This fails on server with configuration error. It should be correctly escaped as below: But this again causes issues on client side since the SaslClientAuthenticator does not escape the user provided username and password. This is the failing test for @Test
void testSpecialCharactersForPassword() throws Exception {
final String specialPassword = "pa$$wo\\rd!@#%&\"";
final Configuration clientConfig = new Configuration();
clientConfig.setString("client.security.protocol", "sasl");
clientConfig.setString("client.security.sasl.username", "admin");
clientConfig.setString("client.security.sasl.password", specialPassword);
testAuthentication(clientConfig, getDefaultServerConfig());
}Since both of these points require changes to Fluss core packages, let's address them separately. |
|
Discussed offline with @affo, we don't have to worry about the prefixing the |
05999c4 to
f6d123b
Compare
Co-authored-by: Lorenzo Affetti <lorenzo.affetti@gmail.com>
* [helm] Enable pulling from private Docker registry (#2692) * [helm] Enable pulling from private Docker registry Added instructions for using a private Docker registry and included image values reference. --------- Co-authored-by: xx789 <348448708@qq.com> (cherry picked from commit 43f76a5) * [helm] Fix wrong resource name in coordinator sts (#2834) (cherry picked from commit 2c49fbc) * [helm] Add CI workflow to run Helm tests (#2777) * [helm] Add CI workflow to run Helm tests (cherry picked from commit dd181eb) * [Helm] Chart Component Configuration Isolation (#2472) * Helm Chart Component Configuration Isolation * Retrigger CI tests * Retriggering CI/CD build pipeline (cherry picked from commit d956e75) * [Helm] Revert Chart Component Configuration Isolation (#2472) (#2863) This reverts commit d956e75. (cherry picked from commit 8cd9a6f) * [helm] Enable SASL authentication configurations (#2506) (cherry picked from commit f7e4498) * [helm] Rewrite README to point to website docs (#2846) (cherry picked from commit aa5d166) * [helm][hotfix] Go template whitespace trimming caused exceptions (#2893) * [helm][hotfix] Go template whitespace trimming caused exceptions * Update and use without trimming (cherry picked from commit 22ece48) * [helm] Enable metrics reporting in helm charts (#2711) --- Co-authored-by: Lorenzo Affetti <lorenzo.affetti@gmail.com> (cherry picked from commit 2b207a4) * [helm] Fix .helmignore to not package tests (#2847) (cherry picked from commit d4748f2) * [helm] Enable SASL authenticated connection to Zookeeper nodes (#2700) --- Co-authored-by: Lorenzo Affetti <lorenzo.affetti@gmail.com> (cherry picked from commit bdbbbce) * [helm] Fix Zookeeper client config path (#3015) (cherry picked from commit e9bfd72) * [helm] Fix wrong resource name in coordinator sts (#3044) (cherry picked from commit 8df3873) * [helm] Add extraVolumes, extraVolumeMounts, initContainers (#3034) (cherry picked from commit 17f5400) --------- Co-authored-by: Lorenzo Affetti <lorenzo.affetti@gmail.com> Co-authored-by: xx789 <348448708@qq.com> Co-authored-by: Hemanth Savasere <hemanth.savasere@gmail.com>
Purpose
Linked issue: close #2503
Brief change log
Adds configuration options to Helm charts to enable SASL authentication.
Tests
API and Format
Documentation
Updated the deploying-with-helm documentation