-
Notifications
You must be signed in to change notification settings - Fork 8.2k
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
[Fleet] Support content packages in integrations UI #192484
Comments
Pinging @elastic/fleet (Team:Fleet) |
@kpollich we probably need to prioritize this right? |
Yes I will provide some rough design considerations and we can get this prioritized. |
I've added some implementation specifics to the description above |
I've added an implementation item for this functionality:
This is something we could solve either in the UI or in |
@kpollich what kind of information would this |
This would be the actual collector config used to collect data in a format that is compatible with the assets included in the content package. cc @ishleenk17 I'm thinking more about this and it may make sense to just include this in a code block in the README for now until we have OTel templates as a longer term solution to this. |
Regarding the visibility of the Tile in the integrations UI for content-only integrations, have we identified specific use cases where content-only integrations serve as the starting point for the onboarding flow? cc: @jsoriano |
Not on the current use cases, they are intended to provide functionality over existing data. One of the use cases identified for content integrations is to provide sample data, but maybe this use case could also require the installation of an actual integration first.
Maybe we can add something to the spec to declare how each integration can be discovered, defaulting to something that means "discover only by pre-exisiting data". |
## Summary Related to #192484. This PR adding [new content package types and schemas](elastic/package-spec#777) so that content packages can be returned correctly from EPR to unblock development of those packages. The only current content package is `kubernetes_otel`. You will need to bump up the max allowed spec version and search with beta (prerelease) packages enabled to find it: ``` xpack.fleet.internal.registry.spec.max: '3.4' ``` Tests will come with the rest of work for #192484 --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
## Summary Related to elastic#192484. This PR adding [new content package types and schemas](elastic/package-spec#777) so that content packages can be returned correctly from EPR to unblock development of those packages. The only current content package is `kubernetes_otel`. You will need to bump up the max allowed spec version and search with beta (prerelease) packages enabled to find it: ``` xpack.fleet.internal.registry.spec.max: '3.4' ``` Tests will come with the rest of work for elastic#192484 --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> (cherry picked from commit bd6533f) # Conflicts: # oas_docs/bundle.json # oas_docs/bundle.serverless.json # oas_docs/output/kibana.serverless.staging.yaml # oas_docs/output/kibana.serverless.yaml # oas_docs/output/kibana.staging.yaml # oas_docs/output/kibana.yaml # x-pack/plugins/fleet/server/types/rest_spec/epm.ts
…195690) # Backport This will backport the following commits from `main` to `8.x`: - [[UII] Add types to return content packages correctly (#195505)](#195505) Note that this includes manual changes to openapi spec files. This change is not present on the original PR as the main branch no longer uses openapi spec files. <!--- Backport version: 8.9.8 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) <!--BACKPORT [{"author":{"name":"Jen Huang","email":"its.jenetic@gmail.com"},"sourceCommit":{"committedDate":"2024-10-09T20:08:18Z","message":"[UII] Add types to return content packages correctly (#195505)\n\n## Summary\r\n\r\nRelated to #192484. This PR adding [new content package types and\r\nschemas](elastic/package-spec#777) so that\r\ncontent packages can be returned correctly from EPR to unblock\r\ndevelopment of those packages.\r\n\r\nThe only current content package is `kubernetes_otel`. You will need to\r\nbump up the max allowed spec version and search with beta (prerelease)\r\npackages enabled to find it:\r\n```\r\nxpack.fleet.internal.registry.spec.max: '3.4'\r\n```\r\n\r\nTests will come with the rest of work for #192484\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"bd6533f30b58fc831670d400f25a61321379902c","branchLabelMapping":{"^v9.0.0$":"main","^v8.16.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:Fleet","v9.0.0","backport:prev-minor"],"number":195505,"url":"https://github.com/elastic/kibana/pull/195505","mergeCommit":{"message":"[UII] Add types to return content packages correctly (#195505)\n\n## Summary\r\n\r\nRelated to #192484. This PR adding [new content package types and\r\nschemas](elastic/package-spec#777) so that\r\ncontent packages can be returned correctly from EPR to unblock\r\ndevelopment of those packages.\r\n\r\nThe only current content package is `kubernetes_otel`. You will need to\r\nbump up the max allowed spec version and search with beta (prerelease)\r\npackages enabled to find it:\r\n```\r\nxpack.fleet.internal.registry.spec.max: '3.4'\r\n```\r\n\r\nTests will come with the rest of work for #192484\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"bd6533f30b58fc831670d400f25a61321379902c"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","labelRegex":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/195505","number":195505,"mergeCommit":{"message":"[UII] Add types to return content packages correctly (#195505)\n\n## Summary\r\n\r\nRelated to #192484. This PR adding [new content package types and\r\nschemas](elastic/package-spec#777) so that\r\ncontent packages can be returned correctly from EPR to unblock\r\ndevelopment of those packages.\r\n\r\nThe only current content package is `kubernetes_otel`. You will need to\r\nbump up the max allowed spec version and search with beta (prerelease)\r\npackages enabled to find it:\r\n```\r\nxpack.fleet.internal.registry.spec.max: '3.4'\r\n```\r\n\r\nTests will come with the rest of work for #192484\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"bd6533f30b58fc831670d400f25a61321379902c"}}]}] BACKPORT--> --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
@jsoriano @kpollich Based on the discussion here and the current content package spec, this file is not part of the spec yet, correct? If that's the case, I suggest we hold off on the UI portion until the spec work is done. Could it be possible that we allow |
Correct, this file is not part of the spec, and I don't think this is going to be added by now. Looking to this comment #192484 (comment), it seems enough if the package developer decides to add something about OTel in the README. So I don't think anything else needs to be done about this if READMEs are already rendered. Once OTel templates are more defined we can reconsider if we need something else for docs. |
Updated description to strike out the requirement about |
## Summary Resolves elastic#192484. This PR adds support for content packages in UI. When a package is of `type: content`: - `Content only` badge is shown on its card in Integrations list, and on header of its details page - `Add integration` button is replaced by `Install assets` button in header - References to agent policies are hidden - Package policy service throws error if attempting to create or bulk create policies for content packages <img width="1403" alt="image" src="https://github.com/user-attachments/assets/a82c310a-f849-4b68-b56c-ff6bb31cd6bf"> <img width="1401" alt="image" src="https://github.com/user-attachments/assets/63eb3982-9ec9-494f-a95a-2b8992a408ba"> ## How to test The only current content package is `kubernetes_otel`. You will need to bump up the max allowed spec version and search with beta (prerelease) packages enabled to find it: ``` xpack.fleet.internal.registry.spec.max: '3.4' ``` Test UI scenarios as above. The API can be tested by running: ``` POST kbn:/api/fleet/package_policies { "policy_ids": [ "" ], "package": { "name": "kubernetes_otel", "version": "0.0.2" }, "name": "kubernetes_otel-1", "description": "", "namespace": "", "inputs": {} } ``` ### Checklist Delete any items that are not applicable to this PR. - [x] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md) - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios (cherry picked from commit 9512f6c) # Conflicts: # x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/settings/settings.tsx
# Backport This will backport the following commits from `main` to `8.x`: - [[UII] Support content packages in UI (#195831)](#195831) <!--- Backport version: 8.9.8 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) <!--BACKPORT [{"author":{"name":"Jen Huang","email":"its.jenetic@gmail.com"},"sourceCommit":{"committedDate":"2024-10-15T17:18:41Z","message":"[UII] Support content packages in UI (#195831)\n\n## Summary\r\n\r\nResolves #192484. This PR adds support for content packages in UI. When\r\na package is of `type: content`:\r\n\r\n- `Content only` badge is shown on its card in Integrations list, and on\r\nheader of its details page\r\n- `Add integration` button is replaced by `Install assets` button in\r\nheader\r\n- References to agent policies are hidden\r\n- Package policy service throws error if attempting to create or bulk\r\ncreate policies for content packages\r\n\r\n<img width=\"1403\" alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/a82c310a-f849-4b68-b56c-ff6bb31cd6bf\">\r\n\r\n<img width=\"1401\" alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/63eb3982-9ec9-494f-a95a-2b8992a408ba\">\r\n\r\n## How to test\r\nThe only current content package is `kubernetes_otel`. You will need to\r\nbump up the max allowed spec version and search with beta (prerelease)\r\npackages enabled to find it:\r\n```\r\nxpack.fleet.internal.registry.spec.max: '3.4'\r\n```\r\n\r\nTest UI scenarios as above. The API can be tested by running:\r\n```\r\nPOST kbn:/api/fleet/package_policies\r\n{\r\n \"policy_ids\": [\r\n \"\"\r\n ],\r\n \"package\": {\r\n \"name\": \"kubernetes_otel\",\r\n \"version\": \"0.0.2\"\r\n },\r\n \"name\": \"kubernetes_otel-1\",\r\n \"description\": \"\",\r\n \"namespace\": \"\",\r\n \"inputs\": {}\r\n}\r\n```\r\n\r\n### Checklist\r\n\r\nDelete any items that are not applicable to this PR.\r\n\r\n- [x] Any text added follows [EUI's writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing), uses\r\nsentence case text and includes [i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\r\n- [x] [Unit or functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere updated or added to match the most common scenarios","sha":"9512f6c26fbac59b8b8d7390dc28da930e42f181","branchLabelMapping":{"^v9.0.0$":"main","^v8.16.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Fleet","v9.0.0","release_note:feature","backport:prev-minor"],"number":195831,"url":"https://github.com/elastic/kibana/pull/195831","mergeCommit":{"message":"[UII] Support content packages in UI (#195831)\n\n## Summary\r\n\r\nResolves #192484. This PR adds support for content packages in UI. When\r\na package is of `type: content`:\r\n\r\n- `Content only` badge is shown on its card in Integrations list, and on\r\nheader of its details page\r\n- `Add integration` button is replaced by `Install assets` button in\r\nheader\r\n- References to agent policies are hidden\r\n- Package policy service throws error if attempting to create or bulk\r\ncreate policies for content packages\r\n\r\n<img width=\"1403\" alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/a82c310a-f849-4b68-b56c-ff6bb31cd6bf\">\r\n\r\n<img width=\"1401\" alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/63eb3982-9ec9-494f-a95a-2b8992a408ba\">\r\n\r\n## How to test\r\nThe only current content package is `kubernetes_otel`. You will need to\r\nbump up the max allowed spec version and search with beta (prerelease)\r\npackages enabled to find it:\r\n```\r\nxpack.fleet.internal.registry.spec.max: '3.4'\r\n```\r\n\r\nTest UI scenarios as above. The API can be tested by running:\r\n```\r\nPOST kbn:/api/fleet/package_policies\r\n{\r\n \"policy_ids\": [\r\n \"\"\r\n ],\r\n \"package\": {\r\n \"name\": \"kubernetes_otel\",\r\n \"version\": \"0.0.2\"\r\n },\r\n \"name\": \"kubernetes_otel-1\",\r\n \"description\": \"\",\r\n \"namespace\": \"\",\r\n \"inputs\": {}\r\n}\r\n```\r\n\r\n### Checklist\r\n\r\nDelete any items that are not applicable to this PR.\r\n\r\n- [x] Any text added follows [EUI's writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing), uses\r\nsentence case text and includes [i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\r\n- [x] [Unit or functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere updated or added to match the most common scenarios","sha":"9512f6c26fbac59b8b8d7390dc28da930e42f181"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","labelRegex":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/195831","number":195831,"mergeCommit":{"message":"[UII] Support content packages in UI (#195831)\n\n## Summary\r\n\r\nResolves #192484. This PR adds support for content packages in UI. When\r\na package is of `type: content`:\r\n\r\n- `Content only` badge is shown on its card in Integrations list, and on\r\nheader of its details page\r\n- `Add integration` button is replaced by `Install assets` button in\r\nheader\r\n- References to agent policies are hidden\r\n- Package policy service throws error if attempting to create or bulk\r\ncreate policies for content packages\r\n\r\n<img width=\"1403\" alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/a82c310a-f849-4b68-b56c-ff6bb31cd6bf\">\r\n\r\n<img width=\"1401\" alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/63eb3982-9ec9-494f-a95a-2b8992a408ba\">\r\n\r\n## How to test\r\nThe only current content package is `kubernetes_otel`. You will need to\r\nbump up the max allowed spec version and search with beta (prerelease)\r\npackages enabled to find it:\r\n```\r\nxpack.fleet.internal.registry.spec.max: '3.4'\r\n```\r\n\r\nTest UI scenarios as above. The API can be tested by running:\r\n```\r\nPOST kbn:/api/fleet/package_policies\r\n{\r\n \"policy_ids\": [\r\n \"\"\r\n ],\r\n \"package\": {\r\n \"name\": \"kubernetes_otel\",\r\n \"version\": \"0.0.2\"\r\n },\r\n \"name\": \"kubernetes_otel-1\",\r\n \"description\": \"\",\r\n \"namespace\": \"\",\r\n \"inputs\": {}\r\n}\r\n```\r\n\r\n### Checklist\r\n\r\nDelete any items that are not applicable to this PR.\r\n\r\n- [x] Any text added follows [EUI's writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing), uses\r\nsentence case text and includes [i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\r\n- [x] [Unit or functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere updated or added to match the most common scenarios","sha":"9512f6c26fbac59b8b8d7390dc28da930e42f181"}}]}] BACKPORT-->
Relates elastic/package-spec#351
Describe the feature:
Add support for content packages in Fleet UI:
Example of how it is shown a content package now in Kibana/Fleet:
Related issue to install packages using stream-based approach: #187646
Implementation
If the integration contains a file named(see [Fleet] Support content packages in integrations UI #192484 (comment))otel-collector.yaml
, list its contents in the UIFuture enhancements
(Create separate issues for these as part of this issue's scope)
discovery
property #195986The text was updated successfully, but these errors were encountered: