Skip to content

RP SQL on GCP#636

Open
kbatuigas wants to merge 5 commits into
mainfrom
DOC-2337-document-feature-proper-gcs-support
Open

RP SQL on GCP#636
kbatuigas wants to merge 5 commits into
mainfrom
DOC-2337-document-feature-proper-gcs-support

Conversation

@kbatuigas

@kbatuigas kbatuigas commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Description

This pull request expands Redpanda SQL's cloud support and storage integrations, adds support for Google Cloud Platform (GCP) in several workflows, and improves documentation for authentication and storage options. The most important changes are summarized below.

GCP Support and Documentation Updates

  • Redpanda SQL is now available for Bring Your Own Cloud (BYOC) clusters on both AWS and GCP, not just AWS. Documentation and examples have been updated to reflect this, including instructions for enabling SQL on GCP clusters and relevant API and UI changes. [1] [2] [3] [4] [5] [6]
  • The CREATE STORAGE statement now supports both S3 and GCS types, with new options and examples for Google Cloud Storage, including authentication via service account key or Application Default Credentials (ADC). [1] [2] [3]

Iceberg Catalog Enhancements

  • The CREATE ICEBERG CATALOG statement and system tables now support a new auth_type = 'gcp' option for connecting to BigLake REST catalogs on GCP, requiring a gcp_project_id. Documentation and examples for this new authentication method have been added. [1] [2] [3]

SQL COPY Command Improvements

  • The COPY TO command documentation for exporting data to cloud storage has been updated for clarity and security. Placeholders are now used for credentials, and guidance is improved for authenticating with AWS, GCS (including ADC), and Azure. The use of AWS_CRED for GCS with HMAC keys is clarified. [1] [2]

Other Improvements

  • Minor clarifications and TODO comments have been added regarding GCP support for Iceberg-enabled topics and agent permission requirements for older clusters. [1] [2]

These changes collectively make Redpanda SQL more accessible and secure for users on GCP, streamline authentication workflows, and enhance documentation for multi-cloud deployments.

Resolves https://github.com/redpanda-data/documentation-private/issues/
Review deadline: 24 July

Page previews

Checks

  • New feature
  • Content gap
  • Support Follow-up
  • Small fix (typos, links, copyedits, etc)

@netlify

netlify Bot commented Jul 15, 2026

Copy link
Copy Markdown

Deploy Preview for rp-cloud ready!

Name Link
🔨 Latest commit 1b20cb3
🔍 Latest deploy log https://app.netlify.com/projects/rp-cloud/deploys/6a61405586175b0008a9381d
😎 Deploy Preview https://deploy-preview-636--rp-cloud.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@coderabbitai

coderabbitai Bot commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

The documentation expands Redpanda SQL BYOC support guidance from AWS to AWS or GCP. It adds GCS storage configuration, service-account and ADC authentication details, updated cloud-storage examples, and GCP endpoint guidance. Iceberg catalog documentation now supports GCP authentication with project IDs and includes a BigLake example. Related system table and prerequisite descriptions were updated, with TODOs marking pending GCP-specific documentation.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

Suggested reviewers: feediver1

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title is concise and clearly reflects the main GCP-focused SQL documentation update.
Description check ✅ Passed The description follows the template sections and includes previews, checks, and a review deadline, though the issue link still uses a placeholder.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch DOC-2337-document-feature-proper-gcs-support

Comment @coderabbitai help to get the list of available commands.

@kbatuigas
kbatuigas marked this pull request as ready for review July 22, 2026 21:50
@kbatuigas
kbatuigas requested a review from a team as a code owner July 22, 2026 21:50

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 4

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
modules/reference/pages/sql/sql-statements/create-storage.adoc (1)

20-40: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Document the S3 options used by the how-to.

