Add permissions check page to GKE cluster creation flow
Note: This was proposed in https://gitlab.com/gitlab-org/gitlab-ce/issues/39957, but then cut because of capacity and time.
Since the idea is valid, and greatly improves the flow for new users, we should implement this as soon as possible. The links in the page must use our referrer to explicitly state the source of the request.
The problem to solve is the following one: the "default" path for this page, is that users already have a Google account, but not GCP enabled. So steps are to connect the account with OAuth2, then fill up the cluster creation form. But in the form they are required to enter a GCP project ID, and if they don't have GCP enabled, they probably don't know what to do. With the checks page, they are forced to focus on enabling their account to GCP before proceeding.
If the account doesn't meet one of the GCP requirements, this page is shown.
- The checks and the page are after user signed in with Google OAuth button in CI/CD > Clusters
- The title shown on this page is
Enable Google Cloud Platform
- If a requirement is not met, it will be shown as an empty bullet point
- If a requirement is met, it will be shown as a checkmark
- As long as one of the requirements is not met, the
Continue
button will be disabled - This page should perform polling to determine when all requirements are met so the checkmarks can be displayed and the button enabled. If this is not possible, we can show a message instructing the user to refresh the page once they complete the requirements.
No requierments met | One requirement met | All requierements met |
---|---|---|
This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.