Skip to content

[AWS Onboarding] Add Services step UI#271719

Open
juliaElastic wants to merge 8 commits into
elastic:mainfrom
juliaElastic:aws-onboarding-services-step
Open

[AWS Onboarding] Add Services step UI#271719
juliaElastic wants to merge 8 commits into
elastic:mainfrom
juliaElastic:aws-onboarding-services-step

Conversation

@juliaElastic
Copy link
Copy Markdown
Contributor

@juliaElastic juliaElastic commented May 28, 2026

Summary

Implements the Services step in the AWS cloud onboarding wizard — the screen where users select which AWS data streams they want to ingest before proceeding to connect their account.

Services step

  • aws_service_matrix.ts moved to IngestHub — the matrix is the source of truth for the Services UI and belongs with the plugin that owns it. deliveryMethods entries were converted from plain strings to { method, preferred } objects so the UI can render a "preferred" indicator.
  • Two-column card grid — each service renders as an EuiCheckableCard showing the service name, signal type badge, and delivery method badge(s).
  • Search + signal-type filter — a search box (filters on service name) and a "All / Logs / Metrics" button group sit in the same toolbar row. A second row shows the selected count and "Select all" / "Deselect all" buttons.
  • Initial selection from defaultEnabled — only services with showInUI: true && defaultEnabled: true are pre-checked on first load; selection is persisted to session storage.
  • Step order changed — Services now comes before Connect, so users pick what they want to collect before authenticating.
  • What's missing: Required config is not yet shown in the UI, plan to add it as a separate step: https://github.com/elastic/ingest-dev/issues/7621#issuecomment-4543523755

Connect step (follow-on fixes)

  • Identity Federation hidden when unsupported — the "Federated Identity (Recommended)" option is removed from the auth-method selector when any selected service has identityFederationSupported !== true. Falls back to Static Keys as the default. Enabled for GuardDuty only for testing, as we expect that to be the first to be supported.

Scout UI test

A new Scout smoke test (onboarding_services_step.spec.ts) covers the services step: renders behind feature flag, default selection matches defaultEnabled, signal filter works, Select/Deselect all works, and Next is disabled with no selection.

Test plan

  • Navigate to the AWS onboarding flow; confirm Services step is the first step shown
  • Verify default-enabled services are pre-checked; cloudwatch_logs, cloudwatch_metrics, OTel entries are unchecked
  • Search narrows the list; signal filter shows only logs/metrics services
  • "Select all" checks all visible services; "Deselect all" clears them; count updates
  • With no identityFederationSupported services selected, the auth selector in the Connect step shows only Static keys / Temporary keys
  • Identity Federation reappears when a service with identityFederationSupported: true is selected
  • Connect step shows a skeleton while cloud connectors load, then renders the tab UI

🤖 Generated with Claude Code

Screenshots

image image

Introduces the Services step in the AWS cloud onboarding flow, letting users pick which AWS data streams to ingest before connecting their account.

Key changes:
- Move aws_service_matrix from Fleet to IngestHub (source of truth lives closer to the UI that owns it); convert deliveryMethods entries to { method, preferred } objects
- Replace single services_step.tsx with a services_step/ directory: ServiceRow (EuiCheckableCard), DeliveryMethodBadge (with ECF tooltip), SignalTypeBadge, ServiceConfigFields accordion
- ServicesStep: two-column grid, search box, signal-type filter, Select all / Deselect all, showInUI + defaultEnabled-based initial selection
- Reorder wizard steps: Services now comes before Connect so users choose services first
- ConnectStep: hides Federated Identity option when none of the selected services have identityFederationSupported
- AwsIdentityFederationSetup: skeleton loading while connectors fetch; fix useEffect tab initialisation to fire only once (avoids tab reset on refetch)
- Add Scout UI smoke test for the Services step

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@juliaElastic juliaElastic requested a review from bhapas May 28, 2026 14:22
@juliaElastic juliaElastic added release_note:skip Skip the PR/issue when compiling release notes backport:skip This PR does not require backporting labels May 28, 2026
@juliaElastic juliaElastic requested a review from Copilot May 28, 2026 14:28
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Implements the AWS onboarding Services step UI and wires selected services into the Connect step to conditionally hide Identity Federation when unsupported.

