Skip to content

Allow configuring project-level provider settings within onboarding flow for GitLab-managed provider

Problem to solve

In the initial iteration for configuring self-managed / GitLab-managed during the onboarding flow ( Add bring-your-own-cluster onboarding flow to P... (!145880 - merged)) we added redirects / new tabs for navigating the customer out of the onboarding flow to the project settings page.

This is a jarring experience, and leaves the customer in the project settings, needing to manually navigate back to the onboarding flow to continue.

There is a desire from UX to remove this friction during onboarding (see discussion).

Proposed solution

Allow setting the 4x project-level configuration options directly within the product analytics onboarding flow. This will mean building a vue form and backend changes for saving the values.

Remove the settings redirects and confirmation dialogs during the flow as needed.

Implementation plan

backend

  • add new graphql mutation class for configuring the analytics provider settings
    • configurator connection string
    • collector host
    • cube API url
    • cube API key

frontend 3️⃣

  • add a new project level provider settings form component
    • allows configuring the 4 provider settings
    • sends mutation to the new endpoint
    • uses input_copy_toggle_visibility or similar component for editing sensitive values
    • loading state, error handling
  • embed the new component into both self_manager_provider_card and gitlab_managed_provider_card (via a modal?)
  • remove confirmAction redirects we currently have to the settings page:
    • when selecting self-managed and no / incomplete settings exist, use the new modal
    • when selecting gitlab-managed and byoc project settings currently exist, use the new mutation to clear these settings automatically
  • tests
  • update onboarding docs

note: this issue has been split, and some of this work is done in #462963 (closed) and #462964 (closed)

Resources

Figma file

Edited by Elwyn Benson