-
Notifications
You must be signed in to change notification settings - Fork 116
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Configurable TopologyValidator plugin mechanism #249
Configurable TopologyValidator plugin mechanism #249
Conversation
Great ideas, thanks for that! The TopologyValidator change is reverted and the TopicNameRegexValidation takes its argument(s) from the config, like this: One thing to notice though is that you suggested to add the regex in the config topology.validations.regexp.0 No need to take the PR yet - if everyone agrees I will make a clean commit without the intermediate commits of this branch. |
Hi, quick question, could it happen for a user to have the need of more than one regexp to validate topics? a fair answer would it be that not, so we only have one regular expression and one topic name validator. What do you think? If that would be the case, do you think we could add a validation for this config, a check like if you tried to have more than one TopicNameRegexValidation, raise an exception. Does this make sense? |
On the other side, before we merge this in, would you please be so nice to add a few notes (does not need to be a bible 😄 ) in the documentation about it? thanks a lot. |
I really like where this is going! thanks a lot for your help here @LeonardoBonacci !! really appreciated |
Hi @LeonardoBonacci, do you mind adding test for the validation? |
Hi @LeonardoBonacci, if you don't mind I would import these changes within #274, add test and add it to master! thanks a lot for your contribution. |
By solving this issue, this PR also introduces some configurable flexibility in the validator 'framework'. It allows a potential String parameter to be inserted in the constructor by naming convention (# is used as a separator in this example). It can then be used in the corresponding TopologyValidatorImpl at will.
It's backwards compatible.
Still work in progress. Feedback is welcome and community acceptance is required before proceeding.