-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
[Elastic Agent] Change structure of Elastic Agent across the Stack #19082
Comments
Pinging @elastic/ingest-management (Team:Ingest Management) |
i think it will be easier to create one big PR which will include all the phases at once. splitting this issue into phases is a good thing though and provides a clear implementation plan, thank you for that @ruflin |
@jen-huang How do you see it on the Kibana side to do all changes at once? I think also on the registry and package side it is possible to do the changes in one go, but we will have to temporarily disable some tests to not have to merge red builds. |
If possible let's reduce the number of PR this might help for the testing too? cc @EricDavisX for awareness. |
I think Kibana changes are fine to do in one go as well, and agree with @ph that one PR per repo would make testing easier, and also make merge coordination easier too. |
Thanks for the ping. For my 2 cents, I will say that if it impacts teams outside of Ingest we may want to not put them thru the need to adjust their codebases multiple times. But also, It Depends, on if it will take us many weeks (just get it done once?) or 3 or more months (maybe better to do it in more digestable stages) for the phases. Most helpful is the clear plan we can point teams to and the advanced notice of the pending merges, and good tests on our side to back up that we're making good changes. |
As for KB and Agent it seems doing all at once is easier, lets try to merge all the phases into 1. We should make sure that we coordinates the merges into master but also the backports to 7.x and do them quickly. Because as soon as the changes in the registry are made, it will affect master and 7.x |
@ruflin I'd like propose moving We can get the Kibana, Agent, and package registry changes from the other phases in first without worrying about breaking CI. This will get us to the new agent config structure right away for testing. Then we can spend a bit more time on Phase 3 revisiting the structure of the package manifest and Kibana saved objects. (I recall that we discussed even removing The SO mapping changes will also affect how Endpoint creates their config. I'll have a Kibana PR up shortly with all changes except for Phase 3. |
Here is the Kibana PR excluding Phase 3: elastic/kibana#69226 |
@jen-huang Yup, I think its a really good changes after all, your proposal sound like a good plan. :) |
This looks great. I also realised if we remove Phase 3 for now, we don't need any changes on the registry and package side yet as all the dataset info is added by Kibana to the config. Or do I miss something here? Will now test both Agent + Kibana PR together to see if things keep working. |
After discussion with @ruflin and @michalpristas, we pulled Phase 4 (adding |
Hi all, the Kibana changes to support package registry output changes in elastic/package-registry#514 is ready for testing and review: elastic/kibana#69864. I have included an example generated agent config if anyone wants to test with agent standalone. @michalpristas After discussing with @ruflin, we realized that the There is one more Kibana task remaining for this issue: |
Tested and works. @michalpristas I assume no "direct" changes are needed to get the Kibana PR in? |
The renaming of data sources -> package configs Kibana PR has been merged: elastic/kibana#70259 The rest of the unchecked items on this list relates to package registry, but I think some (all?) of them are not really needed or have already been done. @ruflin can you review? |
Closing as all work on this is done. |
In #18758 the decision was made to change the config structure of the Elastic Agent. This issue is to track the changes needed across all parts of the Stack. It is split up in different phases so the changes can be done in small chunks and it can be tested everything still works as expected.
Phase 1 - Remove data source
In Phase 1, the datasources array is removed from the config and all the configs on the datasource level are moved to the input level.
Before:
After:
Changes to be made:
datasources
withinputs
when generating agent config kibana#69226Phase 2 - Adjust dataset naming
Based on elastic/package-registry#482 configs related to datasets should be adjusted
Before
After
datasources
withinputs
when generating agent config kibana#69226Phase 3 - Remove datasources
The naming of datasources should be renamed in Kibana, the package-registry and the packages.
datasources
list in package manifest toconfig_templates
Update package output structure package-registry#514Phase 4 - Add support for dataset.type
Currently the dataset.type is inherited from the input.type but this might not always correct. In the future it should be possible to set the dataset.type independently. Below is an example on how this could look (example does not make much sense):
dataset.type
to Kibana config generation [Ingest Manager] Support updated package output structure kibana#69864The text was updated successfully, but these errors were encountered: