Skip to content
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

Merged
merged 20 commits into from
Nov 29, 2024

Conversation

machadoum
Copy link
Member

@machadoum machadoum commented Nov 21, 2024

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

status tab

Screenshot 2024-11-27 at 15 07 20

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:

Checklist

Reviewers should verify this PR satisfies this list as well.

@machadoum machadoum force-pushed the siem-ea-10989 branch 2 times, most recently from c6ad4cc to 55d36dd Compare November 21, 2024 16:42
@machadoum machadoum self-assigned this Nov 27, 2024
@machadoum machadoum added Team: SecuritySolution Security Solutions Team working on SIEM, Endpoint, Timeline, Resolver, etc. release_note:feature Makes this part of the condensed release notes Theme: entity_analytics Feature:Entity Analytics Security Solution Entity Analytics features Team:Entity Analytics Security Entity Analytics Team labels Nov 27, 2024
@machadoum machadoum marked this pull request as ready for review November 27, 2024 14:04
@machadoum machadoum requested review from a team as code owners November 27, 2024 14:04
@elasticmachine
Copy link
Contributor

Pinging @elastic/security-solution (Team: SecuritySolution)

@elasticmachine
Copy link
Contributor

Pinging @elastic/security-entity-analytics (Team:Entity Analytics)

@machadoum machadoum added v9.0.0 backport:version Backport to applied version labels v8.18.0 labels Nov 27, 2024
Copy link
Contributor

@CAWilson94 CAWilson94 left a 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:
Copy link
Contributor

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?

Copy link
Member Author

@machadoum machadoum Nov 28, 2024

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. 😓

Copy link
Contributor

@tiansivive tiansivive left a 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

@machadoum machadoum changed the title [SecuritySolution] Entity status tab [SecuritySolution] Entity Engine status tab Nov 28, 2024
@machadoum machadoum enabled auto-merge (squash) November 29, 2024 09:56
Copy link
Contributor

@tiansivive tiansivive left a 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 🚀

@machadoum machadoum merged commit 06b7993 into elastic:main Nov 29, 2024
9 checks passed
@kibanamachine
Copy link
Contributor

Starting backport for target branches: 8.x

https://github.com/elastic/kibana/actions/runs/12087300704

@elasticmachine
Copy link
Contributor

💚 Build Succeeded

Metrics [docs]

Module Count

Fewer modules leads to a faster build time

id before after diff
securitySolution 6264 6266 +2

Async chunks

Total size of all lazy-loaded chunks that will be downloaded as the user navigates the app

id before after diff
securitySolution 13.4MB 13.4MB +5.1KB

History

cc @machadoum

@kibanamachine
Copy link
Contributor

💔 All backports failed

Status Branch Result
8.x Backport failed because of merge conflicts

Manual backport

To create the backport manually run:

node scripts/backport --pr 201235

Questions ?

Please refer to the Backport tool documentation

@machadoum
Copy link
Member Author

💚 All backports created successfully

Status Branch Result
8.x

Note: Successful backport PRs will be merged automatically after passing CI.

Questions ?

Please refer to the Backport tool documentation

machadoum added a commit to machadoum/kibana that referenced this pull request Dec 3, 2024
## 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
machadoum added a commit that referenced this pull request Dec 3, 2024
# 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]>
CAWilson94 pushed a commit to CAWilson94/kibana that referenced this pull request Dec 9, 2024
## 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]>
CAWilson94 pushed a commit to CAWilson94/kibana that referenced this pull request Dec 12, 2024
## 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]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport:version Backport to applied version labels Feature:Entity Analytics Security Solution Entity Analytics features release_note:feature Makes this part of the condensed release notes Team:Entity Analytics Security Entity Analytics Team Team: SecuritySolution Security Solutions Team working on SIEM, Endpoint, Timeline, Resolver, etc. Theme: entity_analytics v8.18.0 v9.0.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants