86 lines
4.1 KiB
YAML
86 lines
4.1 KiB
YAML
- help_text:
|
|
brief: Create a Cloud Build Connection for gitlab.com or GitLab Enterprise.
|
|
description: |
|
|
Create a Cloud Build Connection for gitlab.com or GitLab Enterprise.
|
|
|
|
A gitlab.com or GitLab Enterprise Connection can be created by using a personal access token with `api`
|
|
scope permission. A `read_repository` scoped personal access token will also be required on gitlab.com or if
|
|
the self-hosted GitLab server doesn't support project access token (GitLab Enterprise server version <
|
|
13.10).
|
|
|
|
If the GitLab Enterprise server can only be accessed within a VPC, a Service Directory
|
|
service resource can be provided for connecting to it.
|
|
|
|
examples: |
|
|
To create a GitLab connection for gitlab.com,
|
|
provide all the required parameters:
|
|
|
|
$ {command} my-gitlab-conn \
|
|
--project=myproj --region=us-central1 \
|
|
--read-authorizer-token-secret-version=projects/myproj/secrets/read-pat/versions/1 \
|
|
--authorizer-token-secret-version=projects/myproj/secrets/api-pat/versions/1 \
|
|
--webhook-secret-secret-version=projects/myproj/secrets/whsecret/versions/1
|
|
|
|
To create a GitLab connection for a GitLab server,
|
|
provide host-uri parameter as well:
|
|
|
|
$ {command} my-gle-conn \
|
|
--host-uri=https://my.gle-server.net \
|
|
--project=myproj --region=us-central1 \
|
|
--authorizer-token-secret-version=projects/myproj/secrets/api-pat/versions/1 \
|
|
--read-authorizer-token-secret-version=projects/myproj/secrets/read-pat/versions/1 \
|
|
--webhook-secret-secret-version=projects/myproj/secrets/whsecret/versions/1
|
|
|
|
To create a GitLab connection for a private GitLab server.
|
|
provide the service-directory-service and ssl-ca-file as well:
|
|
|
|
$ {command} my-gle-conn \
|
|
--host-uri=https://my.private-gle-server.net \
|
|
--project=myproj --region=us-central1 \
|
|
--service-directory-service=projects/myproj/namespaces/x/services/mysds \
|
|
--ssl-ca-file=mycertificate.crt \
|
|
--authorizer-token-secret-version=projects/myproj/secrets/api-pat/versions/1 \
|
|
--read-authorizer-token-secret-version=projects/myproj/secrets/read-pat/versions/1 \
|
|
--webhook-secret-secret-version=projects/myproj/secrets/whsecret/versions/1
|
|
|
|
command_type: CREATE
|
|
request:
|
|
collection: cloudbuild.projects.locations.connections
|
|
api_version: v2
|
|
arguments:
|
|
resource:
|
|
help_text: Connection to create.
|
|
spec: !REF googlecloudsdk.command_lib.cloudbuild.resources_v2:connection
|
|
params:
|
|
- api_field: connection.gitlabConfig.hostUri
|
|
arg_name: host-uri
|
|
help_text: URI of the GitLab instance.
|
|
- api_field: connection.gitlabConfig.authorizerCredential.userTokenSecretVersion
|
|
arg_name: authorizer-token-secret-version
|
|
help_text: Secret containing the api personal access token.
|
|
required: true
|
|
- api_field: connection.gitlabConfig.readAuthorizerCredential.userTokenSecretVersion
|
|
arg_name: read-authorizer-token-secret-version
|
|
help_text: Secret containing the read_api personal access token.
|
|
required: true
|
|
- api_field: connection.gitlabConfig.webhookSecretSecretVersion
|
|
arg_name: webhook-secret-secret-version
|
|
required: true
|
|
help_text: |-
|
|
Secret containing the webhook secret string for validating webhook events sent by
|
|
GitLab.
|
|
- group:
|
|
help_text: Group of arguments for configuring access through Service Directory.
|
|
params:
|
|
- api_field: connection.gitlabConfig.serviceDirectoryConfig.service
|
|
arg_name: service-directory-service
|
|
required: true
|
|
help_text: Service Directory service resource to use for accessing the gitlab.com or GitLab Enterprise
|
|
Server. Necessary only if the server has no public access from the internet.
|
|
- api_field: connection.gitlabConfig.sslCa
|
|
arg_name: ssl-ca-file
|
|
help_text: File containing the SSL_CA to be used.
|
|
processor: googlecloudsdk.core.util.files:ReadFileContents
|
|
async:
|
|
collection: cloudbuild.projects.locations.operations
|