After a conversation about #346 with @ruflin we came to the conclusion that we may want to have a package type for additional content, something as DLCs for integration packages.
This package type would only contain assets, and references to an integration package. Packages of this type could be only installed if the referenced integration package is installed.
Use cases for these packages:
- Potentially large sample data.
- Optional assets, that may be also large, and may have different licenses or require different subscriptions, as ML models.
- Additional dashboards, for specific use cases, and/or maintained by other teams or the community.
- Assets like dashboards or ML jobs for data collected by OTEL or other collectors.
Data streams, or anything that alters ingestion of data would be excluded from these packages, to avoid complex dependencies and interactions.
Some notes about this:
- From the spec perspective, these packages would be like integration packages, but without data_streams or anything related to ingestion, and with a dependency to the integration package that collects the data. The dependency would need to be with package name and version range.
- Fleet would install these packages as assets of the main package. If the main package is uninstalled, packages with additional content should be uninstalled too.
- From the package search POV, these packages could be found:
- From the main package view. For example from the
nginx package view, you can also discover "content" packages for nginx.
- From the package search view, you can also find these packages, and when installing them, the referenced integration is installed too.
Tasks
After a conversation about #346 with @ruflin we came to the conclusion that we may want to have a package type for additional content, something as DLCs for integration packages.
This package type would only contain assets, and references to an integration package. Packages of this type could be only installed if the referenced integration package is installed.
Use cases for these packages:
Data streams, or anything that alters ingestion of data would be excluded from these packages, to avoid complex dependencies and interactions.
Some notes about this:
nginxpackage view, you can also discover "content" packages for nginx.Tasks
contentpackage type in package spec.contentpackages in package-registry.discoveryfeatures in package-registry Add support to index and search packages based on discovery features package-registry#1229