Skip to content

Conversation

@tylerhartwig
Copy link

Adding documentation for how to connect to kafka-proxy as a source.

@tylerhartwig tylerhartwig requested a review from a team as a code owner October 22, 2025 18:13
@github-actions
Copy link

Thank you for your submission! We really appreciate it. Like many source-available projects, we require that you sign our Contributor License Agreement (CLA) before we can accept your contribution.

You can sign the CLA by posting a comment with the message below.


I have read the Contributor License Agreement (CLA) and I hereby sign the CLA.


You can retrigger this bot by commenting recheck in this Pull Request. Posted by the CLA Assistant Lite bot.

Comment on lines +34 to +39
[kafka-proxy](https://github.com/grepplabs/kafka-proxy) by default is configured
to handle multiple brokers in the upstream kafka topic by dynamically creating
listeners on new ports on the proxy instance. It is then expected for kafka
clients to start reading off of these ports. Utilizing an
[SSH Bastion](/ingest-data/network-security/ssh-tunnel/) will allow
Materialize to properly respond to the dynamic ports as they are created.
Copy link
Contributor

Choose a reason for hiding this comment

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

Does this mean you can only use dynamic listeners with an ssh bastion? I.e, you can't connect directly if the proxy is what exposes your cluster to the public intenet?

Copy link
Author

Choose a reason for hiding this comment

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

So you can connect if it's exposed to the public internet, I've added a section for this. In theory you could do privatelink if you had a script or program that dynamically registered listeners to target groups on an NLB. I've not tested this though, happy to document it or just leave it off for now.

Comment on lines +23 to +25
{{< tabs tabID="1" >}}
{{< tab "kafka-proxy" >}}

Copy link
Contributor

Choose a reason for hiding this comment

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

Why the tab?

Copy link
Author

Choose a reason for hiding this comment

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

I had initially planned on using them for covering different patterns, i.e. reverse-proxy as well, but will remove them for now.

Comment on lines +26 to +30
### Working with [kafka-proxy](https://github.com/grepplabs/kafka-proxy)

When working with [kafka-proxy](https://github.com/grepplabs/kafka-proxy)
there are a few patterns to consider when it comes to listener configuration
and network security.
Copy link
Contributor

Choose a reason for hiding this comment

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

The general flow of this section is a little confusing to me. Each should start with what the thing is - dynamic listener or static listener - and then how to use it with Materialize. The lead in with ssh feels abrupt.

Copy link
Author

Choose a reason for hiding this comment

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

I'll adjust the flow

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.

3 participants