Installing and updating logic is going to be similar due to the fact that even when installing a package for the first time, there could be data coming (eg. the user is already using the agent Standalone)
If any one thing fails in the installation or update, it (and all side effects) should not happen.
installedPinging @elastic/ingest-management (Feature:EPM)
@neptunian Could you share a bit of background on why the order is as proposed above?
If all of the above is successful save to saved objects PACKAGES_SAVED_OBJECT_TYPE
Will this be a new saved object, or an update to the saved object of the previous version?
we will not update the configuration automatically (which references package versions) after updating a package
++ I agree with this approach. On the agent config UI side, we should surface package version that is being used by the agent config.
@ruflin In step 3, I want to confirm in the scenario where we update the mappings and data comes in before we update the settings, that we are not concerned that new mappings could have been added and that data is not being handled (but is supposed to be), by the new ingest pipeline.
For triggering the rollover in the event that mappings is incompatible, how is this meant to work currently when we only have one index and are not using an index alias?
As the mapping and ingest pipeline are always updated before any agent config, it should not be possible that new data comes in before we updated all of it?
For triggering the rollover: I guess it will not work in alpha1 then :-( We will need data streams for that. Lets assume we don't have breaking mapping changes during alpha1. But at the same time, we should already build all the code and testing for it to make sure it will work.
This was completed for alpha and is more of a meta issue to document how installation works
@neptunian @ruflin What is the goal of that issue, should we keep it open, move it into our documentation?
++ moving this into docs and for the outstanding open new issues.