modules/sql/pages/query-data/query-iceberg-topics.adoc uses endpoint and path_style, but this S3 options table lists only region, access_key_id, and secret_access_key. Either document those options here or remove them from the how-to so readers can distinguish supported from unsupported configuration.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@modules/reference/pages/sql/sql-statements/create-storage.adoc` around lines
20 - 40, Update the S3 options table in the create-storage documentation to
include the endpoint and path_style options used by query-iceberg-topics.adoc,
with their types, required status, and descriptions, so all demonstrated
configuration is documented as supported.
🧹 Nitpick comments (1)
modules/sql/pages/get-started/deploy-sql-cluster.adoc (1)

96-99: 🎯 Functional Correctness | 🔵 Trivial

Resolve the GCP existing-cluster prerequisite before publishing this path.

The // comments are not rendered, and the only visible prerequisite covers AWS on Line 99. If older GCP BYOC clusters require an agent-permission refresh, users following this new GCP path will fail without actionable instructions. Confirm the requirement and document the exact command, or explicitly state that existing GCP clusters are not yet supported.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@modules/sql/pages/get-started/deploy-sql-cluster.adoc` around lines 96 - 99,
Resolve the existing-GCP-cluster prerequisite in the deploy SQL cluster
documentation: confirm whether clusters created before Redpanda SQL launched on
GCP require an agent-permission refresh, then either add a rendered NOTE with
the exact required command alongside the AWS prerequisite or explicitly state
that existing GCP BYOC clusters are not yet supported. Remove the unresolved
TODO once the user-facing guidance is complete.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@modules/reference/pages/sql/sql-statements/copy-to.adoc`:
- Around line 179-185: Update the AWS_CRED example in the COPY documentation to
use a genuinely custom endpoint, such as an explicit <custom-endpoint>
placeholder or emulator URL, instead of https://storage.googleapis.com; leave
the surrounding guidance unchanged.

In `@modules/reference/pages/sql/sql-statements/create-iceberg-catalog.adoc`:
- Around line 44-47: Update the `gcp_project_id` description in the catalog
parameters table to explicitly state that the GCP project identifies where
BigLake API requests are attributed for billing and quota.

In `@modules/reference/pages/sql/sql-statements/create-storage.adoc`:
- Around line 79-101: Use distinct storage names in the GCS examples: rename the
service-account example to a unique name such as gcs_key_storage and the ADC
example to gcs_adc_storage, avoiding archive_storage reused by the S3 example.
Update each corresponding CREATE STORAGE statement consistently.

In `@modules/sql/pages/get-started/deploy-sql-cluster.adoc`:
- Around line 9-11: Update the Iceberg-related sentence in the deploy SQL
cluster page to qualify the cross-topic and Iceberg-history workflow by
supported cloud provider, excluding GCP until the referenced deployment and
BigLake support ship. Keep the general BYOC SQL availability statement unchanged
and preserve the existing Iceberg query reference for supported providers.

---

Outside diff comments:
In `@modules/reference/pages/sql/sql-statements/create-storage.adoc`:
- Around line 20-40: Update the S3 options table in the create-storage
documentation to include the endpoint and path_style options used by
query-iceberg-topics.adoc, with their types, required status, and descriptions,
so all demonstrated configuration is documented as supported.

---

Nitpick comments:
In `@modules/sql/pages/get-started/deploy-sql-cluster.adoc`:
- Around line 96-99: Resolve the existing-GCP-cluster prerequisite in the deploy
SQL cluster documentation: confirm whether clusters created before Redpanda SQL
launched on GCP require an agent-permission refresh, then either add a rendered
NOTE with the exact required command alongside the AWS prerequisite or
explicitly state that existing GCP BYOC clusters are not yet supported. Remove
the unresolved TODO once the user-facing guidance is complete.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: d7453a96-dfbd-45dd-8f0e-5a8e2e826754

📥 Commits

Reviewing files that changed from the base of the PR and between 4824c0b and 80528b7.

📒 Files selected for processing (8)
  • modules/reference/pages/sql/sql-statements/copy-to.adoc
  • modules/reference/pages/sql/sql-statements/create-iceberg-catalog.adoc
  • modules/reference/pages/sql/sql-statements/create-storage.adoc
  • modules/reference/pages/sql/system-virtual-tables.adoc
  • modules/sql/pages/connect-to-sql/authenticate.adoc
  • modules/sql/pages/get-started/deploy-sql-cluster.adoc
  • modules/sql/pages/get-started/sql-quickstart.adoc
  • modules/sql/pages/query-data/query-iceberg-topics.adoc

Comment on lines +179 to 185
`GCS_CRED` has no option to override the GCS endpoint. To target a custom endpoint (for example, a GCS emulator or the XML API), use `AWS_CRED` instead, since Google Cloud Storage supports an S3-compatible API:

[source,sql]
----
COPY default_redpanda_catalog=>project TO 'gs://your-bucket/project_file'
COPY default_redpanda_catalog=>project TO 'gs://<bucket-name>/<file-name>'
WITH (AWS_CRED(AWS_REGION 'region1', AWS_KEY_ID 'key_id', AWS_PRIVATE_KEY 'access_key', ENDPOINT 'https://storage.googleapis.com'));
----

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Use a genuinely custom endpoint in the custom-endpoint example.

The text describes targeting an emulator or custom endpoint, but the example uses the standard https://storage.googleapis.com endpoint. Use a placeholder such as <custom-endpoint> or an emulator URL so the example matches the stated use case.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@modules/reference/pages/sql/sql-statements/copy-to.adoc` around lines 179 -
185, Update the AWS_CRED example in the COPY documentation to use a genuinely
custom endpoint, such as an explicit <custom-endpoint> placeholder or emulator
URL, instead of https://storage.googleapis.com; leave the surrounding guidance
unchanged.

Comment thread modules/reference/pages/sql/sql-statements/create-iceberg-catalog.adoc Outdated
Comment thread modules/reference/pages/sql/sql-statements/create-storage.adoc
Comment on lines +9 to +11
// TODO: Drop the "On AWS" scoping once RPSQL Deployment with Iceberg on GCP
// (CIAINFRA-3422/M9) and BigLake REST catalog support (OXLA-9522, cloudv2 PR #27525) ship.
Enable Redpanda SQL on a Bring Your Own Cloud (BYOC) cluster so you can query streaming data in Redpanda topics using standard PostgreSQL syntax. You can also run queries that span both the streaming topic and its Iceberg history for Iceberg-enabled topics. See xref:sql:query-data/query-iceberg-topics.adoc[Query Iceberg-enabled topics] for that workflow.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Qualify the Iceberg claim by cloud provider.

The page now states that SQL is available on GCP, while the TODO indicates that GCP Iceberg deployment and BigLake support are not yet shipped. The unconditional claim on Line 11 therefore tells GCP users that the cross-topic/Iceberg workflow is available. Scope it to supported providers or remove it until GCP support is live.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@modules/sql/pages/get-started/deploy-sql-cluster.adoc` around lines 9 - 11,
Update the Iceberg-related sentence in the deploy SQL cluster page to qualify
the cross-topic and Iceberg-history workflow by supported cloud provider,
excluding GCP until the referenced deployment and BigLake support ship. Keep the
general BYOC SQL availability statement unchanged and preserve the existing
Iceberg query reference for supported providers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant