Add GoogleCloudPlatform::ArtifactRegistry integration
What does this MR do and why?
This MR introduces the new project integration (development guidelines) GoogleCloudPlatform::ArtifactRegistry
What is out of scope of this MR is the configuration test https://docs.gitlab.com/ee/development/integrations/#define-configuration-test
It'll be added later when we finish the refactoring of the client class GAR Integration: Custom client class (#425147 - closed)
I open the new issue to implement the configuration test GAR integrations: Implement configuration test ... (#438560 - closed)
MR acceptance checklist
Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Screenshots or screen recordings
| The integration form | The integration is in the list of integrations |
|---|---|
![]() |
![]() |
How to set up and validate locally
-
Simulate a SaaS instance in the local GDK
-
Enable the feature flag in the rails console:
Feature.enable(:gcp_artifact_registry)
Using UI
-
Visit
Project > Settings > Integrations -
Choose to configure
Google Cloud Platform Artifact Registryintegration -
Fill the form with required field and enable the integration.
-
The new integration should appear in the list of active integrations.
Using REST API
-
Create the new Google Artifact Registry integration
curl --request PUT --header "Authorization: Bearer <gl-pat>" "http://gdk.test:3000/api/v4/projects/<project-id>/integrations/google-cloud-platform-artifact-registry" -H "Content-Type: application/json" -d '{"artifact_registry_project_id": "dmeshcharakou-920d238d", "artifact_registry_location": "europe-west6", "artifact_registry_repositories": "myrepo", "workload_identity_pool_project_number": "917659427920", "workload_identity_pool_id": "gitlab-gcp-demo", "workload_identity_pool_provider_id": "gitlab-gcp-prod-gitlab-org"}' -
Retrieve the integration
curl --header "Authorization: Bearer <gl-pat>" "http://gdk.test:3000/api/v4/projects/<project-id>/integrations/google-cloud-platform-artifact-registry" -
Delete the integration
curl --request DELETE --header "Authorization: Bearer <gl-pat>" "http://gdk.test:3000/api/v4/projects/<project-id>/integrations/google-cloud-platform-artifact-registry"
Related to #425066 (closed)

