Skip to content

Conversation

@Standing-Man
Copy link
Contributor

I hereby agree to the terms of the GreptimeDB CLA.

Refer to a related PR or issue link (optional)

What's changed and what's your intention?

  • enable datasource support for gcs storage.
  • 🚧 test for export to gcs.

PR Checklist

Please convert it to a draft if some of the following conditions are not met.

  • I have written the necessary rustdoc comments.
  • I have added the necessary unit tests and integration tests.
  • This PR requires documentation updates.
  • API changes are backward compatible.
  • Schema or data changes are backward compatible.

Signed-off-by: StandingMan <jmtangcs@gmail.com>
@Standing-Man Standing-Man requested a review from a team as a code owner November 19, 2025 06:18
@github-actions github-actions bot added size/S docs-not-required This change does not impact docs. labels Nov 19, 2025
@WenyXu
Copy link
Member

WenyXu commented Nov 19, 2025

Hi @Standing-Man, thank you for your contribution! However, I’d prefer to use cli::common::ObjectStoreConfig instead, so that we can keep all object storage configurations consistent.

@Standing-Man
Copy link
Contributor Author

Standing-Man commented Nov 19, 2025

Hi @Standing-Man, thank you for your contribution! However, I’d prefer to use cli::common::ObjectStoreConfig instead, so that we can keep all object storage configurations consistent.

You mean there already support Azblob, OSS, and GCS storage? If so, close this PR.

@WenyXu
Copy link
Member

WenyXu commented Nov 20, 2025

Hi @Standing-Man, thank you for your contribution! However, I’d prefer to use cli::common::ObjectStoreConfig instead, so that we can keep all object storage configurations consistent.

You mean there already support Azblob, OSS, and GCS storage? If so, close this PR.

No, the data export and import CLI tools don't support these backends. You can refer to the metadata import CLI to see how cli::common::ObjectStoreConfig supports multiple backends.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds Google Cloud Storage (GCS) datasource support to GreptimeDB, enabling users to export data to GCS storage backends. The implementation follows the existing patterns established for S3 and OSS storage backends.

  • Adds a new GCS module with configuration validation and backend builder functions
  • Integrates GCS into the table options validation system
  • Extends the CLI export command with GCS-specific parameters

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.

File Description
src/common/datasource/src/object_store/gcs.rs New module implementing GCS backend builder with support for endpoint, credentials, ACL, and storage class configuration
src/common/datasource/src/object_store.rs Integrates GCS module exports and adds GCS_SCHEMA handling in backend builder
src/table/src/requests.rs Adds GCS options to table option validation logic
src/cli/src/data/export.rs Adds GCS-related command-line parameters (bucket, root, endpoint, credential, ACL, storage class)

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

killme2008 and others added 3 commits December 10, 2025 09:35
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@killme2008
Copy link
Contributor

killme2008 commented Dec 24, 2025

Hi @Standing-Man, thank you for your contribution! However, I’d prefer to use cli::common::ObjectStoreConfig instead, so that we can keep all object storage configurations consistent.

You mean there already support Azblob, OSS, and GCS storage? If so, close this PR.

No, the data export and import CLI tools don't support these backends. You can refer to the metadata import CLI to see how cli::common::ObjectStoreConfig supports multiple backends.

@Standing-Man Do you have time to address this comment? If not, I think we can close it right now or make it as draft. Thank you.

@Standing-Man
Copy link
Contributor Author

@Standing-Man Do you have time to address this comment? If not, I think we can close it right now or make it as draft. Thank you.

For now, I’ve converted it to a draft. I’ll continue working on this PR when I have more time.

@Standing-Man Standing-Man marked this pull request as draft December 25, 2025 07:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs-not-required This change does not impact docs. size/S

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants