Skip to content

Frontend for Google Cloud :: Service Accounts

What does this MR do and why?

This MR introduces the frontend for the create GCP service account flow.

This commit's antecedents can be traced back to !71420 (closed) which is being split up into smaller MRs given its size.

Changes introduced:

  • errors/gcp_error.vue component shows alert when GCP api calls fail
  • errors/no_gcp_alert.vue component to alert and link the user to create a GCP project
  • screens/service_accounts_form.vue component renders the create form
  • Moved screens/app.vue component
  • Renamed service_accounts_list.vue
  • Localizations
  • Tests

Screenshots

Create Service Account Flow

Reviewing this MR

You have two options:

  1. Review the code
  2. Review the code and test the functionality

Reviewing the code is easy, local setup is not required.

To review the functionality, several steps need to be taken to configure your local GDK.

Local Setup

1. Use a proper TLD

  • This feature integrates with Google OAuth2
  • Callback URLs need to be registered via the GCP console
  • Google will not accept gdk.test, you will need a proper TLD
    • I use local-gitlab.com
  • Setup your GDK for such a domain, update your /etc/hosts and possibly Nginx if used to proxy the GDK port

2. Setup Google Cloud

3. Configure GDK for Google OAuth2

  • Update gdk.yml and add the Google OAuth2 config
    ---
    hostname: local-gitlab.com
    omniauth:
      google_oauth2:
        client_id: {google_oauth_client_id}
        client_secret: {google_oauth_client_secret}
  • or, use the CLI to do the same
    $ gdk config set omniauth.google_oauth2.client_id '..'
    $ gdk config set omniauth.google_oauth2.client_secret '..'
  • or, another option is to update the gdk/gitlab/config/gitlab.yml with google_oauth details
  • then run: gdk reconfigure

4. Enable Feature Flag

Enable feature flag incubation_5mp_google_cloud

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Sri Rang

Merge request reports