-
Notifications
You must be signed in to change notification settings - Fork 42
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
Launcher wrapper layer and the validator abstraction #611
Comments
The functionality of a new beat generation no longer exists elastic/beats#28816. I think we should try and follow the SOLID principles. I am open to discussing cloudbeat specific requirements from the launcher, and discussing why we even need config validation as part of the reconfiguration. Would love to hear your thoughts as well. @jeniawhite @oren-zohar |
Based on both comments, I think focus on the following consideration first:
This isn't an intuitive aspect of its design. If this is the entire purpose, maybe we should rename it, or consider removing it completely. And again, we need to define clearly what is this component's role in cloudbeat flow (other than wrapping the config). |
As I said keeping the SOLID principles, as I see it, those are different layers of cloudbeat.
Here is a pr that resolves it #628
I am open to discussing other naming for that class or a different implementation that also keeps the separation between the transport layer and the business logic. |
Motivation
Today our
cloudbeat
is wrapped by alauncher
component that manages the reconfigurations and runs the beat itself.This is different from other beats that do not have this wrapper logic and is also not part of the
beat
development generation code.The goal of the
launcher
was to be agnostic to the underlying managedbeat
and to eventually be transformed into thebeat
development generation code.Currently, this wrapper is being used only by our beat and there are no future plans for it to change (not that I'm aware of as of right now).
Part of the
launcher
includes the implementation of an abstraction layer ofvalidator
that has the purpose of validating configurations for thebeat
instance.Our current implementation of the
validator
just calls theconfig
constructor and doesn't do anything besides that.We should discuss if we still want to have this whole abstraction layer or if it is redundant.
While working on this PR:
I've had multiple commits regarding different ways how to tackle this configuration issue.
We've decided to keep the
validator
and leave the checks inside theconfig
for now.Definition of done
What needs to be completed at the end of this task
The text was updated successfully, but these errors were encountered: