Skip to content
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

Move "dial" functionality into a separate package/project #870

Closed
kurtisvg opened this issue Aug 5, 2021 · 3 comments
Closed

Move "dial" functionality into a separate package/project #870

kurtisvg opened this issue Aug 5, 2021 · 3 comments
Assignees
Labels
type: feature request ‘Nice-to-have’ improvement, new feature or different behavior or design.

Comments

@kurtisvg
Copy link
Contributor

kurtisvg commented Aug 5, 2021

Feature Description

This issue is open to gather feedback on the idea of splitting the "dial" functionality into a separate package/project.

Currently, this library has 3 distinct ways to interact:

  • Programmatically, as an interface for a Go app to dial connections
  • Programmatically, to start, customize, and mount a proxy server
  • As an executable, to start, customize, and mount a proxy server from the command line

The first option (dialing connections from an application) often has different ideal behavior compared to the second two, which has lead to some challenging behavior (such as when to log and when to return errors). It's also meant that changes to one interface means a major version bump for the others, even if the the other interfaces are left unchanged. Additionally, it's also meant that there are some dependencies pulled in for the proxy that are relevant to the dialer, and visa versa.

As such, we think it would be a good idea to split the dial functionality into its own project. This is obviously a breaking change, and will lead to a major version bump in the proxy.

We've been prototyping this idea for a while, and would love some feedback on this idea: https://github.com/kurtisvg/cloud-sql-go-connector

@kurtisvg kurtisvg added the type: feature request ‘Nice-to-have’ improvement, new feature or different behavior or design. label Aug 5, 2021
@kurtisvg kurtisvg assigned kurtisvg and unassigned enocom Aug 5, 2021
@enocom
Copy link
Member

enocom commented Aug 5, 2021

As a side note, the new dialer supports tracing and will have support for metrics soon, satisfying #169. See GoogleCloudPlatform/cloud-sql-go-connector#32 for details.

@kurtisvg
Copy link
Contributor Author

The "dial" functionality is now here, and is consider in "Public Preview": https://github.com/GoogleCloudPlatform/cloud-sql-go-connector

@enocom
Copy link
Member

enocom commented Jul 12, 2022

Closing this as completed.

@enocom enocom closed this as completed Jul 12, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: feature request ‘Nice-to-have’ improvement, new feature or different behavior or design.
Projects
None yet
Development

No branches or pull requests

2 participants