Introduce services related to Cloud SQL
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
- which additionally triggers the
- 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.
-
I have evaluated the MR acceptance checklist for this MR.