Using GitLab Connector in Tekton Task
Using GitLab Connector in Tekton Tasks enables centralized management of GitLab credentials and secure access to GitLab repositories during Tekton Task execution.
TOC
Requirements for Tekton TaskUsage InstructionsUsing GitConfig for Git CLI OperationsUsing GitLabConfig for GitLab CLI OperationsUsing Custom CLI Tools with GitLab ConnectorFurther ReadingRequirements for Tekton Task
Not all Tekton Tasks can use GitLab Connector.
GitLab Connector injects temporary credentials through a CSI Driver. It provides configurations that generate configuration files with temporary authentication and URL rewriting settings:
- gitconfig: Provides a
.gitconfigfile for Git CLI operations - gitlabconfig: Provides a
config.ymlfile for GitLab CLI (glab) operations
Example of generated .gitconfig:
Example of generated config.yml:
Therefore, Tekton Tasks must meet the following requirements to use GitLab Connector:
For Git CLI operations:
- Support mounting a
.gitconfigfile via Workspace
For GitLab CLI (glab) operations:
- Support mounting
config.ymlfile via Workspace - Support mounting
.gitconfigfile via Workspace (required when using glab to clone repositories or interact with repository directories)
Usage Instructions
Using GitConfig for Git CLI Operations
When using Git CLI in Tekton Tasks, mount the gitconfig configuration:
Parameter descriptions:
name: The Workspace name defined in the Taskcsi:driver: Fixed valueconnectors-csireadOnly: Fixed valuetruevolumeAttributes: CSI Volume attributesconnector.name: Name of the GitLab Connectorconnector.namespace: (Optional) Namespace of the GitLab Connector; if not specified, uses the TaskRun's namespaceconfiguration.names: Configuration name (gitconfigfor Git CLI operations)
Using GitLabConfig for GitLab CLI Operations
When using GitLab CLI (glab) in Tekton Tasks, mount both gitlabconfig and gitconfig:
The Task should:
-
Copy configuration files to the appropriate locations:
.gitconfig→~/.gitconfigconfig.yml→~/.config/glab-cli/config.yml
-
Set correct file permissions:
~/.gitconfig→644~/.config/glab-cli/config.yml→600
Using Custom CLI Tools with GitLab Connector
When using custom CLI tools (like reviewdog) with GitLab Connector, you can use the built-in configuration files to access the GitLab API through the proxy service.
For more details, see: Connectors CSI Built-in Configurations
or refer to Using Reviewdog with GitLab Connector for more details.
Further Reading
- Using GitLab CLI with GitLab Connector - Learn how to use glab commands with the connector
- Using Reviewdog with GitLab Connector - Learn how to use custom CLI tools with the connector
- Connectors CSI Built-in Configurations - Learn about built-in configuration files
- Using CSI Volumes in Tekton - Tekton CSI workspace documentation