-
Notifications
You must be signed in to change notification settings - Fork 884
enhance tailnetAPIConnector to support multiple peers #14729
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
Labels
networking
Area: networking
Comments
This was referenced Nov 4, 2024
spikecurtis
added a commit
that referenced
this issue
Nov 5, 2024
Refactors the way clients of the Tailnet API (clients of the API, which include both workspace "agents" and "clients") interact with the API. Introduces the idea of abstract "controllers" for each of the RPCs in the API, and implements a Coordination controller by refactoring from `workspacesdk`. chore re: #14729
This was referenced Nov 6, 2024
spikecurtis
added a commit
that referenced
this issue
Nov 6, 2024
Implements a Tailnet API DERP controller by refactoring from `workspacesdk` chore re: #14729
spikecurtis
added a commit
that referenced
this issue
Nov 6, 2024
Implements a tailnet API Telemetry controller by refactoring from `workspacesdk`. chore re: #14729
spikecurtis
added a commit
that referenced
this issue
Nov 7, 2024
Implements a controller for the Tailnet API resume token RPC, by refactoring from `workspacesdk`. chore re: #14729
spikecurtis
added a commit
that referenced
this issue
Nov 7, 2024
refactors `tailnetAPIConnector` to use the `Dialer` interface in `tailnet`, introduced lower in this stack of PRs. This will let us use the same Tailnet API handling code across different things that connect to the Tailnet API (CLI client, coderd, workspace proxies, and soon: Coder VPN). chore re: #14729
jaaydenh
pushed a commit
that referenced
this issue
Nov 8, 2024
Implements a controller for the Tailnet API resume token RPC, by refactoring from `workspacesdk`. chore re: #14729
jaaydenh
pushed a commit
that referenced
this issue
Nov 8, 2024
refactors `tailnetAPIConnector` to use the `Dialer` interface in `tailnet`, introduced lower in this stack of PRs. This will let us use the same Tailnet API handling code across different things that connect to the Tailnet API (CLI client, coderd, workspace proxies, and soon: Coder VPN). chore re: #14729
spikecurtis
added a commit
that referenced
this issue
Nov 8, 2024
Refactors `workspacesdk.tailnetAPIConnector` as a `tailnet.Controller` to reuse all the reconnection and graceful disconnect logic. chore re: #14729
spikecurtis
added a commit
that referenced
this issue
Nov 8, 2024
chore of #14729 Refactors the `ServerTailnet` to use `tailnet.Controller` so that we reuse logic around reconnection and handling control messages, instead of reimplementing. This unifies our "client" use of the tailscale API across CLI, coderd, and wsproxy.
spikecurtis
added a commit
that referenced
this issue
Nov 8, 2024
Closes #14729 Expands the Coordination controller used by the CLI client to allow multiple tunnel destinations (agents). Our current client uses just one, but this unifies the logic so that when we add Coder VPN, 1 is just a special case of "many."
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Right now, the
tailnetAPIConnector
used for client connections only supports a single peer (a workspace Agent), specified at instantiation. For the use case of a native desktop VPN, we need to support multiple peers that can be added and removed as workspaces are started and stopped.In implementing this, we should consider refactoring to share code between
servertailnet
andtailnetAPIConnector
, both of which need to support multiple Agent peers.The text was updated successfully, but these errors were encountered: