Skip to content

Conversation

@Feediver1
Copy link
Contributor

@Feediver1 Feediver1 commented Feb 4, 2026

Description

Deadline: EOB, Thursday, Feb 5th.

DO NOT MERGE

Adds comprehensive workshop documentation for Redpanda SQL Engine (formerly Oxla) in BYOC environments. This documentation is Cloud-specific as SQL Engine is only available in Redpanda Cloud BYOC deployments.

This workshop guide is designed for a 2-3 hour hands-on session and covers:

  • What is SQL Engine: Overview of architecture, capabilities, and BYOC integration
  • Limitations: Current constraints (Protobuf-only, read-only access, type support)
  • Prerequisites: Feature flags, resource group setup, network exposure decisions
  • BYOC Provisioning: Standard BYOC workflow with SQL Engine enabled
  • User Management: Creating users, roles, and managing authentication/authorization
  • Table Creation: CREATE KAFKA CONNECTION and CREATE KAFKA SOURCE syntax with Schema Registry integration
  • Client Tools: Installing psql and connecting to SQL Engine
  • Scaling: Fleet Management API operations for replica adjustment
  • Cleanup: Disabling SQL Engine or destroying the cluster

Structure

Added as a top-level section in the navigation under "Redpanda SQL Engine" between Deploy and Agentic AI, since this is a major BYOC-specific feature.

Files

  • modules/manage/pages/sql-engine/workshop.adoc - Workshop content
  • modules/ROOT/nav.adoc - Navigation update

Page Preview

Once deployed, the page will be available at:

Related

This replaces PR #1566 in the docs repo, which incorrectly added this content to self-managed docs.

🤖 Generated with Claude Code

Add comprehensive workshop guide for provisioning and using Redpanda SQL Engine (Oxla) with BYOC clusters.

The workshop covers:
- Overview of SQL Engine architecture and capabilities
- Limitations and prerequisites
- BYOC cluster provisioning with SQL Engine
- User management and authentication
- Creating tables from Redpanda topics with Schema Registry integration
- Installing and using psql client
- Scaling operations via Fleet Management API
- Cluster deletion procedures

Organized for a 2-3 hour hands-on workshop with practical examples.

Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
@Feediver1 Feediver1 requested a review from a team as a code owner February 4, 2026 15:21
@netlify
Copy link

netlify bot commented Feb 4, 2026

Deploy Preview for rp-cloud ready!

Name Link
🔨 Latest commit 30c2358
🔍 Latest deploy log https://app.netlify.com/projects/rp-cloud/deploys/69866d3a6e66b60008615c9e
😎 Deploy Preview https://deploy-preview-500--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
Copy link
Contributor

coderabbitai bot commented Feb 4, 2026

Important

Review skipped

Auto incremental reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

  • 🔍 Trigger a full review
📝 Walkthrough

Walkthrough

This change adds a new documentation page for the Redpanda SQL Engine Workshop and updates the navigation structure to include it. The navigation file adds a single entry linking to the new workshop documentation. The workshop documentation file provides comprehensive instructional content covering the SQL Engine's overview, BYOC deployment context, prerequisites, provisioning procedures, management operations, table and connection creation, querying capabilities, client tooling setup, scaling operations, and cleanup procedures.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main change: adding SQL Engine workshop documentation for BYOC deployments.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description check ✅ Passed The PR description includes comprehensive details about the feature, scope, files changed, and page preview location, but is missing the required GitHub issue link and the standard checkbox structure from the template.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch sql-engine-workshop

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

----
kubectl get secret -n redpanda-oxla oxla-superuser -o jsonpath='{.data.password}' | base64 -d
----

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@wkozlowski-oxla Does this really work? If so, can you share the output--good to add that here so people in the workshop can see/validate the result. thx

--cluster-ids <cluster-id>
----

To enable with external load balancer (public access):
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
To enable with external load balancer (public access):
To enable with external load balancer (public access), run:


**Authentication:** Users authenticate using username and password over PostgreSQL wire protocol. Redpanda SQL Engine supports standard PostgreSQL authentication methods including SCRAM-SHA-256.

For authorization, privileges control what users can do:
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
For authorization, privileges control what users can do:
**Authorization:** Privileges control what users can do:

just for consistency with line above

To query SQL Engine, use any PostgreSQL-compatible client. This section shows how to use `psql`, the standard PostgreSQL command-line client.

=== Install psql

Copy link
Contributor

Choose a reason for hiding this comment

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

this section would feel better with tabs for macOS, Ubuntu/Debian, and RHAL/CentOS

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Agree, and if it evolves into the QS, yes. If I have time, will do.

=== Get the SQL Engine endpoint

Retrieve the SQL Engine connection endpoint based on your load balancer configuration.

Copy link
Contributor

Choose a reason for hiding this comment

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

same here: I'd turn these into tabs


=== Run queries

Once connected, you can run SQL queries:
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
Once connected, you can run SQL queries:
After you're connected, you can run SQL queries:

----

== Scale up or down using Data Plane APIs

Copy link
Contributor

Choose a reason for hiding this comment

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

This section seems internal

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@wkozlowski-oxla? Do you need this for the workshop?

@@ -0,0 +1,514 @@
= Redpanda SQL Engine Overview and Quickstart

Choose a reason for hiding this comment

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

will follow up w/ a name update. todo for me.

@paulohtb6
Copy link
Contributor

hey im not sure if we have this info already, but having some experience with sql databases I believe we must be blatantly obvious about
1 - how to get the connection string (url, host, database)
2 - how to define a master password and use it for auth
3 - which driver do i have to use to access the data (I assume postgres, but better be sure)

Basically docs must be able to answer this connection wizard very easily (this is DBeaver client)
image

@paulohtb6
Copy link
Contributor

and do we have any client recommendations if the person is using Python/Java/Go/Node? Thinking on a similar table like we have here https://docs.redpanda.com/current/develop/kafka-clients/

. In the Redpanda Cloud UI, navigate to your Oxla-enabled resource group.
. Click *Create Cluster* and select *BYOC*.
. Choose your cloud provider (AWS, GCP, or Azure) and region.
. Configure networking details (VPC/VNet, CIDR ranges).
Copy link
Contributor

Choose a reason for hiding this comment

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

If it's AWS only, should remove VNet which is Azure

It would be great if we could provide the specific values that should we used in the workshop. I understand if we don't want it in this doc as it might persist and be used after this week, but ideally workshop attendees will have this information at hand and not have to think about it.

. Click *Create Cluster* and select *BYOC*.
. Choose your cloud provider (AWS, GCP, or Azure) and region.
. Configure networking details (VPC/VNet, CIDR ranges).
. Download the Terraform bundle generated by the wizard.
Copy link
Contributor

Choose a reason for hiding this comment

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

Is the wizard part of the Cloud / cluster creation UI?


By default, Redpanda SQL Engine deploys with cluster-internal access only. To change the network exposure mode, use the Fleet Management API.

**To enable with internal load balancer (VPC access):
Copy link
Contributor

Choose a reason for hiding this comment

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

Lingering asterisks?

--cluster-ids <cluster-id>
----

After enabling an external load balancer, manually run the appropriate Terraform apply for the infrastructure module on the agent VM.
Copy link
Contributor

@kbatuigas kbatuigas Feb 9, 2026

Choose a reason for hiding this comment

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

Can we provide for workshop attendees? Assuming that they have to run through all these steps and we're not just provisioning an Oxla-enabled cluster from the start


[,sql]
----
CREATE ROLE data_analyst WITH LOGIN PASSWORD 'secure_password';
Copy link
Contributor

@kbatuigas kbatuigas Feb 9, 2026

Choose a reason for hiding this comment

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

This command as well as the rest all the way down through the Query section require that you're already connected to Oxla using a client like psql. I would move that Install SQL client section way up, after retrieve the superuser password. +1 to Paulo's comment regarding making it super clear how to connect to the Oxla db. I'm assuming we'll use psql for the workshop which should just look something like

psql -h <hostname> -U <username> -d <dbname>
Where:

  • we should point out where they can find the hostname, unless everyone in the workshop is connecting to the same one?
  • username would be oxla-superuser
  • dbname I believe is oxla
  • Then enter the password retrieved from the k8s secret, when prompted


[,bash]
----
psql -h <oxla-endpoint> -p 5432 -U oxla_admin -d oxla
Copy link
Contributor

Choose a reason for hiding this comment

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

This is the first mention of oxla_admin, not sure if we're telling workshop attendees to create a new admin user, or oxla_superuser from the section above

FROM customer_events c
JOIN order_events o ON c.customer_id = o.customer_id
WHERE c.timestamp > NOW() - INTERVAL '1 day';
----
Copy link
Contributor

Choose a reason for hiding this comment

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

During the workshop, will we be querying tables backed by topics that are continuously being streamed to?

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.

5 participants