-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
[SecuritySolution] Entity Engine status tab #201235
Conversation
c6ad4cc
to
55d36dd
Compare
e1773e7
to
ae45c47
Compare
Pinging @elastic/security-solution (Team: SecuritySolution) |
Pinging @elastic/security-entity-analytics (Team:Entity Analytics) |
...y_solution/public/entity_analytics/components/entity_store/hooks/use_entity_engine_status.ts
Outdated
Show resolved
Hide resolved
...lic/entity_analytics/components/entity_store/components/engines_status/hooks/use_columns.tsx
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Desk tested! Working great, thanks for all the hard work :D
@@ -42,6 +42,49 @@ components: | |||
- updating | |||
- error | |||
|
|||
EngineComponentStatus: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
too many things called status 😅
Each engine has a status field, then my upcoming PR also has a whole store Status thing. Now this one 🤔
Can we come up with some different nomenclature? I'm thinking just Health
for this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm 🤔
This is supposed to be a component-by-component breakdown of the Entity Descriptor status. Inside the components, there is already a health
property, which is currently only used by the transform.
The status API also returns it, so I am struggling to find a better name. 😓
...solution/public/entity_analytics/components/entity_store/components/engines_status/index.tsx
Outdated
Show resolved
Hide resolved
...ugins/security_solution/server/lib/entity_analytics/entity_store/entity_store_data_client.ts
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code changes look good. I'll try to desk test once the blocking PR gets merged
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good stuff! Desk tested and 🚀
94e8605
to
ce320e1
Compare
Starting backport for target branches: 8.x |
💚 Build Succeeded
Metrics [docs]Module Count
Async chunks
History
cc @machadoum |
💔 All backports failed
Manual backportTo create the backport manually run:
Questions ?Please refer to the Backport tool documentation |
💚 All backports created successfully
Note: Successful backport PRs will be merged automatically after passing CI. Questions ?Please refer to the Backport tool documentation |
## Summary * Add two tabs to the Entity Store page * The import entities tab has all the bulk upload content * The status tab has the new content created on this PR * Move the "clear entity store data" button to the header according to design mockups. * Delete unused stats route * Rename `enablement` API docs to `enable` * Add a new parameter to the status API (`withComponents`) * Should I make it snake cased? ### import entities tab ![Screenshot 2024-11-27 at 15 07 01](https://github.com/user-attachments/assets/c433e217-781e-4792-8695-2ee609efa654) ### status tab ![Screenshot 2024-11-27 at 15 07 20](https://github.com/user-attachments/assets/8970c023-22b3-4e83-a444-fa3ccf78ea42) ## How to test it - Open security solution app with data - Go to entity store page - You shouldn't see the new tab because the engine is disabled - Enable the engine and wait - Click on the new tab that showed up - It should list user and host engine components, and everything should be installed - Delete or misconfigure some of the resources, the new status should be reflected on the tab. ## TODO: - [x] Rebase main after elastic#199762 is merged - [x] Remove temporary status hook - [x] Fix the"clear entity data" button. It should re-fetch the status API. ### Checklist Reviewers should verify this PR satisfies this list as well. - [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 - [x] The PR description includes the appropriate Release Notes section, and the correct `release_note:*` label is applied per the [guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) --------- Co-authored-by: kibanamachine <[email protected]> (cherry picked from commit 06b7993) # Conflicts: # oas_docs/output/kibana.serverless.yaml # x-pack/plugins/security_solution/docs/openapi/ess/security_solution_entity_analytics_api_2023_10_31.bundled.schema.yaml # x-pack/plugins/security_solution/docs/openapi/serverless/security_solution_entity_analytics_api_2023_10_31.bundled.schema.yaml # x-pack/test/api_integration/services/security_solution_api.gen.ts
# Backport This will backport the following commits from `main` to `8.x`: - [[SecuritySolution] Entity Engine status tab (#201235)](#201235) <!--- Backport version: 8.9.8 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) <!--BACKPORT [{"author":{"name":"Pablo Machado","email":"[email protected]"},"sourceCommit":{"committedDate":"2024-11-29T15:29:04Z","message":"[SecuritySolution] Entity Engine status tab (#201235)\n\n## Summary\r\n\r\n* Add two tabs to the Entity Store page\r\n * The import entities tab has all the bulk upload content\r\n * The status tab has the new content created on this PR\r\n* Move the \"clear entity store data\" button to the header according to\r\ndesign mockups.\r\n* Delete unused stats route\r\n* Rename `enablement` API docs to `enable`\r\n* Add a new parameter to the status API (`withComponents`)\r\n * Should I make it snake cased?\r\n\r\n### import entities tab\r\n![Screenshot 2024-11-27 at 15 07\r\n01](https://github.com/user-attachments/assets/c433e217-781e-4792-8695-2ee609efa654)\r\n\r\n\r\n### status tab\r\n![Screenshot 2024-11-27 at 15 07\r\n20](https://github.com/user-attachments/assets/8970c023-22b3-4e83-a444-fa3ccf78ea42)\r\n\r\n\r\n## How to test it\r\n- Open security solution app with data\r\n- Go to entity store page\r\n- You shouldn't see the new tab because the engine is disabled\r\n- Enable the engine and wait\r\n- Click on the new tab that showed up\r\n- It should list user and host engine components, and everything should\r\nbe installed\r\n- Delete or misconfigure some of the resources, the new status should be\r\nreflected on the tab.\r\n\r\n\r\n## TODO:\r\n- [x] Rebase main after #199762 is\r\nmerged\r\n - [x] Remove temporary status hook\r\n- [x] Fix the\"clear entity data\" button. It should re-fetch the status\r\nAPI.\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n### Checklist\r\n\r\nReviewers should verify this PR satisfies this list as well.\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] The PR description includes the appropriate Release Notes section,\r\nand the correct `release_note:*` 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---------\r\n\r\nCo-authored-by: kibanamachine <[email protected]>","sha":"06b7993bd90cf84f87a99668c4425fb4dd6d6b5e","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["v9.0.0","Team: SecuritySolution","release_note:feature","Theme: entity_analytics","Feature:Entity Analytics","Team:Entity Analytics","backport:version","v8.18.0"],"number":201235,"url":"https://github.com/elastic/kibana/pull/201235","mergeCommit":{"message":"[SecuritySolution] Entity Engine status tab (#201235)\n\n## Summary\r\n\r\n* Add two tabs to the Entity Store page\r\n * The import entities tab has all the bulk upload content\r\n * The status tab has the new content created on this PR\r\n* Move the \"clear entity store data\" button to the header according to\r\ndesign mockups.\r\n* Delete unused stats route\r\n* Rename `enablement` API docs to `enable`\r\n* Add a new parameter to the status API (`withComponents`)\r\n * Should I make it snake cased?\r\n\r\n### import entities tab\r\n![Screenshot 2024-11-27 at 15 07\r\n01](https://github.com/user-attachments/assets/c433e217-781e-4792-8695-2ee609efa654)\r\n\r\n\r\n### status tab\r\n![Screenshot 2024-11-27 at 15 07\r\n20](https://github.com/user-attachments/assets/8970c023-22b3-4e83-a444-fa3ccf78ea42)\r\n\r\n\r\n## How to test it\r\n- Open security solution app with data\r\n- Go to entity store page\r\n- You shouldn't see the new tab because the engine is disabled\r\n- Enable the engine and wait\r\n- Click on the new tab that showed up\r\n- It should list user and host engine components, and everything should\r\nbe installed\r\n- Delete or misconfigure some of the resources, the new status should be\r\nreflected on the tab.\r\n\r\n\r\n## TODO:\r\n- [x] Rebase main after #199762 is\r\nmerged\r\n - [x] Remove temporary status hook\r\n- [x] Fix the\"clear entity data\" button. It should re-fetch the status\r\nAPI.\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n### Checklist\r\n\r\nReviewers should verify this PR satisfies this list as well.\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] The PR description includes the appropriate Release Notes section,\r\nand the correct `release_note:*` 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---------\r\n\r\nCo-authored-by: kibanamachine <[email protected]>","sha":"06b7993bd90cf84f87a99668c4425fb4dd6d6b5e"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","labelRegex":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/201235","number":201235,"mergeCommit":{"message":"[SecuritySolution] Entity Engine status tab (#201235)\n\n## Summary\r\n\r\n* Add two tabs to the Entity Store page\r\n * The import entities tab has all the bulk upload content\r\n * The status tab has the new content created on this PR\r\n* Move the \"clear entity store data\" button to the header according to\r\ndesign mockups.\r\n* Delete unused stats route\r\n* Rename `enablement` API docs to `enable`\r\n* Add a new parameter to the status API (`withComponents`)\r\n * Should I make it snake cased?\r\n\r\n### import entities tab\r\n![Screenshot 2024-11-27 at 15 07\r\n01](https://github.com/user-attachments/assets/c433e217-781e-4792-8695-2ee609efa654)\r\n\r\n\r\n### status tab\r\n![Screenshot 2024-11-27 at 15 07\r\n20](https://github.com/user-attachments/assets/8970c023-22b3-4e83-a444-fa3ccf78ea42)\r\n\r\n\r\n## How to test it\r\n- Open security solution app with data\r\n- Go to entity store page\r\n- You shouldn't see the new tab because the engine is disabled\r\n- Enable the engine and wait\r\n- Click on the new tab that showed up\r\n- It should list user and host engine components, and everything should\r\nbe installed\r\n- Delete or misconfigure some of the resources, the new status should be\r\nreflected on the tab.\r\n\r\n\r\n## TODO:\r\n- [x] Rebase main after #199762 is\r\nmerged\r\n - [x] Remove temporary status hook\r\n- [x] Fix the\"clear entity data\" button. It should re-fetch the status\r\nAPI.\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n### Checklist\r\n\r\nReviewers should verify this PR satisfies this list as well.\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] The PR description includes the appropriate Release Notes section,\r\nand the correct `release_note:*` 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---------\r\n\r\nCo-authored-by: kibanamachine <[email protected]>","sha":"06b7993bd90cf84f87a99668c4425fb4dd6d6b5e"}},{"branch":"8.x","label":"v8.18.0","labelRegex":"^v8.18.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}] BACKPORT--> --------- Co-authored-by: kibanamachine <[email protected]>
## Summary * Add two tabs to the Entity Store page * The import entities tab has all the bulk upload content * The status tab has the new content created on this PR * Move the "clear entity store data" button to the header according to design mockups. * Delete unused stats route * Rename `enablement` API docs to `enable` * Add a new parameter to the status API (`withComponents`) * Should I make it snake cased? ### import entities tab ![Screenshot 2024-11-27 at 15 07 01](https://github.com/user-attachments/assets/c433e217-781e-4792-8695-2ee609efa654) ### status tab ![Screenshot 2024-11-27 at 15 07 20](https://github.com/user-attachments/assets/8970c023-22b3-4e83-a444-fa3ccf78ea42) ## How to test it - Open security solution app with data - Go to entity store page - You shouldn't see the new tab because the engine is disabled - Enable the engine and wait - Click on the new tab that showed up - It should list user and host engine components, and everything should be installed - Delete or misconfigure some of the resources, the new status should be reflected on the tab. ## TODO: - [x] Rebase main after elastic#199762 is merged - [x] Remove temporary status hook - [x] Fix the"clear entity data" button. It should re-fetch the status API. ### Checklist Reviewers should verify this PR satisfies this list as well. - [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 - [x] The PR description includes the appropriate Release Notes section, and the correct `release_note:*` label is applied per the [guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) --------- Co-authored-by: kibanamachine <[email protected]>
## Summary * Add two tabs to the Entity Store page * The import entities tab has all the bulk upload content * The status tab has the new content created on this PR * Move the "clear entity store data" button to the header according to design mockups. * Delete unused stats route * Rename `enablement` API docs to `enable` * Add a new parameter to the status API (`withComponents`) * Should I make it snake cased? ### import entities tab ![Screenshot 2024-11-27 at 15 07 01](https://github.com/user-attachments/assets/c433e217-781e-4792-8695-2ee609efa654) ### status tab ![Screenshot 2024-11-27 at 15 07 20](https://github.com/user-attachments/assets/8970c023-22b3-4e83-a444-fa3ccf78ea42) ## How to test it - Open security solution app with data - Go to entity store page - You shouldn't see the new tab because the engine is disabled - Enable the engine and wait - Click on the new tab that showed up - It should list user and host engine components, and everything should be installed - Delete or misconfigure some of the resources, the new status should be reflected on the tab. ## TODO: - [x] Rebase main after elastic#199762 is merged - [x] Remove temporary status hook - [x] Fix the"clear entity data" button. It should re-fetch the status API. ### Checklist Reviewers should verify this PR satisfies this list as well. - [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 - [x] The PR description includes the appropriate Release Notes section, and the correct `release_note:*` label is applied per the [guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) --------- Co-authored-by: kibanamachine <[email protected]>
Summary
enablement
API docs toenable
withComponents
)import entities tab
status tab
How to test it
TODO:
Checklist
Reviewers should verify this PR satisfies this list as well.
release_note:*
label is applied per the guidelines