chore: remove tailnet from agent API and rename client API to tailnet (#11303)

Refactors our DRPC service definitions slightly.

In the previous version, I inserted the RPCs from the tailnet proto directly into the Agent service.  This makes things hard to deal with because DRPC then generates a new set of methods with new interfaces with the `DRPCAgent_` prefixed.  Since you can't have a single method that takes different argument types, we couldn't reuse the implementation of those RFCs without a lot of extra classes and pass-thru methods.

Instead, the "right" way to do it is to integrate at the DRPC layer.  So, we have two DRPC services available over the Agent websocket, and register them both on the DRPC `mux`.

Since the tailnet proto RPC service is now for both clients and agents, I renamed some things to clarify and shorten.

This PR also removes the `TailnetAPI` implementation from the `agentapi` package, and the next PR in the stack replaces it with the implementation from the `tailnet` package.
This commit is contained in:
Spike Curtis
2024-01-02 10:02:45 +04:00
committed by GitHub
parent 65290997c1
commit 25f2abf9ab
11 changed files with 97 additions and 328 deletions

View File

@ -42,7 +42,6 @@ type API struct {
*AppsAPI
*MetadataAPI
*LogsAPI
*TailnetAPI
mu sync.Mutex
cachedWorkspaceID uuid.UUID
@ -146,12 +145,6 @@ func New(opts Options) *API {
PublishWorkspaceAgentLogsUpdateFn: opts.PublishWorkspaceAgentLogsUpdateFn,
}
api.TailnetAPI = &TailnetAPI{
Ctx: opts.Ctx,
DerpMapFn: opts.DerpMapFn,
DerpMapUpdateFrequency: opts.DerpMapUpdateFrequency,
}
return api
}