Skip to content

[Fleet][Security & Observability Onboarding] Generalize and consolidate custom fleet onboarding logic#215561

Merged
kgeller merged 11 commits intoelastic:mainfrom
kgeller:fleet-onboarding-link-updates
Mar 26, 2025
Merged

[Fleet][Security & Observability Onboarding] Generalize and consolidate custom fleet onboarding logic#215561
kgeller merged 11 commits intoelastic:mainfrom
kgeller:fleet-onboarding-link-updates

Conversation

@kgeller
Copy link
Copy Markdown
Member

@kgeller kgeller commented Mar 21, 2025

Summary

Updated fleet custom navigation logic to be more generic and consistent between security and observability onboarding flows.

Details

When attempting to start using the custom logic for routing back to onboarding pages for another project, I noticed inconsistencies in how we were linking back to the onboarding pages for the Back to selection button on the Integrations overview page and the Cancel and Save and continue on the Add integration page. Due to these inconsistencies, both custom routing mechanisms couldn't both work at the same time. I re-worked the implementation of the back button to match the cancel/save buttons and utilize navigateToApp to fix.

Now instead of observability utilizing the observabilityOnboardingLink query param, and security utilizing both observabilityOnboardingLink and onboardingAppId, both solutions will use returnAppId and returnPath (or different names if we don't love these) to route back to their sourcing locations.

Note: Observability onboarding will also now inherit logic the security onboarding team added where the same query parameters route back to the source when a user cancels or saves from the Add integration page (item 3 from this PR)

Screen recordings

Regular integrations page

fleetPage.mov

Security onboarding

security-onboarding.mov

Observability onboarding

oblt-onboarding.mov

Relates:

@kgeller kgeller marked this pull request as ready for review March 21, 2025 21:18
@kgeller kgeller requested review from a team as code owners March 21, 2025 21:18
@kgeller kgeller self-assigned this Mar 21, 2025
@kgeller kgeller added release_note:fix backport:skip This PR does not require backporting Team:Fleet Team label for Observability Data Collection Fleet team Team:Threat Hunting:Explore Team:obs-onboarding Observability Onboarding Team v9.1.0 labels Mar 21, 2025
@elasticmachine
Copy link
Copy Markdown
Contributor

Pinging @elastic/obs-ux-logs-team (Team:obs-ux-logs)

@elasticmachine
Copy link
Copy Markdown
Contributor

Pinging @elastic/fleet (Team:Fleet)

@elasticmachine
Copy link
Copy Markdown
Contributor

Pinging @elastic/security-threat-hunting-explore (Team:Threat Hunting:Explore)

Copy link
Copy Markdown
Contributor

@mykolaharmash mykolaharmash left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes for observability onboarding LGTM ✨

Copy link
Copy Markdown
Contributor

@juliaElastic juliaElastic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Copy Markdown
Contributor

@semd semd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TH Explore changes LGTM

@elastic-vault-github-plugin-prod elastic-vault-github-plugin-prod Bot requested a review from a team as a code owner March 26, 2025 15:00
@kgeller kgeller removed the request for review from a team March 26, 2025 15:54
@kgeller kgeller merged commit 6967952 into elastic:main Mar 26, 2025
9 checks passed
@kgeller kgeller deleted the fleet-onboarding-link-updates branch March 26, 2025 17:41
@elasticmachine
Copy link
Copy Markdown
Contributor

💛 Build succeeded, but was flaky

Failed CI Steps

Test Failures

  • [job] [logs] FTR Configs #61 / EQL execution logic API @ess @serverless @serverlessQA EQL type rules parses shard failures for EQL event query

Metrics [docs]

Module Count

Fewer modules leads to a faster build time

id before after diff
observabilityOnboarding 226 228 +2

Async chunks

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

id before after diff
fleet 1.7MB 1.7MB +166.0B
observabilityOnboarding 259.0KB 258.9KB -90.0B
securitySolution 8.9MB 8.9MB -4.0B
total +72.0B

Page load bundle

Size of the bundles that are downloaded on every page load. Target size is below 100kb

id before after diff
observabilityOnboarding 11.5KB 11.5KB +2.0B

History

cc @kgeller

kgeller added a commit that referenced this pull request Mar 27, 2025
…tching tabs the integration details page (#216094)

## Summary

Updates so that `returnAppId` and `returnPath` are maintained when the
user switches tabs on the Integrations details page.

## Details

We currently have custom logic so that callers of the integrations cards
can customize the destinations of the back, cancel and save buttons.
This fixes that flow so that that customization is kept if the user
switches tabs.

Followup to #215561

## Screen recordings


https://github.com/user-attachments/assets/016ae86a-9d2f-434f-88cc-f34aeff9e14d

Relates
- elastic/security-team#11789
cqliu1 pushed a commit to cqliu1/kibana that referenced this pull request Mar 31, 2025
…te custom fleet onboarding logic (elastic#215561)

## Summary

Updated fleet custom navigation logic to be more generic and consistent
between security and observability onboarding flows.

## Details

When attempting to start using the custom logic for routing back to
onboarding pages for another project, I noticed inconsistencies in how
we were linking back to the onboarding pages for the `Back to selection`
button on the Integrations overview page and the `Cancel` and `Save and
continue` on the Add integration page. Due to these inconsistencies,
both custom routing mechanisms couldn't both work at the same time. I
re-worked the implementation of the back button to match the cancel/save
buttons and utilize `navigateToApp` to fix.

Now instead of observability utilizing the `observabilityOnboardingLink`
query param, and security utilizing both `observabilityOnboardingLink`
and `onboardingAppId`, both solutions will use `returnAppId` and
`returnPath` (or different names if we don't love these) to route back
to their sourcing locations.

Note: Observability onboarding will also now inherit logic the security
onboarding team added where the same query parameters route back to the
source when a user cancels or saves from the Add integration page (item
3 from [this PR](elastic#194028))

## Screen recordings

Regular integrations page


https://github.com/user-attachments/assets/0f306bec-657f-4a7a-b2da-25557899b629

Security onboarding


https://github.com/user-attachments/assets/d2a161a0-62ee-40b1-9dd9-5165aea6a65a

Observability onboarding


https://github.com/user-attachments/assets/89f6b9a3-a348-4488-8688-1d5c96716185

Relates: 
- elastic#181520
- elastic/security-team#11789

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
cqliu1 pushed a commit to cqliu1/kibana that referenced this pull request Mar 31, 2025
…tching tabs the integration details page (elastic#216094)

## Summary

Updates so that `returnAppId` and `returnPath` are maintained when the
user switches tabs on the Integrations details page.

## Details

We currently have custom logic so that callers of the integrations cards
can customize the destinations of the back, cancel and save buttons.
This fixes that flow so that that customization is kept if the user
switches tabs.

Followup to elastic#215561

## Screen recordings


https://github.com/user-attachments/assets/016ae86a-9d2f-434f-88cc-f34aeff9e14d

Relates
- elastic/security-team#11789
@angorayc
Copy link
Copy Markdown
Contributor

💚 All backports created successfully

Status Branch Result
8.19

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

Questions ?

Please refer to the Backport tool documentation

angorayc pushed a commit to angorayc/kibana that referenced this pull request May 28, 2025
…te custom fleet onboarding logic (elastic#215561)

## Summary

Updated fleet custom navigation logic to be more generic and consistent
between security and observability onboarding flows.

## Details

When attempting to start using the custom logic for routing back to
onboarding pages for another project, I noticed inconsistencies in how
we were linking back to the onboarding pages for the `Back to selection`
button on the Integrations overview page and the `Cancel` and `Save and
continue` on the Add integration page. Due to these inconsistencies,
both custom routing mechanisms couldn't both work at the same time. I
re-worked the implementation of the back button to match the cancel/save
buttons and utilize `navigateToApp` to fix.

Now instead of observability utilizing the `observabilityOnboardingLink`
query param, and security utilizing both `observabilityOnboardingLink`
and `onboardingAppId`, both solutions will use `returnAppId` and
`returnPath` (or different names if we don't love these) to route back
to their sourcing locations.

Note: Observability onboarding will also now inherit logic the security
onboarding team added where the same query parameters route back to the
source when a user cancels or saves from the Add integration page (item
3 from [this PR](elastic#194028))

## Screen recordings

Regular integrations page

https://github.com/user-attachments/assets/0f306bec-657f-4a7a-b2da-25557899b629

Security onboarding

https://github.com/user-attachments/assets/d2a161a0-62ee-40b1-9dd9-5165aea6a65a

Observability onboarding

https://github.com/user-attachments/assets/89f6b9a3-a348-4488-8688-1d5c96716185

Relates:
- elastic#181520
- elastic/security-team#11789

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
(cherry picked from commit 6967952)
angorayc added a commit that referenced this pull request May 28, 2025
…nsolidate custom fleet onboarding logic (#215561) (#221819)

# Backport

This will backport the following commits from `main` to `8.19`:
- [[Fleet][Security & Observability Onboarding] Generalize and
consolidate custom fleet onboarding logic
(#215561)](#215561)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Kylie
Meli","email":"kylie.geller@elastic.co"},"sourceCommit":{"committedDate":"2025-03-26T17:40:51Z","message":"[Fleet][Security
& Observability Onboarding] Generalize and consolidate custom fleet
onboarding logic (#215561)\n\n## Summary\n\nUpdated fleet custom
navigation logic to be more generic and consistent\nbetween security and
observability onboarding flows.\n\n## Details\n\nWhen attempting to
start using the custom logic for routing back to\nonboarding pages for
another project, I noticed inconsistencies in how\nwe were linking back
to the onboarding pages for the `Back to selection`\nbutton on the
Integrations overview page and the `Cancel` and `Save and\ncontinue` on
the Add integration page. Due to these inconsistencies,\nboth custom
routing mechanisms couldn't both work at the same time. I\nre-worked the
implementation of the back button to match the cancel/save\nbuttons and
utilize `navigateToApp` to fix.\n\nNow instead of observability
utilizing the `observabilityOnboardingLink`\nquery param, and security
utilizing both `observabilityOnboardingLink`\nand `onboardingAppId`,
both solutions will use `returnAppId` and\n`returnPath` (or different
names if we don't love these) to route back\nto their sourcing
locations.\n\nNote: Observability onboarding will also now inherit logic
the security\nonboarding team added where the same query parameters
route back to the\nsource when a user cancels or saves from the Add
integration page (item\n3 from [this
PR](https://github.com/elastic/kibana/pull/194028))\n\n## Screen
recordings\n\nRegular integrations
page\n\n\nhttps://github.com/user-attachments/assets/0f306bec-657f-4a7a-b2da-25557899b629\n\nSecurity
onboarding\n\n\nhttps://github.com/user-attachments/assets/d2a161a0-62ee-40b1-9dd9-5165aea6a65a\n\nObservability
onboarding\n\n\nhttps://github.com/user-attachments/assets/89f6b9a3-a348-4488-8688-1d5c96716185\n\nRelates:
\n- https://github.com/elastic/kibana/issues/181520\n-
https://github.com/elastic/security-team/issues/11789\n\n---------\n\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"6967952189b8366677fe00d183fc4c2def125dad","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix","backport:skip","Team:Fleet","Team:Threat
Hunting:Explore","Team:obs-ux-logs","v9.1.0"],"title":"[Fleet][Security
& Observability Onboarding] Generalize and consolidate custom fleet
onboarding
logic","number":215561,"url":"https://github.com/elastic/kibana/pull/215561","mergeCommit":{"message":"[Fleet][Security
& Observability Onboarding] Generalize and consolidate custom fleet
onboarding logic (#215561)\n\n## Summary\n\nUpdated fleet custom
navigation logic to be more generic and consistent\nbetween security and
observability onboarding flows.\n\n## Details\n\nWhen attempting to
start using the custom logic for routing back to\nonboarding pages for
another project, I noticed inconsistencies in how\nwe were linking back
to the onboarding pages for the `Back to selection`\nbutton on the
Integrations overview page and the `Cancel` and `Save and\ncontinue` on
the Add integration page. Due to these inconsistencies,\nboth custom
routing mechanisms couldn't both work at the same time. I\nre-worked the
implementation of the back button to match the cancel/save\nbuttons and
utilize `navigateToApp` to fix.\n\nNow instead of observability
utilizing the `observabilityOnboardingLink`\nquery param, and security
utilizing both `observabilityOnboardingLink`\nand `onboardingAppId`,
both solutions will use `returnAppId` and\n`returnPath` (or different
names if we don't love these) to route back\nto their sourcing
locations.\n\nNote: Observability onboarding will also now inherit logic
the security\nonboarding team added where the same query parameters
route back to the\nsource when a user cancels or saves from the Add
integration page (item\n3 from [this
PR](https://github.com/elastic/kibana/pull/194028))\n\n## Screen
recordings\n\nRegular integrations
page\n\n\nhttps://github.com/user-attachments/assets/0f306bec-657f-4a7a-b2da-25557899b629\n\nSecurity
onboarding\n\n\nhttps://github.com/user-attachments/assets/d2a161a0-62ee-40b1-9dd9-5165aea6a65a\n\nObservability
onboarding\n\n\nhttps://github.com/user-attachments/assets/89f6b9a3-a348-4488-8688-1d5c96716185\n\nRelates:
\n- https://github.com/elastic/kibana/issues/181520\n-
https://github.com/elastic/security-team/issues/11789\n\n---------\n\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"6967952189b8366677fe00d183fc4c2def125dad"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/215561","number":215561,"mergeCommit":{"message":"[Fleet][Security
& Observability Onboarding] Generalize and consolidate custom fleet
onboarding logic (#215561)\n\n## Summary\n\nUpdated fleet custom
navigation logic to be more generic and consistent\nbetween security and
observability onboarding flows.\n\n## Details\n\nWhen attempting to
start using the custom logic for routing back to\nonboarding pages for
another project, I noticed inconsistencies in how\nwe were linking back
to the onboarding pages for the `Back to selection`\nbutton on the
Integrations overview page and the `Cancel` and `Save and\ncontinue` on
the Add integration page. Due to these inconsistencies,\nboth custom
routing mechanisms couldn't both work at the same time. I\nre-worked the
implementation of the back button to match the cancel/save\nbuttons and
utilize `navigateToApp` to fix.\n\nNow instead of observability
utilizing the `observabilityOnboardingLink`\nquery param, and security
utilizing both `observabilityOnboardingLink`\nand `onboardingAppId`,
both solutions will use `returnAppId` and\n`returnPath` (or different
names if we don't love these) to route back\nto their sourcing
locations.\n\nNote: Observability onboarding will also now inherit logic
the security\nonboarding team added where the same query parameters
route back to the\nsource when a user cancels or saves from the Add
integration page (item\n3 from [this
PR](https://github.com/elastic/kibana/pull/194028))\n\n## Screen
recordings\n\nRegular integrations
page\n\n\nhttps://github.com/user-attachments/assets/0f306bec-657f-4a7a-b2da-25557899b629\n\nSecurity
onboarding\n\n\nhttps://github.com/user-attachments/assets/d2a161a0-62ee-40b1-9dd9-5165aea6a65a\n\nObservability
onboarding\n\n\nhttps://github.com/user-attachments/assets/89f6b9a3-a348-4488-8688-1d5c96716185\n\nRelates:
\n- https://github.com/elastic/kibana/issues/181520\n-
https://github.com/elastic/security-team/issues/11789\n\n---------\n\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"6967952189b8366677fe00d183fc4c2def125dad"}}]}]
BACKPORT-->

Co-authored-by: Kylie Meli <kylie.geller@elastic.co>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
angorayc pushed a commit to angorayc/kibana that referenced this pull request May 29, 2025
…tching tabs the integration details page (elastic#216094)

## Summary

Updates so that `returnAppId` and `returnPath` are maintained when the
user switches tabs on the Integrations details page.

## Details

We currently have custom logic so that callers of the integrations cards
can customize the destinations of the back, cancel and save buttons.
This fixes that flow so that that customization is kept if the user
switches tabs.

Followup to elastic#215561

## Screen recordings

https://github.com/user-attachments/assets/016ae86a-9d2f-434f-88cc-f34aeff9e14d

Relates
- elastic/security-team#11789

(cherry picked from commit e5b81ac)
kibanamachine pushed a commit to kibanamachine/kibana that referenced this pull request May 29, 2025
…tching tabs the integration details page (elastic#216094)

## Summary

Updates so that `returnAppId` and `returnPath` are maintained when the
user switches tabs on the Integrations details page.

## Details

We currently have custom logic so that callers of the integrations cards
can customize the destinations of the back, cancel and save buttons.
This fixes that flow so that that customization is kept if the user
switches tabs.

Followup to elastic#215561

## Screen recordings

https://github.com/user-attachments/assets/016ae86a-9d2f-434f-88cc-f34aeff9e14d

Relates
- elastic/security-team#11789

(cherry picked from commit e5b81ac)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport:skip This PR does not require backporting release_note:fix Team:Fleet Team label for Observability Data Collection Fleet team Team:obs-onboarding Observability Onboarding Team v8.19.0 v9.1.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants