Skip to content

Introduce services related to Cloud SQL

Sri Rang requested to merge incubation-cloud-seed-cloudsql-services into master

What does this MR do and why?

As part of the Incubation Engineering Cloud Seed project, there's an ongoing epic that adds Cloud SQL database (Postgres, MySQL and SQL Server) provisioning capabilities within GitLab.

This MR is part of that epic, where in we:

  • Introduce the create_cloudsql_instance_service.rb to create a Cloud SQL instance
    • which additionally triggers the CreateCloudsqlInstanceWorker
  • Introduce the get_cloudsql_instances_services.rb to fetch linked instances from the project CI vars
  • Introduce the enable_cloudsql_service.rb which enabled SQL admin and related Google Cloud services
  • Updates the Google Cloud client.rb with related methods
  • Specs for all of the above

The controllers which call these services will be merged in a different MR.

Keeping this one short for smoother reviews and approvals.

Screenshots or screen recordings

Since there isn't any controller that invokes these services, I don't have videos or screenshots for demoing these in action.

However here is a video that shows the end-to-end provisioning of Cloud SQL from GitLab.

This is the original proof of concept MR and more information about Cloud Seed can be found:

How to set up and validate locally

Pure code review, no functionality to test in app. Please see the explanation above.

MR acceptance checklist

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

Merge request reports