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
- add new graphql mutation class for configuring the analytics provider settings
- configurator connection string
- collector host
- cube API url
- cube API key
frontend
- 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
andgitlab_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)