Changes:

  • Adds Services step UI (grid/cards, search, signal-type filter, select/deselect all, session-persisted selection defaults).
  • Reorders onboarding steps to place Services before Connect, and gates Identity Federation visibility based on selected services.
  • Adds/updates tests and matrix schema (deliveryMethods now { method, preferred }).

Reviewed changes

Copilot reviewed 14 out of 14 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
x-pack/platform/plugins/shared/ingest_hub/public/onboarding/steps.ts Reorders steps so Services precedes Connect.
x-pack/platform/plugins/shared/ingest_hub/public/onboarding/step_components/services_step/index.tsx Implements Services step UI, filtering, and selection controls.
x-pack/platform/plugins/shared/ingest_hub/public/onboarding/step_components/services_step/service_row.tsx Renders each service as a selectable card row with badges.
x-pack/platform/plugins/shared/ingest_hub/public/onboarding/step_components/services_step/signal_type_badge.tsx Adds signal-type badge component.
x-pack/platform/plugins/shared/ingest_hub/public/onboarding/step_components/services_step/delivery_method_badge.tsx Adds delivery-method badge + tooltip + preferred styling.
x-pack/platform/plugins/shared/ingest_hub/public/onboarding/step_components/services_step.tsx Removes previous placeholder Services step component.
x-pack/platform/plugins/shared/ingest_hub/public/onboarding/onboarding_flow_context.tsx Persists selected service IDs in session storage with matrix-driven defaults.
x-pack/platform/plugins/shared/ingest_hub/public/onboarding/step_components/connect_step.tsx Hides Identity Federation option when any selected service doesn’t support it.
x-pack/platform/plugins/shared/ingest_hub/public/onboarding/aws_service_matrix.ts Moves/updates matrix schema (deliveryMethods entries, identityFederationSupported flag).
x-pack/platform/plugins/shared/ingest_hub/public/onboarding/aws_service_matrix.test.ts Updates matrix test imports to new filename.
x-pack/platform/plugins/shared/ingest_hub/test/scout/ui/tests/onboarding_services_step.spec.ts Adds Scout smoke coverage for Services step behaviors.
x-pack/platform/plugins/shared/fleet/public/components/cloud_connector/aws_connect_setup/index.tsx Plumbs showIdentityFederation into connect setup.
x-pack/platform/plugins/shared/fleet/public/components/cloud_connector/aws_connect_setup/aws_auth_type_selector.tsx Filters auth-type options based on showIdentityFederation.
x-pack/platform/plugins/shared/fleet/public/components/cloud_connector/aws_connect_setup/aws_identity_federation_setup.tsx Adds skeleton while connectors load; refactors tab click handler.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@juliaElastic juliaElastic marked this pull request as ready for review May 28, 2026 15:02
@juliaElastic juliaElastic requested review from a team as code owners May 28, 2026 15:02
@juliaElastic juliaElastic requested a review from kfirpeled May 28, 2026 15:02
@juliaElastic juliaElastic requested a review from a team as a code owner June 1, 2026 07:15
@botelastic botelastic Bot added the Team:Fleet Team label for Observability Data Collection Fleet team label Jun 1, 2026
@infra-vault-gh-plugin-prod
Copy link
Copy Markdown

Pinging @elastic/fleet (Team:Fleet)

@kibanamachine
Copy link
Copy Markdown
Contributor

⏳ Build in-progress, with failures

Failed CI Steps

History

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:skip Skip the PR/issue when compiling release notes Team:Fleet Team label for Observability Data Collection Fleet team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants