[production] Remove citrix, kaspersky, rapid7 and tenable packages - #367
Conversation
We've decided to pull out these experimental packages due to issues with them: - citrix and kaspersky parsers expect data from a ODBC connection. - rapid7 and tenable require additional parsing.
ruflin
left a comment
There was a problem hiding this comment.
@adriansr Pulling these out is a bit late as 7.9 is shipped and it might be that some users already installed it. So far Kibana assumes packages which were available do not disappear. We plan to change this in 7.10.
So I'm worried by getting this PR in and shipping it, that we break some deployements. It would be better to fix the integration instead. And if want to go with the above forward, we should test on what happens if you have the package installed and it is not there anymore aftewards.
|
@ruflin I know it's late, sorry about that. I've tested what happens when they are removed and an agent is already using them:
Unfortunately fixing the integration is not possible. It's an autogenerated integration from an external source and now we found out that the source is not valid. It implies creating a new integration from scratch. Do we have monitoring to know how many agents have these integrations installed? |
|
@adriansr Thanks for testing this. Could you try even though the package does not show up in the UI, if it can still be removed through an API call. @neptunian can help you with details here. My thinking: For the users that tried it out and do not want to see the errors forever, we can provide at least with a command to clean it up. We do not know how many agents use it. |
|
@ruflin, it's possible to go to Integrations tab, you get a list of all used integrations including the removed ones, and remove these integrations in there. Is that equivalent to the API call? |
That should be equivalent, @neptunian could confirm. |
|
@adriansr Perhaps an alternative idea here, is to add a new package which is almost empty. Like this, on update the existing assets get removed and the user can even uninstall the package in the UI. |
|
@adriansr By removing you mean my suggestion before your comment or getting rid of them completely? |
|
@ruflin, I missed it.
How does this work? I understand the package will still show up in the UI? Isn't that misleading for users installing this new package? |
|
@adriansr Yes, it will still show up but hopefully all the assets are removed. It allows us to give users some communication on why it was removed and probably more important for us, it makes sure things don't break. Also I hope it allows users to remove it. |
|
@skh I think you can comment on some experience with disappearing packages? |
|
I think it depends which assets are the problematic ones, as not all assets that were removed in the package will be removed from the system when the package is updated. (Cc @neptunian for details.) |
|
All the Kibana assets are removed, but the index templates will not be removed on an update. You will need to remove the package to do that.
I'm not sure I understand this. You should not see removed integrations in the list of installed integrations. Removing an integration is equivalent to calling the endpoint |
|
@neptunian , I wasn't clear. I mean for an integration that is removed from this repo while in use by an agent:
Is it clearer now? |
|
@adriansr Got it, thanks. If we want to go the update route, you would need to make sure to update the dataset fields to just have some basic fields that would create some simple mappings and index templates that could overwrite the current ones. Everything else should be able to be deleted in the package and it will be deleted in elasticsearch and kibana. |
|
@adriansr We seem to be stuck here a bit. By now we have branched out
|
|
Thanks @ruflin, makes sense.
That means I can merge this PR? Can you approve? |
|
@ruflin @ph I created elastic/kibana#76489, feel free to edit and ping the appropriate people if necessary. |
|
Thanks @adriansr I will rollout the new version of the registry now. Would be nice if you could check that it actually disappeared in the most recent version. |
The package storage and the package registry are soon going to be decoupled. To be able to still build a docker container with both inside a Dockerfile is needed that can pull in the dependencies from an external sources instead of local files. To get this started, a separate Dockerfile is introduced that does not load any files from the repository directly but pulls it from Github. This is to start play around with this idea. The end goal is being able to pass in the version of the packages that should be used to built the container and the version of the registry. Where this Dockerfile should land in the end is not clear yet but the package-registry seems to be a good place at the moment.
We've decided to pull out these experimental packages due to issues with them: