Skip to content

feat(gizmosql): add - #289

Open
HMDank wants to merge 2 commits into
mainfrom
feat/gizmosql/add
Open

feat(gizmosql): add#289
HMDank wants to merge 2 commits into
mainfrom
feat/gizmosql/add

Conversation

@HMDank

@HMDank HMDank commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

This pull request introduces an end-to-end event stream analytics pipeline, enabling Redpanda event data to be ingested, stored as Parquet files in cloud storage, and queried using Arrow Flight SQL via GizmoSQL. The changes add new services, configuration, and documentation to support this workflow.

Event Stream Analytics Pipeline

  • Added the redpanda-connect service, which ingests events from Redpanda, transforms the data, and writes Parquet files to S3-compatible cloud storage (R2). Includes configuration for S3 credentials and data schema.
  • Added the gizmosql service, which allows querying the event stream's Parquet lakehouse using Arrow Flight SQL. Includes secure credential handling and a custom entrypoint script for environment setup and templating.

@HMDank
HMDank requested a review from dargmuesli as a code owner August 6, 2026 21:29
Comment thread artifacts/docs/README.md

### gizmosql

You can query the event stream's parquet lakehouse using any Arrow Flight SQL client at gizmosql:31337.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Let's mention Grafana as the UI for gizmosql queries here too.

Comment thread artifacts/docs/README.md

### redpanda-connect

You can track the event stream ingestion using the pipeline's readiness endpoint.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

What's "the pipeline's readiness endpoint"?

Comment on lines +5 to +13
r2-account-id:
# The event stream analytics' cloud storage account identifier.
file: ~~/artifacts/secrets/r2-account-id.secret
r2-aws-credentials-access-key:
# The event stream analytics' cloud storage secret access key.
file: ~~/artifacts/secrets/r2-aws-credentials-access-key.secret
r2-aws-credentials-access-key-id:
# The event stream analytics' cloud storage access key identifier.
file: ~~/artifacts/secrets/r2-aws-credentials-access-key-id.secret

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Let's check if it's possible to define these secrets on the shared src/development/compose.yaml or in the redpanda-connect compose file (where the credentials are used to write – writing comes before reading which gizmosql allows then). But as these credentials are used by multiple services, they should fit the shared compose file. This should be supported by dargstack already or added to it if not.

Comment on lines +34 to +35
ports: # dargstack:dev-only
- 31337:31337 # dargstack:dev-only

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I think the port definition can be removed as a whole.

Comment on lines +8 to +13
# Tombstone messages (Debezium deletes) carry no payload and must be dropped.
- bloblang: |
root = if this.payload.after.or(this.after) == null { deleted() }
- mapping: |
root = this.payload.after.or(this.after)
root.operation = this.payload.op.or(this.op)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Not sure if this handles all tombstone messages correctly, I'd need to research a bit more.

output:
aws_s3:
bucket: test
endpoint: ${S3_ENDPOINT_URL}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Environment variable to be set as secret.

redpanda-connect:
deploy:
update_config:
order: stop-first

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Could this be start-first? I'd need to research how redpanda-connect works.

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.

2 participants