Export from GitLab to S3
CloudQuery is an open-source data integration platform that allows you to export data from any source to any destination.
The CloudQuery GitLab plugin allows you to sync data from GitLab to any destination, including S3. It takes only minutes to get started.
GitLab
The CloudQuery GitLab plugin pulls configuration out of GitLab resources and loads it into any supported CloudQuery destination
S3
This destination plugin lets you sync data from a CloudQuery source to remote S3 storage in various formats such as CSV, JSON and Parquet
Table of Contents
MacOS Setup
Step 1. Install CloudQuery
brew install cloudquery/tap/cloudquery
Step 2. Log in to CloudQuery CLI
Logging in is required to use premium plugins and premium tables in open-core plugins.
cloudquery login
Step 3. Configure GitLab source plugin
You can find more information about the configuration in the plugin documentation
kind: source
# Common source-plugin configuration
spec:
name: gitlab
path: cloudquery/gitlab
registry: cloudquery
version: "v5.0.0"
tables: ["gitlab_users"]
destinations: ["s3"]
# Gitlab specific configuration
spec:
# required
access_token: "${GITLAB_ACCESS_TOKEN}"
# optional, leave empty for GitLab SaaS
# base_url: "<INSTANCE_URL>"
Step 4. Configure S3 destination plugin
You can find more information about the configuration in the plugin documentation
kind: destination
spec:
name: "s3"
path: "cloudquery/s3"
registry: "cloudquery"
version: "v6.1.0"
write_mode: "append"
spec:
bucket: "bucket_name"
region: "region-name" # Example: us-east-1
path: "path/to/files/{{TABLE}}/{{UUID}}.{{FORMAT}}"
format: "parquet" # options: parquet, json, csv
format_spec:
# CSV-specific parameters:
# delimiter: ","
# skip_header: false
# Optional parameters
# compression: "" # options: gzip
# no_rotate: false
# athena: false # <- set this to true for Athena compatibility
# test_write: true # tests the ability to write to the bucket before processing the data
# endpoint: "" # Endpoint to use for S3 API calls.
# endpoint_skip_tls_verify # Disable TLS verification if using an untrusted certificate
# use_path_style: false
# batch_size: 10000 # 10K entries
# batch_size_bytes: 52428800 # 50 MiB
# batch_timeout: 30s # 30 seconds
Step 5. Run Sync
cloudquery sync gitlab.yml s3.yml