-
Notifications
You must be signed in to change notification settings - Fork 73
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
[Change Proposal] Add flag to hide "parent tile" in integrations UI for integrations with multiple policy templates #802
Comments
cc @seanstory |
Makes sense 👍 I think this could have been used even in some packages that have many policies now, like AWS. I would only avoid focusing on representation and call the flag something like |
Something else to note when it comes to supporting this in Fleet - perhaps we should use the policy template name when populating the integration policy's name field. Today creating an "AWS Billing Metrics" integration policy still results in an integration policy named "aws-1" and editing it takes you to the full integration policy page for all policy templates. |
+1. I'm anticipating customer confusion about |
Some packages have the opposite problem, where only the parent tile should be shown even if there are multiple policy templates. We do this manually in the code for It may make sense for this flag to be enum rather than boolean, for example |
Created issue to expose |
@mrodm Could you also create a Kibana issue to support this new field? Thanks! |
@jen-huang Sure! Issue created in Kibana elastic/kibana#198145 |
…icy_templates_behavior` field (#200605) ## Summary Closes #198145 Add support to filter the tiles shown in the integrations UI as well as the packages shown in the global search provider depending on the `policy_templates_behaviour` field introduced in elastic/package-spec#802. If this new field is not present in the package manifest, the same behavior is kept. Therefore, it is shown a tile for the package itself plus a tile for each policy template defined in the manifest. Tested using a custom Elastic Package Registry with some packages defining this new `policy_templates_behavior` via the key: ```yaml xpack.fleet.registryUrl: http://localhost:8080 ``` ### Screenshots Checked option "Elastic Agent only" in the integrations UI to avoid tutorials based on Beats. Example with `azure_metrics` package in the Integrations UI: - `policy_templates_behavior: all` ![All policy templates](https://github.com/user-attachments/assets/907618e3-f2db-44df-b1ac-3965b1978b2c) - `policy_templates_behavior: combined_policy` ![Just combined policy](https://github.com/user-attachments/assets/77293616-8125-4d01-81f3-b3f17135ca49) - `policy_templates_behavior: individual_policies` ![Just individual policy templates](https://github.com/user-attachments/assets/b68ad474-8aac-464b-9946-9ae6104dd2ae) Example in the Global Search with `azure_metrics` package and `combined policy` behavior: ![global search with azure metrics package](https://github.com/user-attachments/assets/e70315b7-d303-4b32-aa9e-8e1e9b056239) ### Checklist Check the PR satisfies following conditions. Reviewers should verify this PR satisfies this list as well. - [ ] 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) - [ ] [Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html) was added for features that require explanation or tutorials - [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 - [ ] If a plugin configuration key changed, check if it needs to be allowlisted in the cloud and added to the [docker list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker) - [ ] This was checked for breaking HTTP API changes, and any breaking changes have been approved by the breaking-change committee. The `release_note:breaking` label should be applied in these situations. - [ ] [Flaky Test Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was used on any tests changed - [ ] The PR description includes the appropriate Release Notes section, and the correct `release_node:*` label is applied per the [guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) ### Identify risks Does this PR introduce any risks? For example, consider risks like hard to test bugs, performance regression, potential of data loss. Describe the risk, its severity, and mitigation for each identified risk. Invite stakeholders and evaluate how to proceed before merging. - [ ]
…icy_templates_behavior` field (elastic#200605) ## Summary Closes elastic#198145 Add support to filter the tiles shown in the integrations UI as well as the packages shown in the global search provider depending on the `policy_templates_behaviour` field introduced in elastic/package-spec#802. If this new field is not present in the package manifest, the same behavior is kept. Therefore, it is shown a tile for the package itself plus a tile for each policy template defined in the manifest. Tested using a custom Elastic Package Registry with some packages defining this new `policy_templates_behavior` via the key: ```yaml xpack.fleet.registryUrl: http://localhost:8080 ``` ### Screenshots Checked option "Elastic Agent only" in the integrations UI to avoid tutorials based on Beats. Example with `azure_metrics` package in the Integrations UI: - `policy_templates_behavior: all` ![All policy templates](https://github.com/user-attachments/assets/907618e3-f2db-44df-b1ac-3965b1978b2c) - `policy_templates_behavior: combined_policy` ![Just combined policy](https://github.com/user-attachments/assets/77293616-8125-4d01-81f3-b3f17135ca49) - `policy_templates_behavior: individual_policies` ![Just individual policy templates](https://github.com/user-attachments/assets/b68ad474-8aac-464b-9946-9ae6104dd2ae) Example in the Global Search with `azure_metrics` package and `combined policy` behavior: ![global search with azure metrics package](https://github.com/user-attachments/assets/e70315b7-d303-4b32-aa9e-8e1e9b056239) ### Checklist Check the PR satisfies following conditions. Reviewers should verify this PR satisfies this list as well. - [ ] 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) - [ ] [Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html) was added for features that require explanation or tutorials - [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 - [ ] If a plugin configuration key changed, check if it needs to be allowlisted in the cloud and added to the [docker list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker) - [ ] This was checked for breaking HTTP API changes, and any breaking changes have been approved by the breaking-change committee. The `release_note:breaking` label should be applied in these situations. - [ ] [Flaky Test Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was used on any tests changed - [ ] The PR description includes the appropriate Release Notes section, and the correct `release_node:*` label is applied per the [guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) ### Identify risks Does this PR introduce any risks? For example, consider risks like hard to test bugs, performance regression, potential of data loss. Describe the risk, its severity, and mitigation for each identified risk. Invite stakeholders and evaluate how to proceed before merging. - [ ] (cherry picked from commit 8352b86)
…e `policy_templates_behavior` field (#200605) (#200749) # Backport This will backport the following commits from `main` to `8.x`: - [[Fleet] Filter integrations/packages list shown depending on the `policy_templates_behavior` field (#200605)](#200605) <!--- Backport version: 9.4.3 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) <!--BACKPORT [{"author":{"name":"Mario Rodriguez Molins","email":"mario.rodriguez@elastic.co"},"sourceCommit":{"committedDate":"2024-11-19T14:27:19Z","message":"[Fleet] Filter integrations/packages list shown depending on the `policy_templates_behavior` field (#200605)\n\n## Summary\r\nCloses https://github.com/elastic/kibana/issues/198145\r\n\r\nAdd support to filter the tiles shown in the integrations UI as well as\r\nthe packages shown in the global search provider depending on the\r\n`policy_templates_behaviour` field introduced in\r\nhttps://github.com/elastic/package-spec/issues/802.\r\n\r\nIf this new field is not present in the package manifest, the same\r\nbehavior is kept. Therefore, it is shown a tile for the package itself\r\nplus a tile for each policy template defined in the manifest.\r\n\r\n\r\nTested using a custom Elastic Package Registry with some packages\r\ndefining this new `policy_templates_behavior` via the key:\r\n```yaml\r\nxpack.fleet.registryUrl: http://localhost:8080\r\n```\r\n\r\n### Screenshots\r\n\r\nChecked option \"Elastic Agent only\" in the integrations UI to avoid\r\ntutorials based on Beats.\r\n\r\nExample with `azure_metrics` package in the Integrations UI:\r\n- `policy_templates_behavior: all`\r\n![All policy\r\ntemplates](https://github.com/user-attachments/assets/907618e3-f2db-44df-b1ac-3965b1978b2c)\r\n\r\n- `policy_templates_behavior: combined_policy`\r\n![Just combined\r\npolicy](https://github.com/user-attachments/assets/77293616-8125-4d01-81f3-b3f17135ca49)\r\n\r\n- `policy_templates_behavior: individual_policies`\r\n![Just individual policy\r\ntemplates](https://github.com/user-attachments/assets/b68ad474-8aac-464b-9946-9ae6104dd2ae)\r\n\r\n\r\nExample in the Global Search with `azure_metrics` package and `combined\r\npolicy` behavior:\r\n![global search with azure metrics\r\npackage](https://github.com/user-attachments/assets/e70315b7-d303-4b32-aa9e-8e1e9b056239)\r\n\r\n\r\n### Checklist\r\n\r\nCheck the PR satisfies following conditions. \r\n\r\nReviewers should verify this PR satisfies this list as well.\r\n\r\n- [ ] 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- [ ]\r\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\r\nwas added for features that require explanation or tutorials\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\r\n- [ ] If a plugin configuration key changed, check if it needs to be\r\nallowlisted in the cloud and added to the [docker\r\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\r\n- [ ] This was checked for breaking HTTP API changes, and any breaking\r\nchanges have been approved by the breaking-change committee. The\r\n`release_note:breaking` label should be applied in these situations.\r\n- [ ] [Flaky Test\r\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was\r\nused on any tests changed\r\n- [ ] The PR description includes the appropriate Release Notes section,\r\nand the correct `release_node:*` label is applied per the\r\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\r\n\r\n### Identify risks\r\n\r\nDoes this PR introduce any risks? For example, consider risks like hard\r\nto test bugs, performance regression, potential of data loss.\r\n\r\nDescribe the risk, its severity, and mitigation for each identified\r\nrisk. Invite stakeholders and evaluate how to proceed before merging.\r\n\r\n- [ ]","sha":"8352b86f59522319f6d20ae2165d11b621f1f22b","branchLabelMapping":{"^v9.0.0$":"main","^v8.17.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:enhancement","Team:Fleet","v9.0.0","backport:prev-minor"],"title":"[Fleet] Filter integrations/packages list shown depending on the `policy_templates_behavior` field","number":200605,"url":"https://github.com/elastic/kibana/pull/200605","mergeCommit":{"message":"[Fleet] Filter integrations/packages list shown depending on the `policy_templates_behavior` field (#200605)\n\n## Summary\r\nCloses https://github.com/elastic/kibana/issues/198145\r\n\r\nAdd support to filter the tiles shown in the integrations UI as well as\r\nthe packages shown in the global search provider depending on the\r\n`policy_templates_behaviour` field introduced in\r\nhttps://github.com/elastic/package-spec/issues/802.\r\n\r\nIf this new field is not present in the package manifest, the same\r\nbehavior is kept. Therefore, it is shown a tile for the package itself\r\nplus a tile for each policy template defined in the manifest.\r\n\r\n\r\nTested using a custom Elastic Package Registry with some packages\r\ndefining this new `policy_templates_behavior` via the key:\r\n```yaml\r\nxpack.fleet.registryUrl: http://localhost:8080\r\n```\r\n\r\n### Screenshots\r\n\r\nChecked option \"Elastic Agent only\" in the integrations UI to avoid\r\ntutorials based on Beats.\r\n\r\nExample with `azure_metrics` package in the Integrations UI:\r\n- `policy_templates_behavior: all`\r\n![All policy\r\ntemplates](https://github.com/user-attachments/assets/907618e3-f2db-44df-b1ac-3965b1978b2c)\r\n\r\n- `policy_templates_behavior: combined_policy`\r\n![Just combined\r\npolicy](https://github.com/user-attachments/assets/77293616-8125-4d01-81f3-b3f17135ca49)\r\n\r\n- `policy_templates_behavior: individual_policies`\r\n![Just individual policy\r\ntemplates](https://github.com/user-attachments/assets/b68ad474-8aac-464b-9946-9ae6104dd2ae)\r\n\r\n\r\nExample in the Global Search with `azure_metrics` package and `combined\r\npolicy` behavior:\r\n![global search with azure metrics\r\npackage](https://github.com/user-attachments/assets/e70315b7-d303-4b32-aa9e-8e1e9b056239)\r\n\r\n\r\n### Checklist\r\n\r\nCheck the PR satisfies following conditions. \r\n\r\nReviewers should verify this PR satisfies this list as well.\r\n\r\n- [ ] 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- [ ]\r\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\r\nwas added for features that require explanation or tutorials\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\r\n- [ ] If a plugin configuration key changed, check if it needs to be\r\nallowlisted in the cloud and added to the [docker\r\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\r\n- [ ] This was checked for breaking HTTP API changes, and any breaking\r\nchanges have been approved by the breaking-change committee. The\r\n`release_note:breaking` label should be applied in these situations.\r\n- [ ] [Flaky Test\r\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was\r\nused on any tests changed\r\n- [ ] The PR description includes the appropriate Release Notes section,\r\nand the correct `release_node:*` label is applied per the\r\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\r\n\r\n### Identify risks\r\n\r\nDoes this PR introduce any risks? For example, consider risks like hard\r\nto test bugs, performance regression, potential of data loss.\r\n\r\nDescribe the risk, its severity, and mitigation for each identified\r\nrisk. Invite stakeholders and evaluate how to proceed before merging.\r\n\r\n- [ ]","sha":"8352b86f59522319f6d20ae2165d11b621f1f22b"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/200605","number":200605,"mergeCommit":{"message":"[Fleet] Filter integrations/packages list shown depending on the `policy_templates_behavior` field (#200605)\n\n## Summary\r\nCloses https://github.com/elastic/kibana/issues/198145\r\n\r\nAdd support to filter the tiles shown in the integrations UI as well as\r\nthe packages shown in the global search provider depending on the\r\n`policy_templates_behaviour` field introduced in\r\nhttps://github.com/elastic/package-spec/issues/802.\r\n\r\nIf this new field is not present in the package manifest, the same\r\nbehavior is kept. Therefore, it is shown a tile for the package itself\r\nplus a tile for each policy template defined in the manifest.\r\n\r\n\r\nTested using a custom Elastic Package Registry with some packages\r\ndefining this new `policy_templates_behavior` via the key:\r\n```yaml\r\nxpack.fleet.registryUrl: http://localhost:8080\r\n```\r\n\r\n### Screenshots\r\n\r\nChecked option \"Elastic Agent only\" in the integrations UI to avoid\r\ntutorials based on Beats.\r\n\r\nExample with `azure_metrics` package in the Integrations UI:\r\n- `policy_templates_behavior: all`\r\n![All policy\r\ntemplates](https://github.com/user-attachments/assets/907618e3-f2db-44df-b1ac-3965b1978b2c)\r\n\r\n- `policy_templates_behavior: combined_policy`\r\n![Just combined\r\npolicy](https://github.com/user-attachments/assets/77293616-8125-4d01-81f3-b3f17135ca49)\r\n\r\n- `policy_templates_behavior: individual_policies`\r\n![Just individual policy\r\ntemplates](https://github.com/user-attachments/assets/b68ad474-8aac-464b-9946-9ae6104dd2ae)\r\n\r\n\r\nExample in the Global Search with `azure_metrics` package and `combined\r\npolicy` behavior:\r\n![global search with azure metrics\r\npackage](https://github.com/user-attachments/assets/e70315b7-d303-4b32-aa9e-8e1e9b056239)\r\n\r\n\r\n### Checklist\r\n\r\nCheck the PR satisfies following conditions. \r\n\r\nReviewers should verify this PR satisfies this list as well.\r\n\r\n- [ ] 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- [ ]\r\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\r\nwas added for features that require explanation or tutorials\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\r\n- [ ] If a plugin configuration key changed, check if it needs to be\r\nallowlisted in the cloud and added to the [docker\r\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\r\n- [ ] This was checked for breaking HTTP API changes, and any breaking\r\nchanges have been approved by the breaking-change committee. The\r\n`release_note:breaking` label should be applied in these situations.\r\n- [ ] [Flaky Test\r\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was\r\nused on any tests changed\r\n- [ ] The PR description includes the appropriate Release Notes section,\r\nand the correct `release_node:*` label is applied per the\r\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\r\n\r\n### Identify risks\r\n\r\nDoes this PR introduce any risks? For example, consider risks like hard\r\nto test bugs, performance regression, potential of data loss.\r\n\r\nDescribe the risk, its severity, and mitigation for each identified\r\nrisk. Invite stakeholders and evaluate how to proceed before merging.\r\n\r\n- [ ]","sha":"8352b86f59522319f6d20ae2165d11b621f1f22b"}}]}] BACKPORT--> --------- Co-authored-by: Mario Rodriguez Molins <mario.rodriguez@elastic.co>
For integrations like
elastic_connectors
, usage of ofpolicy_templates
is more about easing maintenance burden and less about reusing variables across different templates or leveraging any kind of information architecture. For integrations like this, we should have an option/flag in the manifest that allows Fleet to hide the "parent tile" for the integration, instead only showing the policy templates cards.The text was updated successfully, but these errors were encountered: