-
Notifications
You must be signed in to change notification settings - Fork 73
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
Enforce data streams #69
Comments
@ruflin does this looks reasonable and doable? |
SGTM. Will this specific data stream have any configs or also configs should be skipped? |
So I imagine something like this in
force_enabled would instruct Kibana to not render the toggle, and treat it internally as enabled. Other than that, I don't think there is anything else required to make this work for us. |
Wait, hold on. There are still many things I don't understand... :( If so, we must treat apm-server as an input, so that Kibana actually installs the APM templates (meaning: install the APM Server "input" templates). A better alternative for us would be if we can bypass the "input" concept completely. Define all the assets at the top level, and internally generate a default/fake/placeholder input holding all the top level configuration... But I guess this is easier said than done. |
Inputs and data streams are not directly attached to each other. You can install a package without ever setting up a policy for it. In this case, only the data_stream assets are installed. What we need to validate is on what happens, if a data_stream does not contain any input in the UI. In the best case, it should just skip it but so far we did not have this example. In the APM case I agree it makes most sense to probably specify it all directly in the package manifest. This should already be possible. |
How come? If I am reading the spec right, package-spec/versions/1/data_stream/manifest.spec.yml Lines 98 to 105 in e7102f8
I know it is possible to define an
If a data stream does not contain any input (or all its inputs are disabled), the So, What I tried to ask above is: if there are no inputs for a data stream, will Kibana still install the templates/assets defined for that data stream? My assumption is no. So I think that, in addition to the enhancement request here (enforce data streams) we have 2 other needs:
Do you agree with this? If not, what am I missing? |
If there is no input for a data stream, I expect that all assets like ingest pipeline, templates etc are still installed. If not, I consider it a bug. Did you try it to leave it just out? For the The last part I didn't fully get: Why do you still need the vars from the data_stream? Why not all global? |
Ok, that answers my main question :)
Maybe I am too dense, but in that Nginx example, If have eg. 1 stream with 1 input, the policy generated will look like:
If the data stream has no
So
Yeah sorry, I meant |
Even if you have a single global config, the data_streams are important. APM will have multiple data_streams and templates, pipelines etc. to create these should still be defined in the data_streams directory, I think only the config / policy part is special.
Exactly. In the case of apm I assume, there should not even be a streams block. |
* Rename cluster to stack * Sorting imports
As of now, data streams and inputs can always be enabled/disabled via a Kibana toggle switch.
This makes sense for existing integrations, but not so much for APM. Eg., APM records and ingests traces, so if you disable a traces data stream then APM wouldn't work.
We need a way in the spec to define that a data stream is always enabled, so that Kibana doesn't even show a toggle for it.
I suggest a simple boolen attribute
force_enabled
in the data streammanifest.yml
and default tofalse
.The text was updated successfully, but these errors were encountered: