Google Cloud Integration API

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

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

Status: Experiment

Workload identity federation 생성 스크립트

프로젝트의 유지자 역할을 적어도 가진 사용자는 Google Cloud에서 워크로드 식별 통합을 만들고 구성하는 쉘 스크립트를 쿼리하는 데 다음 엔드포인트를 사용할 수 있습니다:

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

지원되는 속성:

속성 유형 필수 여부 설명
id integer Yes 프로젝트 ID.
google_cloud_project_id string Yes 워크로드 식별 통합을 위한 Google Cloud 프로젝트 ID.
google_cloud_workload_identity_pool_id string No 생성할 Google Cloud 워크로드 식별 풀의 ID. 기본값은 gitlab-wlif입니다.
google_cloud_workload_identity_pool_display_name string No 생성할 Google Cloud 워크로드 식별 풀의 표시 이름. 기본값은 GitLab 통합을 위한 WLIF입니다.
google_cloud_workload_identity_pool_provider_id string No 생성할 Google Cloud 워크로드 식별 풀 제공자의 ID. 기본값은 gitlab-wlif-oidc-provider입니다.
google_cloud_workload_identity_pool_provider_display_name string No 생성할 Google Cloud 워크로드 식별 풀 제공자의 표시 이름. 기본값은 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 통합 설정 스크립트

프로젝트의 유지자 역할을 적어도 가진 사용자는 Google Cloud 통합을 설정하는 쉘 스크립트를 쿼리하는 다음 엔드포인트를 사용할 수 있습니다:

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

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

지원되는 속성:

속성 유형 필수 여부 설명
id integer Yes GitLab 프로젝트 ID.
enable_google_cloud_artifact_registry boolean Yes Google Artifact Management 통합을 활성화해야 하는지를 나타내는 플래그.
google_cloud_artifact_registry_project_id string Yes 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 프로젝트 구성 스크립트

프로젝트의 유지자 역할을 적어도 가진 사용자는 지정된 Google Cloud 프로젝트에서 준비 작업 구성 단계를 수행하기 위해 다음 쉘 스크립트를 쿼리하는 데 다음 엔드포인트를 사용할 수 있습니다.

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

스크립트는 지정된 Google Cloud 프로젝트에서 필요한 서비스를 활성화하고 GRITProvisioner 역할 및 grit-provisioner 서비스 계정을 만듭니다.

지원되는 속성:

속성 유형 필수 여부 설명
id integer Yes GitLab 프로젝트 ID.
google_cloud_project_id string Yes 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>"