-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
cloud
plugin disabled by default
#140173
Comments
Pinging @elastic/kibana-core (Team:Core) |
IIRC, the reasoning to not add the
So, to reverse the question:
Which upsides do you see doing so? |
IMO, using |
Fair one.
FWIW, that's not how our plugin dependency system works. In such scenario, Kibana would just refuse to start.
Not gonna disagree on this one, but these checks are only here because of bad architectural / API design ihmo. It could be worked around by wrapping the cloud API altogether and just not returning it at all from the plugin's contracts when not in cloud, as some bridge plugins already do: kibana/src/plugins/saved_objects_tagging_oss/public/types.ts Lines 24 to 35 in 4584a8b
setup() {
if(notOnCloud) {
return { isCloudEnabled: false, cloudAPI: undefined }
}
// normal contract return
} Which is not perfect, but the recommended design for such 'soft disable-able' plugins.
Yea, it would be slightly better. But same as previous point, this is how this is done for the SOT optional dependency everywhere: const taggingApi: SavedObjectsTaggingApi | undefined = SOT.isTaggingAvailable() ? SOT.getTaggingApi() : undefined.
// later
if (taggingApi) {
// tagging feature available, do something.
} Overall, the decision of limiting the number of plugins we can disable was mainly driven by the fact that it reduces the number of permutations we have to run the FTR against (as in theory we should be running against every entry in the disabled-plugin matrix permutations). But I'd love to see the other teammates's thoughts on that question. We can totally reopen the discussion if necessary. |
++ This was the primary reasoning for not making plugins disable-able by default. The thinking was that unless there is a valid use case for for using it which could be tested separately (like an experimental new plugin), it only adds more complexity to the system. IMO the two most compelling arguments for making the
But as pointed out above, we had decided for 8.0 that:
I'm also fine with reopening that discussion, but I'd just want to make sure we have a really compelling list of reasons before reverting to the older behavior. |
I agree with the summary and theoretical benefits so I believe this is something we might want to re-evaluate in the future. But if the end-user benefit is just 11k then I'm not sure it justifies spending time on it right now. |
I may have a wrong understanding of this, but, AFAIK, if plugin C depends on plugin B (it lists
I understand this (and I am a huge ++) for plugins like However, IMO, All that said, I'm OK with waiting until we have a stronger requirement for this. We have so many things on our plate so far. |
Nope, it does crash. kibana/src/core/server/plugins/plugins_system.ts Lines 326 to 330 in 9b75efd
kibana/src/core/server/plugins/plugins_system.test.ts Lines 157 to 163 in a969d42
|
Thanks for confirming... somehow, I recalled that being the case in some scenarios ( |
Strange, because atm the The filtering is done later in the initialization chain, here for server plugins: kibana/src/core/server/plugins/plugins_system.ts Lines 93 to 95 in 9b75efd
and here for ui plugins kibana/src/core/server/plugins/plugins_system.ts Lines 247 to 249 in 9b75efd
So it should have been crashing. But anyway, If for any reason at some point we want to change the behavior to exclude plugins with missing deps instead of terminating the process, I'm fine-ish with it, as long as we think carefully about the consequences (and as long I'm not the one changing the algorithm to be able to dissociate plugins with missing deps from plugins with cyclic dependencies, as Kahn's doesn't make that distinction ) |
Closing this issue... still no need to disable it :) |
Currently, the
cloud
plugin is always enabled, even for non-ESS distributions.It was disable-able until 8.0 #113495, but it was still enabled by default.
Should we allow this plugin to be disable-able?
Also, should it be disabled by default?
The text was updated successfully, but these errors were encountered: