Skip to content

docs: update Kafka connection examples for BOOTSTRAP BROKER syntax#36163

Open
jubrad wants to merge 1 commit intoMaterializeInc:mainfrom
jubrad:jubrad/kafka-privatelink-docs
Open

docs: update Kafka connection examples for BOOTSTRAP BROKER syntax#36163
jubrad wants to merge 1 commit intoMaterializeInc:mainfrom
jubrad:jubrad/kafka-privatelink-docs

Conversation

@jubrad
Copy link
Copy Markdown
Contributor

@jubrad jubrad commented Apr 20, 2026

Summary

Depends on #36161. Merge that first.

  • Updates user-facing documentation to show the new BOOTSTRAP BROKER and MATCHING broker rules syntax for Kafka PrivateLink connections
  • Updates SQL examples in create-connection.md and create_connection.yml

Test plan

  • Verify docs render correctly

🤖 Generated with Claude Code

@jubrad jubrad force-pushed the jubrad/kafka-privatelink-docs branch 2 times, most recently from d148ddd to bd192ec Compare April 21, 2026 03:57
@jubrad jubrad force-pushed the jubrad/kafka-privatelink-docs branch 2 times, most recently from effe4f2 to bfb1f96 Compare April 21, 2026 04:13
Comment on lines +164 to +168
BROKERS (
MATCHING '*.use1-az1.*' USING AWS PRIVATELINK confluent_privatelink (AVAILABILITY ZONE = 'use1-az1'),
MATCHING '*.use1-az4.*' USING AWS PRIVATELINK confluent_privatelink (AVAILABILITY ZONE = 'use1-az4'),
MATCHING '*.use1-az6.*' USING AWS PRIVATELINK confluent_privatelink (AVAILABILITY ZONE = 'use1-az6')
),
Copy link
Copy Markdown
Contributor Author

@jubrad jubrad Apr 21, 2026

Choose a reason for hiding this comment

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

Confluent provides these as suffixes we may want to just suggest .*<suffix> for each AZ.

This is a screenshot for a long deleted confluent cluster with privatelink setup... the subdomains are the suffixes.
image

@jubrad jubrad force-pushed the jubrad/kafka-privatelink-docs branch from bfb1f96 to df4288e Compare April 22, 2026 03:55
jubrad added a commit that referenced this pull request Apr 27, 2026
## Follow up of #35455

## Summary

- Adds `BOOTSTRAP BROKER 'addr' USING AWS PRIVATELINK conn (...)` — new
top-level option that provides the initial bootstrap address with an
explicit PrivateLink tunnel, preserving the real hostname for correct
TLS SNI
- Adds `MATCHING 'pattern' USING AWS PRIVATELINK conn (...)` inside
`BROKERS (...)` — pattern-based routing rules for dynamically discovered
brokers returned in Kafka metadata
- Replaces the `AWS PRIVATELINKS` syntax which used a `TO` keyword
inconsistent with the existing `USING AWS PRIVATELINK` syntax and
overloaded exact-match patterns as implicit bootstrap addresses
- Updates parser, planner, and storage layer to support the new
constructs

### Example
```sql
CREATE CONNECTION kafka TO KAFKA (
    BROKERS (
        'lkc-825730.endpoint.cloud:9092' USING AWS PRIVATELINK pl_conn,
        MATCHING '*use1-az1*' USING AWS PRIVATELINK pl_conn (AVAILABILITY ZONE 'use1-az1'),
        MATCHING '*use1-az4*' USING AWS PRIVATELINK pl_conn (AVAILABILITY ZONE 'use1-az4'),
        MATCHING '*use1-az6*' USING AWS PRIVATELINK pl_conn (AVAILABILITY ZONE 'use1-az6')
    ),
    SASL MECHANISMS 'PLAIN',
    SASL USERNAME 'key',
    SASL PASSWORD SECRET secret,
    SECURITY PROTOCOL 'SASL_SSL'
);
```

## Test plan
- [x] Parser tests updated (roundtrip, error cases)
- [x] Testdrive updated (connection-create-drop, connection-alter)
- [x] `cargo check` passes
- [x] Cloudtest validation ([see follow-up
PR](#36162))
- [ ] Manual testing against Confluent Cloud PrivateLink

## Docs
- [ ] #36163


🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@jubrad jubrad force-pushed the jubrad/kafka-privatelink-docs branch 4 times, most recently from 9b5f471 to cb4f19f Compare April 28, 2026 20:06
@jubrad jubrad requested review from josharenberg and ublubu April 28, 2026 20:07
Updates user-facing documentation to show the new MATCHING broker rules
syntax for Kafka PrivateLink connections. Adds a PrivateLink tab to the
Confluent Cloud guide.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@jubrad jubrad marked this pull request as ready for review April 28, 2026 20:11
@jubrad jubrad requested a review from a team as a code owner April 28, 2026 20:11
@jubrad jubrad force-pushed the jubrad/kafka-privatelink-docs branch from cb4f19f to f60a3f8 Compare April 28, 2026 20:11
@jubrad jubrad requested a review from kay-kim April 28, 2026 20:11
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