Google CloudインテグレーションAPI
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com
- ステータス: 実験的機能
このAPIを使用して、Google Cloudインテグレーションと連携します。詳細については、GitLabとGoogle Cloudインテグレーションを参照してください。
プロジェクトレベルのGoogle Cloudインテグレーションスクリプト
- ステータス: 実験的機能
ワークロードアイデンティティフェデレーション作成スクリプト
プロジェクトのメンテナーまたはオーナーロールを持つユーザーは、次のエンドポイントを使用して、Google Cloudでワークロードアイデンティティフェデレーションを作成し設定するShellスクリプトをクエリすることができます:
GET /projects/:id/google_cloud/setup/wlif.shサポートされている属性は以下のとおりです:
| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 整数 | はい | プロジェクトのID。 |
google_cloud_project_id | 文字列 | はい | ワークロードアイデンティティフェデレーション用のGoogle CloudプロジェクトID。 |
google_cloud_workload_identity_pool_id | 文字列 | いいえ | 作成するGoogle Cloud Workload IdentityプールID。gitlab-wlifがデフォルトです。 |
google_cloud_workload_identity_pool_display_name | 文字列 | いいえ | 作成するGoogle Cloud Workload Identityプールの表示名。WLIF for GitLab integrationがデフォルトです。 |
google_cloud_workload_identity_pool_provider_id | 文字列 | いいえ | 作成するGoogle Cloud Workload IdentityプールプロバイダのID。gitlab-wlif-oidc-providerがデフォルトです。 |
google_cloud_workload_identity_pool_provider_display_name | 文字列 | いいえ | 作成するGoogle Cloud Workload Identityプールプロバイダの表示名。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"Google Cloudインテグレーションのセットアップスクリプト
プロジェクトのメンテナーまたはオーナーロールを持つユーザーは、次のエンドポイントを使用して、Google CloudインテグレーションをセットアップするShellスクリプトをクエリすることができます:
GET /projects/:id/google_cloud/setup/integrations.shGoogle Artifact Managementインテグレーションのみがサポートされています。このスクリプトは、Google ArtifactレジストリにアクセスするためのIAMポリシーを作成します:
- Artifact Registry Readerロールは、レポーターロール以上のメンバーに付与されます
- Artifact Registry Writerロールは、デベロッパーロール以上のメンバーに付与されます
サポートされている属性は以下のとおりです:
| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 整数 | はい | GitLabプロジェクトのID。 |
enable_google_cloud_artifact_registry | ブール値 | はい | Google Artifact Managementインテグレーションを有効にするかどうかを示すフラグ。 |
google_cloud_artifact_registry_project_id | 文字列 | はい | Artifactレジストリ用の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"Runnerのプロビジョニング用にGoogle Cloudプロジェクトを設定するスクリプト
プロジェクトのメンテナーまたはオーナーロールを持つユーザーは、次のエンドポイントを使用して、Runnerのプロビジョニングおよび実行用にGoogle Cloudプロジェクトを設定するShellスクリプトをクエリすることができます:
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>"