Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[8.x] [Fleet] Display next steps and actions in agentless integration…
…s flyout (#203824) (#204573) # Backport This will backport the following commits from `main` to `8.x`: - [[Fleet] Display next steps and actions in agentless integrations flyout (#203824)](#203824) <!--- Backport version: 9.4.3 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) <!--BACKPORT [{"author":{"name":"Cristina Amico","email":"criamico@users.noreply.github.com"},"sourceCommit":{"committedDate":"2024-12-17T13:13:58Z","message":"[Fleet] Display next steps and actions in agentless integrations flyout (#203824)\n\n## Summary\r\n\r\nDisplay next steps and actions in agentless integrations flyout. This PR\r\nis based off the following changes:\r\n\r\n**Agentless flyout**\r\nIntroduced with https://github.com/elastic/kibana/pull/199567\r\n\r\n**package-spec**\r\nThe definitions for package-spec have been updated in these two PRs:\r\n- https://github.com/elastic/package-spec/pull/834\r\n- https://github.com/elastic/package-spec/pull/844\r\nAny agentless package can now define internal links with format\r\n`kbn:/app/...` and external links with format `https://...`. This PR\r\nshows a card or a button linking to these urls in the new agentless\r\nflyout\r\n\r\n**Connectors**\r\nAgentless integration now expose connectors name and id in the package\r\npolicy (see code\r\n[here](https://github.com/elastic/integrations/blob/69fd5a26c4d0a8e9e999c51fb49a2cf28c078dd2/packages/elastic_connectors/manifest.yml#L45-L62)\r\nfor elastic connectors integration).\r\n<img width=\"1003\" alt=\"Screenshot 2024-12-16 at 16 30 22\"\r\nsrc=\"https://github.com/user-attachments/assets/70b3471e-51bb-4e79-95a4-843e20128c26\"\r\n/>\r\n\r\nThis PR creates a dynamic link to the connector configured in the policy\r\nand shows it in the agentless flyout.\r\n\r\n### Testing\r\n- First of all, enable agentless following the steps under `Testing` in\r\n[ this PR](#199567). Follow up to\r\nstep 3\r\n- Instead of installing CSPM, install this test package\r\n[agentless_package_links-0.0.1.zip](https://github.com/user-attachments/files/18152872/agentless_package_links-0.0.1.zip)\r\nwith the upload command\r\n```\r\ncurl -XPOST -H 'content-type: application/zip' -H 'kbn-xsrf: true' http://localhost:5601/YOURPATH/api/fleet/epm/packages -u elastic:changeme --data-binary @agentless_package_links-0.0.1.zip\r\n```\r\n- Once appears installed, create a package policy with this new\r\nintegration. Make sure to choose `agentless` as deployment mode\r\n<img width=\"1278\" alt=\"Screenshot 2024-12-16 at 16 22 09\"\r\nsrc=\"https://github.com/user-attachments/assets/7104bf2a-e419-4efa-b352-278ad2057951\"\r\n/>\r\n\r\n- Enroll an agent to the newly created \"agentless\" policy by using the\r\ntoken (it's available in the token page)\r\n- Go back to integrations, you should see a page like this one:\r\n<img width=\"1569\" alt=\"Screenshot 2024-12-16 at 16 38 18\"\r\nsrc=\"https://github.com/user-attachments/assets/de770984-985e-449e-b6e3-5c78eb5d3926\"\r\n/>\r\n\r\n- Click on the state (\"pending\"/\"healhty\"/\"unhealthy\") and see the\r\nflyout. If the enrollment was successful, you should see some cards and\r\nbuttons that link to internal and external links in kibana\r\n\r\n<img width=\"878\" alt=\"Screenshot 2024-12-16 at 16 21 57\"\r\nsrc=\"https://github.com/user-attachments/assets/c77b224f-882c-4d52-956a-744e94e36f1e\"\r\n/>\r\n\r\n### Testing the connector cards\r\n- First create a new connector: go to\r\n`app/elasticsearch/content/connectors` and click on \"new connector\". For\r\nthis purpose there's no need to complete the procedure\r\n- Note down the name and id of the connector\r\n<img width=\"1789\" alt=\"Screenshot 2024-12-16 at 16 42 00\"\r\nsrc=\"https://github.com/user-attachments/assets/b60e491c-809a-40d5-8d01-12b225896fca\"\r\n/>\r\n<img width=\"1789\" alt=\"Screenshot 2024-12-16 at 16 42 00\"\r\nsrc=\"https://github.com/user-attachments/assets/1adc65e4-0b3b-4e03-9e65-5cc01385b0db\"\r\n/>\r\n- Go back to the integration policy previously installed. Enable the\r\n\"Test Connector\" input and add the name and id from above.\r\n- The agentless flyout should now have a card that will link the user to\r\n`app/elasticsearch/content/connectors/<id>`\r\n\r\n\r\n### Checklist\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\r\n---------\r\n\r\nCo-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"790c58932f797f338b10a7d6a93627313c42671e","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Fleet","v9.0.0","release_note:feature","backport:prev-minor","v8.18.0"],"title":"[Fleet] Display next steps and actions in agentless integrations flyout","number":203824,"url":"https://github.com/elastic/kibana/pull/203824","mergeCommit":{"message":"[Fleet] Display next steps and actions in agentless integrations flyout (#203824)\n\n## Summary\r\n\r\nDisplay next steps and actions in agentless integrations flyout. This PR\r\nis based off the following changes:\r\n\r\n**Agentless flyout**\r\nIntroduced with https://github.com/elastic/kibana/pull/199567\r\n\r\n**package-spec**\r\nThe definitions for package-spec have been updated in these two PRs:\r\n- https://github.com/elastic/package-spec/pull/834\r\n- https://github.com/elastic/package-spec/pull/844\r\nAny agentless package can now define internal links with format\r\n`kbn:/app/...` and external links with format `https://...`. This PR\r\nshows a card or a button linking to these urls in the new agentless\r\nflyout\r\n\r\n**Connectors**\r\nAgentless integration now expose connectors name and id in the package\r\npolicy (see code\r\n[here](https://github.com/elastic/integrations/blob/69fd5a26c4d0a8e9e999c51fb49a2cf28c078dd2/packages/elastic_connectors/manifest.yml#L45-L62)\r\nfor elastic connectors integration).\r\n<img width=\"1003\" alt=\"Screenshot 2024-12-16 at 16 30 22\"\r\nsrc=\"https://github.com/user-attachments/assets/70b3471e-51bb-4e79-95a4-843e20128c26\"\r\n/>\r\n\r\nThis PR creates a dynamic link to the connector configured in the policy\r\nand shows it in the agentless flyout.\r\n\r\n### Testing\r\n- First of all, enable agentless following the steps under `Testing` in\r\n[ this PR](#199567). Follow up to\r\nstep 3\r\n- Instead of installing CSPM, install this test package\r\n[agentless_package_links-0.0.1.zip](https://github.com/user-attachments/files/18152872/agentless_package_links-0.0.1.zip)\r\nwith the upload command\r\n```\r\ncurl -XPOST -H 'content-type: application/zip' -H 'kbn-xsrf: true' http://localhost:5601/YOURPATH/api/fleet/epm/packages -u elastic:changeme --data-binary @agentless_package_links-0.0.1.zip\r\n```\r\n- Once appears installed, create a package policy with this new\r\nintegration. Make sure to choose `agentless` as deployment mode\r\n<img width=\"1278\" alt=\"Screenshot 2024-12-16 at 16 22 09\"\r\nsrc=\"https://github.com/user-attachments/assets/7104bf2a-e419-4efa-b352-278ad2057951\"\r\n/>\r\n\r\n- Enroll an agent to the newly created \"agentless\" policy by using the\r\ntoken (it's available in the token page)\r\n- Go back to integrations, you should see a page like this one:\r\n<img width=\"1569\" alt=\"Screenshot 2024-12-16 at 16 38 18\"\r\nsrc=\"https://github.com/user-attachments/assets/de770984-985e-449e-b6e3-5c78eb5d3926\"\r\n/>\r\n\r\n- Click on the state (\"pending\"/\"healhty\"/\"unhealthy\") and see the\r\nflyout. If the enrollment was successful, you should see some cards and\r\nbuttons that link to internal and external links in kibana\r\n\r\n<img width=\"878\" alt=\"Screenshot 2024-12-16 at 16 21 57\"\r\nsrc=\"https://github.com/user-attachments/assets/c77b224f-882c-4d52-956a-744e94e36f1e\"\r\n/>\r\n\r\n### Testing the connector cards\r\n- First create a new connector: go to\r\n`app/elasticsearch/content/connectors` and click on \"new connector\". For\r\nthis purpose there's no need to complete the procedure\r\n- Note down the name and id of the connector\r\n<img width=\"1789\" alt=\"Screenshot 2024-12-16 at 16 42 00\"\r\nsrc=\"https://github.com/user-attachments/assets/b60e491c-809a-40d5-8d01-12b225896fca\"\r\n/>\r\n<img width=\"1789\" alt=\"Screenshot 2024-12-16 at 16 42 00\"\r\nsrc=\"https://github.com/user-attachments/assets/1adc65e4-0b3b-4e03-9e65-5cc01385b0db\"\r\n/>\r\n- Go back to the integration policy previously installed. Enable the\r\n\"Test Connector\" input and add the name and id from above.\r\n- The agentless flyout should now have a card that will link the user to\r\n`app/elasticsearch/content/connectors/<id>`\r\n\r\n\r\n### Checklist\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\r\n---------\r\n\r\nCo-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"790c58932f797f338b10a7d6a93627313c42671e"}},"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/203824","number":203824,"mergeCommit":{"message":"[Fleet] Display next steps and actions in agentless integrations flyout (#203824)\n\n## Summary\r\n\r\nDisplay next steps and actions in agentless integrations flyout. This PR\r\nis based off the following changes:\r\n\r\n**Agentless flyout**\r\nIntroduced with https://github.com/elastic/kibana/pull/199567\r\n\r\n**package-spec**\r\nThe definitions for package-spec have been updated in these two PRs:\r\n- https://github.com/elastic/package-spec/pull/834\r\n- https://github.com/elastic/package-spec/pull/844\r\nAny agentless package can now define internal links with format\r\n`kbn:/app/...` and external links with format `https://...`. This PR\r\nshows a card or a button linking to these urls in the new agentless\r\nflyout\r\n\r\n**Connectors**\r\nAgentless integration now expose connectors name and id in the package\r\npolicy (see code\r\n[here](https://github.com/elastic/integrations/blob/69fd5a26c4d0a8e9e999c51fb49a2cf28c078dd2/packages/elastic_connectors/manifest.yml#L45-L62)\r\nfor elastic connectors integration).\r\n<img width=\"1003\" alt=\"Screenshot 2024-12-16 at 16 30 22\"\r\nsrc=\"https://github.com/user-attachments/assets/70b3471e-51bb-4e79-95a4-843e20128c26\"\r\n/>\r\n\r\nThis PR creates a dynamic link to the connector configured in the policy\r\nand shows it in the agentless flyout.\r\n\r\n### Testing\r\n- First of all, enable agentless following the steps under `Testing` in\r\n[ this PR](#199567). Follow up to\r\nstep 3\r\n- Instead of installing CSPM, install this test package\r\n[agentless_package_links-0.0.1.zip](https://github.com/user-attachments/files/18152872/agentless_package_links-0.0.1.zip)\r\nwith the upload command\r\n```\r\ncurl -XPOST -H 'content-type: application/zip' -H 'kbn-xsrf: true' http://localhost:5601/YOURPATH/api/fleet/epm/packages -u elastic:changeme --data-binary @agentless_package_links-0.0.1.zip\r\n```\r\n- Once appears installed, create a package policy with this new\r\nintegration. Make sure to choose `agentless` as deployment mode\r\n<img width=\"1278\" alt=\"Screenshot 2024-12-16 at 16 22 09\"\r\nsrc=\"https://github.com/user-attachments/assets/7104bf2a-e419-4efa-b352-278ad2057951\"\r\n/>\r\n\r\n- Enroll an agent to the newly created \"agentless\" policy by using the\r\ntoken (it's available in the token page)\r\n- Go back to integrations, you should see a page like this one:\r\n<img width=\"1569\" alt=\"Screenshot 2024-12-16 at 16 38 18\"\r\nsrc=\"https://github.com/user-attachments/assets/de770984-985e-449e-b6e3-5c78eb5d3926\"\r\n/>\r\n\r\n- Click on the state (\"pending\"/\"healhty\"/\"unhealthy\") and see the\r\nflyout. If the enrollment was successful, you should see some cards and\r\nbuttons that link to internal and external links in kibana\r\n\r\n<img width=\"878\" alt=\"Screenshot 2024-12-16 at 16 21 57\"\r\nsrc=\"https://github.com/user-attachments/assets/c77b224f-882c-4d52-956a-744e94e36f1e\"\r\n/>\r\n\r\n### Testing the connector cards\r\n- First create a new connector: go to\r\n`app/elasticsearch/content/connectors` and click on \"new connector\". For\r\nthis purpose there's no need to complete the procedure\r\n- Note down the name and id of the connector\r\n<img width=\"1789\" alt=\"Screenshot 2024-12-16 at 16 42 00\"\r\nsrc=\"https://github.com/user-attachments/assets/b60e491c-809a-40d5-8d01-12b225896fca\"\r\n/>\r\n<img width=\"1789\" alt=\"Screenshot 2024-12-16 at 16 42 00\"\r\nsrc=\"https://github.com/user-attachments/assets/1adc65e4-0b3b-4e03-9e65-5cc01385b0db\"\r\n/>\r\n- Go back to the integration policy previously installed. Enable the\r\n\"Test Connector\" input and add the name and id from above.\r\n- The agentless flyout should now have a card that will link the user to\r\n`app/elasticsearch/content/connectors/<id>`\r\n\r\n\r\n### Checklist\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\r\n---------\r\n\r\nCo-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"790c58932f797f338b10a7d6a93627313c42671e"}},{"branch":"8.x","label":"v8.18.0","branchLabelMappingKey":"^v8.18.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}] BACKPORT--> Co-authored-by: Cristina Amico <criamico@users.noreply.github.com>
- Loading branch information