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:
datasources:
- namespace: default
use_output: default
inputs:
- type: system/metrics
streams:
- metricset: cpu
dataset: system.cpu
After:
inputs:
- namespace: default
use_output: default
type: system/metrics
streams:
- metricset: cpu
dataset: system.cpu
Changes to be made:
Phase 2 - Adjust dataset naming
Based on elastic/package-registry#482 configs related to datasets should be adjusted
Before
inputs:
- namespace: default
use_output: default
type: system/metrics
streams:
- metricset: cpu
dataset: system.cpu
After
inputs:
- dataset.namespace: default
use_output: default
type: system/metrics
streams:
- metricset: cpu
dataset.name: system.cpu
Phase 3 - Remove datasources
The naming of datasources should be renamed in Kibana, the package-registry and the packages.
Phase 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):
inputs:
- dataset.namespace: default
use_output: default
type: system/metrics
streams:
- metricset: cpu
dataset.name: system.cpu
dataset.type: logs
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:
datasourceswithinputswhen generating agent config kibana#69226Phase 2 - Adjust dataset naming
Based on elastic/package-registry#482 configs related to datasets should be adjusted
Before
After
datasourceswithinputswhen generating agent config kibana#69226Phase 3 - Remove datasources
The naming of datasources should be renamed in Kibana, the package-registry and the packages.
datasourceslist in package manifest toconfig_templatesUpdate 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.typeto Kibana config generation [Ingest Manager] Support updated package output structure kibana#69864