Google Cloud 통합 API

Tier: Free, Premium, Ultimate Offering: GitLab.com Status: Experiment

프로젝트 수준의 Google Cloud 통합 스크립트

Status: Experiment

Workload identity federation 생성 스크립트

프로젝트의 유지자(Maintainer) 역할을 갖고 있는 사용자는 Google Cloud에서 워크로드 ID 페더레이션을 생성하고 구성하는 셸 스크립트를 다음 엔드포인트를 사용하여 쿼리할 수 있습니다:

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

지원되는 속성:

속성 타입 필수 설명
id 정수 프로젝트 ID
google_cloud_project_id 문자열 워크로드 ID 페더레이션을 위한 Google Cloud 프로젝트 ID
google_cloud_workload_identity_pool_id 문자열 아니요 생성할 Google Cloud 워크로드 ID 풀의 ID. gitlab-wlif로 기본 설정됨
google_cloud_workload_identity_pool_display_name 문자열 아니요 생성할 Google Cloud 워크로드 ID 풀의 표시 이름. GitLab 통합을 위한 WLIF로 기본 설정됨
google_cloud_workload_identity_pool_provider_id 문자열 아니요 생성할 Google Cloud 워크로드 ID 풀 제공자의 ID. gitlab-wlif-oidc-provider로 기본 설정됨
google_cloud_workload_identity_pool_provider_display_name 문자열 아니요 생성할 Google Cloud 워크로드 ID 풀 제공자의 표시 이름. GitLab OIDC 제공자로 기본 설정됨

예시 요청:

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

Google Cloud 통합 설정 스크립트

프로젝트의 유지자(Maintainer) 역할을 갖고 있는 사용자는 다음 엔드포인트를 사용하여 Google Cloud 통합 설정 스크립트를 쿼리할 수 있습니다:

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

Google Artifact Management 통합만 지원됩니다. 이 스크립트는 Google Artifact Registry에 액세스하기 위한 IAM 정책을 생성합니다:

지원되는 속성:

속성 타입 필수 설명
id 정수 GitLab 프로젝트 ID
enable_google_cloud_artifact_registry 부울 Google Artifact Management 통합을 활성화해야 하는지를 나타내는 플래그
google_cloud_artifact_registry_project_id 문자열 Artifact Registry의 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/integrations.sh"

러너 프로비저닝을 위한 Google Cloud 프로젝트 구성 스크립트

프로젝트의 유지자(Maintainer) 역할을 갖고 있는 사용자는 다음 엔드포인트를 사용하여 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>"