구글 클라우드 통합 API

Tier: Free, Premium, Ultimate

Offering: GitLab.com

Status: Experiment

프로젝트 수준의 구글 클라우드 통합 스크립트

Status: Experiment

워크로드 아이덴티티 연합 생성 스크립트

프로젝트의 Maintainer 역할을 가진 사용자는 다음 엔드포인트를 사용하여 구글 클라우드에서 워크로드 아이덴티티 연합을 생성하고 설정하는 셸 스크립트를 쿼리할 수 있습니다:

GET /projects/:id/google_cloud/setup/wlif.sh

지원되는 속성:

Attribute Type Required Description
id integer Yes 프로젝트의 ID입니다.
google_cloud_project_id string Yes 워크로드 아이덴티티 연합을 위한 구글 클라우드 프로젝트 ID입니다.
google_cloud_workload_identity_pool_id string No 생성할 구글 클라우드 워크로드 아이덴티티 풀의 ID입니다. 기본값은 gitlab-wlif입니다.
google_cloud_workload_identity_pool_display_name string No 생성할 구글 클라우드 워크로드 아이덴티티 풀의 표시 이름입니다. 기본값은 WLIF for GitLab integration입니다.
google_cloud_workload_identity_pool_provider_id string No 생성할 구글 클라우드 워크로드 아이덴티티 풀 제공자의 ID입니다. 기본값은 gitlab-wlif-oidc-provider입니다.
google_cloud_workload_identity_pool_provider_display_name string No 생성할 구글 클라우드 워크로드 아이덴티티 풀 제공자의 표시 이름입니다. 기본값은 GitLab OIDC provider입니다.

예제 요청:

curl --request GET \
     --header "PRIVATE-TOKEN: <your_access_token>" \
     --url "https://gitlab.com/api/v4/projects/<your_project_id>/google_cloud/setup/wlif.sh"

구글 클라우드 통합 설정 스크립트

프로젝트의 Maintainer 역할을 가진 사용자는 다음 엔드포인트를 사용하여 구글 클라우드 통합을 설정하는 셸 스크립트를 쿼리할 수 있습니다:

GET /projects/:id/google_cloud/setup/integrations.sh

오직 구글 아티팩트 관리 통합만 지원됩니다.

이 스크립트는 구글 아티팩트 레지스트리에 대한 액세스를 위해 IAM 정책을 생성합니다:

지원되는 속성:

Attribute Type Required Description
id integer Yes GitLab 프로젝트의 ID입니다.
enable_google_cloud_artifact_registry boolean Yes 구글 아티팩트 관리 통합을 활성화할지 여부를 나타내는 플래그입니다.
google_cloud_artifact_registry_project_id string Yes 아티팩트 레지스트리를 위한 구글 클라우드 프로젝트 ID입니다.

예제 요청:

curl --request GET \
     --header "PRIVATE-TOKEN: <your_access_token>" \
     --url "https://gitlab.com/api/v4/projects/<your_project_id>/google_cloud/setup/integrations.sh"

Google Cloud 프로젝트를 위해 러너 프로비저닝을 구성하는 스크립트

프로젝트에 대해 최소한 Maintainer 역할을 가진 사용자들은 다음 끝점(endpoint)을 사용하여 Google Cloud 프로젝트를 위해 러너 프로비저닝 및 실행을 구성하는 셸 스크립트를 조회할 수 있습니다:

GET /projects/:id/google_cloud/setup/runner_deployment_project.sh

이 스크립트는 지정된 Google Cloud 프로젝트에서 필요한 서비스 활성화 및 GRITProvisioner 역할 생성과 grit-provisioner 서비스 계정 생성을 포함한 준비 구성 단계를 수행합니다.

지원되는 속성:

속성 유형 필수 설명
id 정수 GitLab 프로젝트의 ID.
google_cloud_project_id 문자열 Google Cloud 프로젝트의 ID.

예제 요청:

curl --request GET \
     --header "PRIVATE-TOKEN: <your_access_token>" \
     --url "https://gitlab.com/api/v4/projects/<your_project_id>/google_cloud/setup/runner_deployment_project.sh?google_cloud_project_id=<your_google_cloud_project_id>"