@@ -22,7 +22,6 @@ import (
22
22
"cdr.dev/slog"
23
23
"github.com/coder/coder/v2/coderd/tracing"
24
24
"github.com/coder/coder/v2/coderd/workspaceapps"
25
- "github.com/coder/coder/v2/coderd/wsconncache"
26
25
"github.com/coder/coder/v2/codersdk"
27
26
"github.com/coder/coder/v2/site"
28
27
"github.com/coder/coder/v2/tailnet"
@@ -41,16 +40,14 @@ func init() {
41
40
42
41
var _ workspaceapps.AgentProvider = (* ServerTailnet )(nil )
43
42
44
- // NewServerTailnet creates a new tailnet intended for use by coderd. It
45
- // automatically falls back to wsconncache if a legacy agent is encountered.
43
+ // NewServerTailnet creates a new tailnet intended for use by coderd.
46
44
func NewServerTailnet (
47
45
ctx context.Context ,
48
46
logger slog.Logger ,
49
47
derpServer * derp.Server ,
50
48
derpMapFn func () * tailcfg.DERPMap ,
51
49
derpForceWebSockets bool ,
52
50
getMultiAgent func (context.Context ) (tailnet.MultiAgentConn , error ),
53
- cache * wsconncache.Cache ,
54
51
traceProvider trace.TracerProvider ,
55
52
) (* ServerTailnet , error ) {
56
53
logger = logger .Named ("servertailnet" )
@@ -97,7 +94,6 @@ func NewServerTailnet(
97
94
conn : conn ,
98
95
coordinatee : conn ,
99
96
getMultiAgent : getMultiAgent ,
100
- cache : cache ,
101
97
agentConnectionTimes : map [uuid.UUID ]time.Time {},
102
98
agentTickets : map [uuid.UUID ]map [uuid.UUID ]struct {}{},
103
99
transport : tailnetTransport .Clone (),
@@ -299,7 +295,6 @@ type ServerTailnet struct {
299
295
300
296
getMultiAgent func (context.Context ) (tailnet.MultiAgentConn , error )
301
297
agentConn atomic.Pointer [tailnet.MultiAgentConn ]
302
- cache * wsconncache.Cache
303
298
nodesMu sync.Mutex
304
299
// agentConnectionTimes is a map of agent tailnetNodes the server wants to
305
300
// keep a connection to. It contains the last time the agent was connected
@@ -311,7 +306,7 @@ type ServerTailnet struct {
311
306
transport * http.Transport
312
307
}
313
308
314
- func (s * ServerTailnet ) ReverseProxy (targetURL , dashboardURL * url.URL , agentID uuid.UUID ) ( _ * httputil.ReverseProxy , release func (), _ error ) {
309
+ func (s * ServerTailnet ) ReverseProxy (targetURL , dashboardURL * url.URL , agentID uuid.UUID ) * httputil.ReverseProxy {
315
310
proxy := httputil .NewSingleHostReverseProxy (targetURL )
316
311
proxy .ErrorHandler = func (w http.ResponseWriter , r * http.Request , err error ) {
317
312
site .RenderStaticErrorPage (w , r , site.ErrorPageData {
@@ -325,7 +320,7 @@ func (s *ServerTailnet) ReverseProxy(targetURL, dashboardURL *url.URL, agentID u
325
320
proxy .Director = s .director (agentID , proxy .Director )
326
321
proxy .Transport = s .transport
327
322
328
- return proxy , func () {}, nil
323
+ return proxy
329
324
}
330
325
331
326
type agentIDKey struct {}
@@ -387,28 +382,17 @@ func (s *ServerTailnet) AgentConn(ctx context.Context, agentID uuid.UUID) (*code
387
382
ret func ()
388
383
)
389
384
390
- if s .getAgentConn ().AgentIsLegacy (agentID ) {
391
- s .logger .Debug (s .ctx , "acquiring legacy agent" , slog .F ("agent_id" , agentID ))
392
- cconn , release , err := s .cache .Acquire (agentID )
393
- if err != nil {
394
- return nil , nil , xerrors .Errorf ("acquire legacy agent conn: %w" , err )
395
- }
396
-
397
- conn = cconn .WorkspaceAgentConn
398
- ret = release
399
- } else {
400
- s .logger .Debug (s .ctx , "acquiring agent" , slog .F ("agent_id" , agentID ))
401
- err := s .ensureAgent (agentID )
402
- if err != nil {
403
- return nil , nil , xerrors .Errorf ("ensure agent: %w" , err )
404
- }
405
- ret = s .acquireTicket (agentID )
406
-
407
- conn = codersdk .NewWorkspaceAgentConn (s .conn , codersdk.WorkspaceAgentConnOptions {
408
- AgentID : agentID ,
409
- CloseFunc : func () error { return codersdk .ErrSkipClose },
410
- })
385
+ s .logger .Debug (s .ctx , "acquiring agent" , slog .F ("agent_id" , agentID ))
386
+ err := s .ensureAgent (agentID )
387
+ if err != nil {
388
+ return nil , nil , xerrors .Errorf ("ensure agent: %w" , err )
411
389
}
390
+ ret = s .acquireTicket (agentID )
391
+
392
+ conn = codersdk .NewWorkspaceAgentConn (s .conn , codersdk.WorkspaceAgentConnOptions {
393
+ AgentID : agentID ,
394
+ CloseFunc : func () error { return codersdk .ErrSkipClose },
395
+ })
412
396
413
397
// Since we now have an open conn, be careful to close it if we error
414
398
// without returning it to the user.
@@ -458,7 +442,6 @@ func (c *netConnCloser) Close() error {
458
442
459
443
func (s * ServerTailnet ) Close () error {
460
444
s .cancel ()
461
- _ = s .cache .Close ()
462
445
_ = s .conn .Close ()
463
446
s .transport .CloseIdleConnections ()
464
447
<- s .derpMapUpdaterClosed
0 commit comments