Google Cloud Storage
Core pluginmarmotdata/gcs
Discover buckets from Google Cloud Storage
The Google Cloud Storage plugin discovers buckets from GCP projects. It captures bucket metadata including location, storage class, encryption settings, and lifecycle rules.
Connection Examples
Required Permissions
The service account needs the following IAM roles:
- Storage Bucket Viewer (
roles/storage.bucketViewer) - For discovering and listing buckets
Or use a custom role with these permissions:
storage.buckets.liststorage.buckets.getstorage.objects.list(if using object count)
In the UI
Point-and-click, no config file needed.
- 1 Open
Runs→Create Pipeline - 2 Pick Google Cloud Storage from the plugin list.
- 3 Fill in the wizard, set a schedule, save.
With the CLI
Save a YAML config, then run marmot ingest.
name: my-gcs-pipeline
runs:
- gcs:
project_id: "<project_id>"marmot ingest -c ingest.yaml Not using plugins? Other ways to populate Marmot
Configuration
10 top-level fields.
tags multiselect Tags to apply to discovered assets
external_links object[] External links to show on all assets
name string Display name for the link
icon string Icon identifier for the link
url string URL to the external resource
filter object Filter discovered assets by name (regex)
include multiselect Include patterns for resource names (regex)
exclude multiselect Exclude patterns for resource names (regex)
project_id string Google Cloud project ID
credentials_file string Path to service account JSON file
credentials_json password Service account JSON content
endpoint string Custom endpoint URL (for fake-gcs-server or other emulators)
disable_auth bool Disable authentication (for local emulators)
include_metadata bool Include bucket metadata like labels
true include_object_count bool Count objects in each bucket (can be slow for large buckets)
false Assets Emitted
Metadata fields this plugin attaches to each discovered asset.
GCS Bucket
GCSBucketFieldsGCSBucketFields defines metadata fields for GCS buckets
bucket_name stringName of the bucket
location stringGeographic location of the bucket
location_type stringLocation type (region, dual-region, multi-region)
storage_class stringDefault storage class (STANDARD, NEARLINE, COLDLINE, ARCHIVE)
created stringBucket creation timestamp
versioning stringWhether object versioning is enabled
requester_pays boolWhether requester pays for access
encryption stringEncryption type (google-managed or customer-managed)
kms_key stringCustomer-managed encryption key name
logging_enabled boolWhether access logging is enabled
lifecycle_rules_count intNumber of lifecycle rules configured
retention_period_seconds intRetention period in seconds
object_count intNumber of objects in the bucket