-
Notifications
You must be signed in to change notification settings - Fork 461
SQC-646 Implement DatabaseServer service for Hyperdrive binding #5315
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
All contributors have signed the CLA ✍️ ✅ |
ec26748 to
9828ecf
Compare
|
recheck |
|
I have read the CLA Document and I hereby sign the CLA |
|
recheck |
cdc303d to
94d3e70
Compare
…ing to TLS stream over TCP to databases that require SSL. This is useful for local development with Hyperdrive binding where running wrangler dev can not automatically connect to an external database without upgrading to TLS stream. - Handles custom TLS start up packets for postgres/mysql - Handles sslmodes 'prefer' anad 'require' - Implement unit tests for DatabaseServer service with Hyperdrive binding - Tested locally against local databases/external databases (i.e neondb/planetscale)
94d3e70 to
64b23bc
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please come talk to us about what you're trying to do here.
This PR is introducing a major new public-facing feature to the workerd architecture. This sort of thing can't just arrive as a PR, it needs docs explaining what it is and why it is needed and some sort of discussion with the code owners first.
In particular I don't understand why ExternalServer is insufficient here. It's already intended to support arbitrary TCP connections. Why are databases special?
We have talked to you and Dan repeatedly, and demo'd this a couple weeks ago. |
|
@kentonv I responded in the internal google chat thread! |
Implement DatabaseServer service to handle use case of upgrading client connection to TLS stream over TCP to databases that require SSL.
This is useful for local development with Hyperdrive binding where running wrangler dev can not automatically connect to an external database fails upgrading to TLS stream.