Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[8.x] [Defend Workflows][Reusable integrations] Handling resuable int…
…egrations on endpoint onboarding page (#193518) (#194617) # Backport This will backport the following commits from `main` to `8.x`: - [[Defend Workflows][Reusable integrations] Handling resuable integrations on endpoint onboarding page (#193518)](#193518) <!--- Backport version: 9.4.3 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) <!--BACKPORT [{"author":{"name":"Gergő Ábrahám","email":"[email protected]"},"sourceCommit":{"committedDate":"2024-10-01T16:54:43Z","message":"[Defend Workflows][Reusable integrations] Handling resuable integrations on endpoint onboarding page (#193518)\n\n## Summary\r\n\r\nDuring onboarding on the Endpoint list page, if the user already created\r\nat least one Elastic Defend integration, we show this screen (original):\r\n<img width=\"400\" alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/98f04002-7c18-48bf-8b29-a4ad6113385c\">\r\n\r\nDue to the new enterprise level feature added by Fleet team, the\r\nreusable integrations, now an integration policy can be assigned **zero,\r\none or more agent policies**, and this PR's goal is to update this\r\nonboarding screen to tackle these changes.\r\n\r\n### One integration is added to more than one Agent Policies\r\nWhen creating/editing an integration, it can be added to more than one\r\nAgent Policies:\r\n\r\n<img width=\"600\" alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/f0982e28-11b0-4aef-a059-6c952e0e33b7\">\r\n\r\n#### ✅ Solution for usecase\r\nTo be able to select where to enroll an Agent, now they are listed as\r\n`Package policy - Agent policy` pairs.\r\n<img width=\"600\" alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/c82d70ed-5b87-43b5-ab16-3c4549373b32\">\r\n\r\n### Some integrations are not added to an Agent Policy\r\n<img width=\"400\" alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/108ccd78-d019-42ca-a92a-905344172d09\">\r\n\r\n#### ✅ Solution for usecase\r\nA new callout is added to indicate to the user that there are some\r\nintegrations that cannot be deployed to an Agent.\r\n\r\n<img width=\"600\" alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/3bedc56b-70a3-4f4f-9881-e91ae458cadf\">\r\n\r\nClicking on the Integrations opens their editing page in a new tab.\r\nClickin on the 'Elastic Defend Integration policies' opens the Defend\r\nintegration's policies tab in a new browser tab.\r\n\r\n### None of the integrations are added to an Agent Policy\r\n<img width=\"300\" alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/39fd2efc-2a96-4109-9311-b666bd44ca1f\">\r\n\r\n#### ✅ Solution for usecase\r\nAnother 'warning' callout is displayed indicating that there are no\r\nusable integrations. This, combined with the other callout hopefully\r\nhelp the user to go forward.\r\n\r\n<img width=\"600\" alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/78efc1ea-dd3e-4aff-bd67-b1e37a2508e1\">\r\n\r\n\r\n### RBAC\r\nIn case the user doesn't hold the required privileges, the same screen\r\nis displayed as when there are no hosts and no policies, or there are\r\npolicies but no hosts. Just as before.\r\n<img width=\"600\" alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/814f460d-7e17-49a7-8337-9cf1f8a8f0ef\">\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\r\n- [x] Any UI touched in this PR is usable by keyboard only (learn more\r\nabout [keyboard accessibility](https://webaim.org/techniques/keyboard/))\r\n- [x] Any UI touched in this PR does not create any new axe failures\r\n(run axe in browser:\r\n[FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/),\r\n[Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US))\r\n- [x] This renders correctly on smaller devices using a responsive\r\nlayout. (You can test this [in your\r\nbrowser](https://www.browserstack.com/guide/responsive-testing-on-local-server))\r\n\r\n---------\r\n\r\nCo-authored-by: Elastic Machine <[email protected]>\r\nCo-authored-by: Joe Peeples <[email protected]>","sha":"8eceb0db4d4edb0da52564ac082859abfc6ed6e7","branchLabelMapping":{"^v9.0.0$":"main","^v8.16.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","Team:Defend Workflows","v8.16.0","backport:version"],"title":"[Defend Workflows][Reusable integrations] Handling resuable integrations on endpoint onboarding page","number":193518,"url":"https://github.com/elastic/kibana/pull/193518","mergeCommit":{"message":"[Defend Workflows][Reusable integrations] Handling resuable integrations on endpoint onboarding page (#193518)\n\n## Summary\r\n\r\nDuring onboarding on the Endpoint list page, if the user already created\r\nat least one Elastic Defend integration, we show this screen (original):\r\n<img width=\"400\" alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/98f04002-7c18-48bf-8b29-a4ad6113385c\">\r\n\r\nDue to the new enterprise level feature added by Fleet team, the\r\nreusable integrations, now an integration policy can be assigned **zero,\r\none or more agent policies**, and this PR's goal is to update this\r\nonboarding screen to tackle these changes.\r\n\r\n### One integration is added to more than one Agent Policies\r\nWhen creating/editing an integration, it can be added to more than one\r\nAgent Policies:\r\n\r\n<img width=\"600\" alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/f0982e28-11b0-4aef-a059-6c952e0e33b7\">\r\n\r\n#### ✅ Solution for usecase\r\nTo be able to select where to enroll an Agent, now they are listed as\r\n`Package policy - Agent policy` pairs.\r\n<img width=\"600\" alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/c82d70ed-5b87-43b5-ab16-3c4549373b32\">\r\n\r\n### Some integrations are not added to an Agent Policy\r\n<img width=\"400\" alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/108ccd78-d019-42ca-a92a-905344172d09\">\r\n\r\n#### ✅ Solution for usecase\r\nA new callout is added to indicate to the user that there are some\r\nintegrations that cannot be deployed to an Agent.\r\n\r\n<img width=\"600\" alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/3bedc56b-70a3-4f4f-9881-e91ae458cadf\">\r\n\r\nClicking on the Integrations opens their editing page in a new tab.\r\nClickin on the 'Elastic Defend Integration policies' opens the Defend\r\nintegration's policies tab in a new browser tab.\r\n\r\n### None of the integrations are added to an Agent Policy\r\n<img width=\"300\" alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/39fd2efc-2a96-4109-9311-b666bd44ca1f\">\r\n\r\n#### ✅ Solution for usecase\r\nAnother 'warning' callout is displayed indicating that there are no\r\nusable integrations. This, combined with the other callout hopefully\r\nhelp the user to go forward.\r\n\r\n<img width=\"600\" alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/78efc1ea-dd3e-4aff-bd67-b1e37a2508e1\">\r\n\r\n\r\n### RBAC\r\nIn case the user doesn't hold the required privileges, the same screen\r\nis displayed as when there are no hosts and no policies, or there are\r\npolicies but no hosts. Just as before.\r\n<img width=\"600\" alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/814f460d-7e17-49a7-8337-9cf1f8a8f0ef\">\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\r\n- [x] Any UI touched in this PR is usable by keyboard only (learn more\r\nabout [keyboard accessibility](https://webaim.org/techniques/keyboard/))\r\n- [x] Any UI touched in this PR does not create any new axe failures\r\n(run axe in browser:\r\n[FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/),\r\n[Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US))\r\n- [x] This renders correctly on smaller devices using a responsive\r\nlayout. (You can test this [in your\r\nbrowser](https://www.browserstack.com/guide/responsive-testing-on-local-server))\r\n\r\n---------\r\n\r\nCo-authored-by: Elastic Machine <[email protected]>\r\nCo-authored-by: Joe Peeples <[email protected]>","sha":"8eceb0db4d4edb0da52564ac082859abfc6ed6e7"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/193518","number":193518,"mergeCommit":{"message":"[Defend Workflows][Reusable integrations] Handling resuable integrations on endpoint onboarding page (#193518)\n\n## Summary\r\n\r\nDuring onboarding on the Endpoint list page, if the user already created\r\nat least one Elastic Defend integration, we show this screen (original):\r\n<img width=\"400\" alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/98f04002-7c18-48bf-8b29-a4ad6113385c\">\r\n\r\nDue to the new enterprise level feature added by Fleet team, the\r\nreusable integrations, now an integration policy can be assigned **zero,\r\none or more agent policies**, and this PR's goal is to update this\r\nonboarding screen to tackle these changes.\r\n\r\n### One integration is added to more than one Agent Policies\r\nWhen creating/editing an integration, it can be added to more than one\r\nAgent Policies:\r\n\r\n<img width=\"600\" alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/f0982e28-11b0-4aef-a059-6c952e0e33b7\">\r\n\r\n#### ✅ Solution for usecase\r\nTo be able to select where to enroll an Agent, now they are listed as\r\n`Package policy - Agent policy` pairs.\r\n<img width=\"600\" alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/c82d70ed-5b87-43b5-ab16-3c4549373b32\">\r\n\r\n### Some integrations are not added to an Agent Policy\r\n<img width=\"400\" alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/108ccd78-d019-42ca-a92a-905344172d09\">\r\n\r\n#### ✅ Solution for usecase\r\nA new callout is added to indicate to the user that there are some\r\nintegrations that cannot be deployed to an Agent.\r\n\r\n<img width=\"600\" alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/3bedc56b-70a3-4f4f-9881-e91ae458cadf\">\r\n\r\nClicking on the Integrations opens their editing page in a new tab.\r\nClickin on the 'Elastic Defend Integration policies' opens the Defend\r\nintegration's policies tab in a new browser tab.\r\n\r\n### None of the integrations are added to an Agent Policy\r\n<img width=\"300\" alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/39fd2efc-2a96-4109-9311-b666bd44ca1f\">\r\n\r\n#### ✅ Solution for usecase\r\nAnother 'warning' callout is displayed indicating that there are no\r\nusable integrations. This, combined with the other callout hopefully\r\nhelp the user to go forward.\r\n\r\n<img width=\"600\" alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/78efc1ea-dd3e-4aff-bd67-b1e37a2508e1\">\r\n\r\n\r\n### RBAC\r\nIn case the user doesn't hold the required privileges, the same screen\r\nis displayed as when there are no hosts and no policies, or there are\r\npolicies but no hosts. Just as before.\r\n<img width=\"600\" alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/814f460d-7e17-49a7-8337-9cf1f8a8f0ef\">\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\r\n- [x] Any UI touched in this PR is usable by keyboard only (learn more\r\nabout [keyboard accessibility](https://webaim.org/techniques/keyboard/))\r\n- [x] Any UI touched in this PR does not create any new axe failures\r\n(run axe in browser:\r\n[FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/),\r\n[Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US))\r\n- [x] This renders correctly on smaller devices using a responsive\r\nlayout. (You can test this [in your\r\nbrowser](https://www.browserstack.com/guide/responsive-testing-on-local-server))\r\n\r\n---------\r\n\r\nCo-authored-by: Elastic Machine <[email protected]>\r\nCo-authored-by: Joe Peeples <[email protected]>","sha":"8eceb0db4d4edb0da52564ac082859abfc6ed6e7"}},{"branch":"8.x","label":"v8.16.0","branchLabelMappingKey":"^v8.16.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}] BACKPORT--> Co-authored-by: Gergő Ábrahám <[email protected]>
- Loading branch information