Skip to content

Commit d107b9d

Browse files
committed
rearrange
1 parent 6cf909e commit d107b9d

30 files changed

+389
-373
lines changed

cli/agent_test.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ func TestWorkspaceAgent(t *testing.T) {
9292
if assert.NotEmpty(t, workspace.LatestBuild.Resources) && assert.NotEmpty(t, resources[0].Agents) {
9393
assert.NotEmpty(t, resources[0].Agents[0].Version)
9494
}
95-
dialer, err := workspacesdk.NewClient(client).
95+
dialer, err := workspacesdk.New(client).
9696
DialAgent(ctx, resources[0].Agents[0].ID, nil)
9797
require.NoError(t, err)
9898
defer dialer.Close()
@@ -132,7 +132,7 @@ func TestWorkspaceAgent(t *testing.T) {
132132
if assert.NotEmpty(t, resources) && assert.NotEmpty(t, resources[0].Agents) {
133133
assert.NotEmpty(t, resources[0].Agents[0].Version)
134134
}
135-
dialer, err := workspacesdk.NewClient(client).
135+
dialer, err := workspacesdk.New(client).
136136
DialAgent(ctx, resources[0].Agents[0].ID, nil)
137137
require.NoError(t, err)
138138
defer dialer.Close()
@@ -176,7 +176,7 @@ func TestWorkspaceAgent(t *testing.T) {
176176
if assert.NotEmpty(t, resources) && assert.NotEmpty(t, resources[0].Agents) {
177177
assert.NotEmpty(t, resources[0].Agents[0].Version)
178178
}
179-
dialer, err := workspacesdk.NewClient(client).DialAgent(ctx, resources[0].Agents[0].ID, nil)
179+
dialer, err := workspacesdk.New(client).DialAgent(ctx, resources[0].Agents[0].ID, nil)
180180
require.NoError(t, err)
181181
defer dialer.Close()
182182
require.True(t, dialer.AwaitReachable(ctx))

cli/configssh_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ func TestConfigSSH(t *testing.T) {
8484
}).WithAgent().Do()
8585
_ = agenttest.New(t, client.URL, r.AgentToken)
8686
resources := coderdtest.AwaitWorkspaceAgents(t, client, r.Workspace.ID)
87-
agentConn, err := workspacesdk.NewClient(client).
87+
agentConn, err := workspacesdk.New(client).
8888
DialAgent(context.Background(), resources[0].Agents[0].ID, nil)
8989
require.NoError(t, err)
9090
defer agentConn.Close()

cli/netcheck.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ func (r *RootCmd) netcheck() *serpent.Command {
2727
ctx, cancel := context.WithTimeout(inv.Context(), 30*time.Second)
2828
defer cancel()
2929

30-
connInfo, err := workspacesdk.NewClient(client).AgentConnectionInfoGeneric(ctx)
30+
connInfo, err := workspacesdk.New(client).AgentConnectionInfoGeneric(ctx)
3131
if err != nil {
3232
return err
3333
}

cli/ping.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ func (r *RootCmd) ping() *serpent.Command {
5656
if r.disableDirect {
5757
_, _ = fmt.Fprintln(inv.Stderr, "Direct connections disabled.")
5858
}
59-
conn, err := workspacesdk.NewClient(client).
59+
conn, err := workspacesdk.New(client).
6060
DialAgent(ctx, workspaceAgent.ID, &workspacesdk.DialAgentOptions{
6161
Logger: logger,
6262
BlockEndpoints: r.disableDirect,

cli/portforward.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ func (r *RootCmd) portForward() *serpent.Command {
103103
if r.disableDirect {
104104
_, _ = fmt.Fprintln(inv.Stderr, "Direct connections disabled.")
105105
}
106-
conn, err := workspacesdk.NewClient(client).
106+
conn, err := workspacesdk.New(client).
107107
DialAgent(ctx, workspaceAgent.ID, &workspacesdk.DialAgentOptions{
108108
Logger: logger,
109109
BlockEndpoints: r.disableDirect,

cli/speedtest.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ func (r *RootCmd) speedtest() *serpent.Command {
6060
if r.disableDirect {
6161
_, _ = fmt.Fprintln(inv.Stderr, "Direct connections disabled.")
6262
}
63-
conn, err := workspacesdk.NewClient(client).
63+
conn, err := workspacesdk.New(client).
6464
DialAgent(ctx, workspaceAgent.ID, &workspacesdk.DialAgentOptions{
6565
Logger: logger,
6666
})

cli/ssh.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@ func (r *RootCmd) ssh() *serpent.Command {
223223
if r.disableDirect {
224224
_, _ = fmt.Fprintln(inv.Stderr, "Direct connections disabled.")
225225
}
226-
conn, err := workspacesdk.NewClient(client).
226+
conn, err := workspacesdk.New(client).
227227
DialAgent(ctx, workspaceAgent.ID, &workspacesdk.DialAgentOptions{
228228
Logger: logger,
229229
BlockEndpoints: r.disableDirect,

cli/vscodessh.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ func (r *RootCmd) vscodeSSH() *serpent.Command {
165165
if r.disableDirect {
166166
logger.Info(ctx, "direct connections disabled")
167167
}
168-
agentConn, err := workspacesdk.NewClient(client).
168+
agentConn, err := workspacesdk.New(client).
169169
DialAgent(ctx, workspaceAgent.ID, &workspacesdk.DialAgentOptions{
170170
Logger: logger,
171171
BlockEndpoints: r.disableDirect,

coderd/activitybump_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ func TestWorkspaceActivityBump(t *testing.T) {
166166
client, workspace, assertBumped := setupActivityTest(t)
167167

168168
resources := coderdtest.AwaitWorkspaceAgents(t, client, workspace.ID)
169-
conn, err := workspacesdk.NewClient(client).
169+
conn, err := workspacesdk.New(client).
170170
DialAgent(ctx, resources[0].Agents[0].ID, &workspacesdk.DialAgentOptions{
171171
Logger: slogtest.Make(t, nil),
172172
})
@@ -204,7 +204,7 @@ func TestWorkspaceActivityBump(t *testing.T) {
204204

205205
// Bump by dialing the workspace and sending traffic.
206206
resources := coderdtest.AwaitWorkspaceAgents(t, client, workspace.ID)
207-
conn, err := workspacesdk.NewClient(client).
207+
conn, err := workspacesdk.New(client).
208208
DialAgent(ctx, resources[0].Agents[0].ID, &workspacesdk.DialAgentOptions{
209209
Logger: slogtest.Make(t, nil),
210210
})

coderd/coderd_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ func TestDERPForceWebSockets(t *testing.T) {
190190
t.Cleanup(func() {
191191
client.HTTPClient.CloseIdleConnections()
192192
})
193-
wsclient := workspacesdk.NewClient(client)
193+
wsclient := workspacesdk.New(client)
194194
user := coderdtest.CreateFirstUser(t, client)
195195

196196
gen, err := wsclient.AgentConnectionInfoGeneric(context.Background())

coderd/debug_test.go

+8-8
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,7 @@ func TestHealthSettings(t *testing.T) {
251251
_ = coderdtest.CreateFirstUser(t, adminClient)
252252

253253
// when
254-
settings, err := healthsdk.NewHealthClient(adminClient).HealthSettings(ctx)
254+
settings, err := healthsdk.New(adminClient).HealthSettings(ctx)
255255
require.NoError(t, err)
256256

257257
// then
@@ -273,11 +273,11 @@ func TestHealthSettings(t *testing.T) {
273273
}
274274

275275
// when: dismiss "derp" and "websocket"
276-
err := healthsdk.NewHealthClient(adminClient).PutHealthSettings(ctx, expected)
276+
err := healthsdk.New(adminClient).PutHealthSettings(ctx, expected)
277277
require.NoError(t, err)
278278

279279
// then
280-
settings, err := healthsdk.NewHealthClient(adminClient).HealthSettings(ctx)
280+
settings, err := healthsdk.New(adminClient).HealthSettings(ctx)
281281
require.NoError(t, err)
282282
require.Equal(t, expected, settings)
283283

@@ -307,19 +307,19 @@ func TestHealthSettings(t *testing.T) {
307307
DismissedHealthchecks: []healthsdk.HealthSection{healthsdk.HealthSectionDERP, healthsdk.HealthSectionWebsocket},
308308
}
309309

310-
err := healthsdk.NewHealthClient(adminClient).PutHealthSettings(ctx, initial)
310+
err := healthsdk.New(adminClient).PutHealthSettings(ctx, initial)
311311
require.NoError(t, err)
312312

313313
expected := healthsdk.HealthSettings{
314314
DismissedHealthchecks: []healthsdk.HealthSection{healthsdk.HealthSectionDERP},
315315
}
316316

317317
// when: undismiss "websocket"
318-
err = healthsdk.NewHealthClient(adminClient).PutHealthSettings(ctx, expected)
318+
err = healthsdk.New(adminClient).PutHealthSettings(ctx, expected)
319319
require.NoError(t, err)
320320

321321
// then
322-
settings, err := healthsdk.NewHealthClient(adminClient).HealthSettings(ctx)
322+
settings, err := healthsdk.New(adminClient).HealthSettings(ctx)
323323
require.NoError(t, err)
324324
require.Equal(t, expected, settings)
325325

@@ -349,11 +349,11 @@ func TestHealthSettings(t *testing.T) {
349349
DismissedHealthchecks: []healthsdk.HealthSection{healthsdk.HealthSectionDERP, healthsdk.HealthSectionWebsocket},
350350
}
351351

352-
err := healthsdk.NewHealthClient(adminClient).PutHealthSettings(ctx, expected)
352+
err := healthsdk.New(adminClient).PutHealthSettings(ctx, expected)
353353
require.NoError(t, err)
354354

355355
// when
356-
err = healthsdk.NewHealthClient(adminClient).PutHealthSettings(ctx, expected)
356+
err = healthsdk.New(adminClient).PutHealthSettings(ctx, expected)
357357

358358
// then
359359
require.Error(t, err)

coderd/insights_test.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ func TestDeploymentInsights(t *testing.T) {
8787
require.NoError(t, err)
8888
assert.NotZero(t, res.Workspaces[0].LastUsedAt)
8989

90-
conn, err := workspacesdk.NewClient(client).
90+
conn, err := workspacesdk.New(client).
9191
DialAgent(ctx, resources[0].Agents[0].ID, &workspacesdk.DialAgentOptions{
9292
Logger: slogtest.Make(t, nil).Named("tailnet"),
9393
})
@@ -176,7 +176,7 @@ func TestUserActivityInsights_SanityCheck(t *testing.T) {
176176
defer cancel()
177177

178178
// Connect to the agent to generate usage/latency stats.
179-
conn, err := workspacesdk.NewClient(client).
179+
conn, err := workspacesdk.New(client).
180180
DialAgent(ctx, resources[0].Agents[0].ID, &workspacesdk.DialAgentOptions{
181181
Logger: logger.Named("client"),
182182
})
@@ -274,7 +274,7 @@ func TestUserLatencyInsights(t *testing.T) {
274274
defer cancel()
275275

276276
// Connect to the agent to generate usage/latency stats.
277-
conn, err := workspacesdk.NewClient(client).
277+
conn, err := workspacesdk.New(client).
278278
DialAgent(ctx, resources[0].Agents[0].ID, &workspacesdk.DialAgentOptions{
279279
Logger: logger.Named("client"),
280280
})

coderd/templates_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -1236,7 +1236,7 @@ func TestTemplateMetrics(t *testing.T) {
12361236
require.NoError(t, err)
12371237
assert.Zero(t, res.Workspaces[0].LastUsedAt)
12381238

1239-
conn, err := workspacesdk.NewClient(client).
1239+
conn, err := workspacesdk.New(client).
12401240
DialAgent(ctx, resources[0].Agents[0].ID, &workspacesdk.DialAgentOptions{
12411241
Logger: slogtest.Make(t, nil).Named("tailnet"),
12421242
})

coderd/workspaceagents_test.go

+5-5
Original file line numberDiff line numberDiff line change
@@ -338,7 +338,7 @@ func TestWorkspaceAgentConnectRPC(t *testing.T) {
338338
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong)
339339
defer cancel()
340340

341-
conn, err := workspacesdk.NewClient(client).
341+
conn, err := workspacesdk.New(client).
342342
DialAgent(ctx, resources[0].Agents[0].ID, nil)
343343
require.NoError(t, err)
344344
defer func() {
@@ -454,7 +454,7 @@ func TestWorkspaceAgentTailnet(t *testing.T) {
454454
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong)
455455
defer cancel() // Connection should remain open even if the dial context is canceled.
456456

457-
return workspacesdk.NewClient(client).
457+
return workspacesdk.New(client).
458458
DialAgent(ctx, resources[0].Agents[0].ID, &workspacesdk.DialAgentOptions{
459459
Logger: slogtest.Make(t, nil).Named("client").Leveled(slog.LevelDebug),
460460
})
@@ -566,7 +566,7 @@ func TestWorkspaceAgentTailnetDirectDisabled(t *testing.T) {
566566
}
567567
}
568568

569-
conn, err := workspacesdk.NewClient(client).
569+
conn, err := workspacesdk.New(client).
570570
DialAgent(ctx, resources[0].Agents[0].ID, &workspacesdk.DialAgentOptions{
571571
Logger: slogtest.Make(t, nil).Named("client").Leveled(slog.LevelDebug),
572572
})
@@ -1631,7 +1631,7 @@ func TestWorkspaceAgent_UpdatedDERP(t *testing.T) {
16311631
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong)
16321632
defer cancel() // Connection should remain open even if the dial context is canceled.
16331633

1634-
return workspacesdk.NewClient(client).
1634+
return workspacesdk.New(client).
16351635
DialAgent(ctx, agentID, &workspacesdk.DialAgentOptions{
16361636
Logger: logger.Named("client1"),
16371637
})
@@ -1677,7 +1677,7 @@ func TestWorkspaceAgent_UpdatedDERP(t *testing.T) {
16771677
require.True(t, ok)
16781678

16791679
// Connect from a second client.
1680-
conn2, err := workspacesdk.NewClient(client).
1680+
conn2, err := workspacesdk.New(client).
16811681
DialAgent(ctx, agentID, &workspacesdk.DialAgentOptions{
16821682
Logger: logger.Named("client2"),
16831683
})

coderd/workspaceapps/apptest/apptest.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -1721,7 +1721,7 @@ func testReconnectingPTY(ctx context.Context, t *testing.T, client *codersdk.Cli
17211721
return strings.Contains(line, "exit") || strings.Contains(line, "logout")
17221722
}
17231723

1724-
conn, err := workspacesdk.NewClient(client).AgentReconnectingPTY(ctx, opts)
1724+
conn, err := workspacesdk.New(client).AgentReconnectingPTY(ctx, opts)
17251725
require.NoError(t, err)
17261726
defer conn.Close()
17271727

codersdk/healthsdk/health.go renamed to codersdk/healthsdk/healthsdk.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ type HealthClient struct {
2020
client *codersdk.Client
2121
}
2222

23-
func NewHealthClient(c *codersdk.Client) *HealthClient {
23+
func New(c *codersdk.Client) *HealthClient {
2424
return &HealthClient{client: c}
2525
}
2626

codersdk/workspacesdk/workspaceagentconn.go renamed to codersdk/workspacesdk/agentconn.go

-104
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,7 @@ import (
99
"net"
1010
"net/http"
1111
"net/netip"
12-
"os"
1312
"strconv"
14-
"strings"
1513
"time"
1614

1715
"github.com/google/uuid"
@@ -27,108 +25,6 @@ import (
2725
"github.com/coder/coder/v2/tailnet"
2826
)
2927

30-
// AgentIP is a static IPv6 address with the Tailscale prefix that is used to route
31-
// connections from clients to this node. A dynamic address is not required because a Tailnet
32-
// client only dials a single agent at a time.
33-
//
34-
// Deprecated: use tailnet.IP() instead. This is kept for backwards
35-
// compatibility with outdated CLI clients and Workspace Proxies that dial it.
36-
// See: https://github.com/coder/coder/issues/11819
37-
var AgentIP = netip.MustParseAddr("fd7a:115c:a1e0:49d6:b259:b7ac:b1b2:48f4")
38-
39-
var ErrSkipClose = xerrors.New("skip tailnet close")
40-
41-
const (
42-
AgentSSHPort = tailnet.WorkspaceAgentSSHPort
43-
AgentReconnectingPTYPort = tailnet.WorkspaceAgentReconnectingPTYPort
44-
AgentSpeedtestPort = tailnet.WorkspaceAgentSpeedtestPort
45-
// AgentHTTPAPIServerPort serves a HTTP server with endpoints for e.g.
46-
// gathering agent statistics.
47-
AgentHTTPAPIServerPort = 4
48-
49-
// AgentMinimumListeningPort is the minimum port that the listening-ports
50-
// endpoint will return to the client, and the minimum port that is accepted
51-
// by the proxy applications endpoint. Coder consumes ports 1-4 at the
52-
// moment, and we reserve some extra ports for future use. Port 9 and up are
53-
// available for the user.
54-
//
55-
// This is not enforced in the CLI intentionally as we don't really care
56-
// *that* much. The user could bypass this in the CLI by using SSH instead
57-
// anyways.
58-
AgentMinimumListeningPort = 9
59-
)
60-
61-
// AgentIgnoredListeningPorts contains a list of ports to ignore when looking for
62-
// running applications inside a workspace. We want to ignore non-HTTP servers,
63-
// so we pre-populate this list with common ports that are not HTTP servers.
64-
//
65-
// This is implemented as a map for fast lookup.
66-
var AgentIgnoredListeningPorts = map[uint16]struct{}{
67-
0: {},
68-
// Ports 1-8 are reserved for future use by the Coder agent.
69-
1: {},
70-
2: {},
71-
3: {},
72-
4: {},
73-
5: {},
74-
6: {},
75-
7: {},
76-
8: {},
77-
// ftp
78-
20: {},
79-
21: {},
80-
// ssh
81-
22: {},
82-
// telnet
83-
23: {},
84-
// smtp
85-
25: {},
86-
// dns over TCP
87-
53: {},
88-
// pop3
89-
110: {},
90-
// imap
91-
143: {},
92-
// bgp
93-
179: {},
94-
// ldap
95-
389: {},
96-
636: {},
97-
// smtps
98-
465: {},
99-
// smtp
100-
587: {},
101-
// ftps
102-
989: {},
103-
990: {},
104-
// imaps
105-
993: {},
106-
// pop3s
107-
995: {},
108-
// mysql
109-
3306: {},
110-
// rdp
111-
3389: {},
112-
// postgres
113-
5432: {},
114-
// mongodb
115-
27017: {},
116-
27018: {},
117-
27019: {},
118-
28017: {},
119-
}
120-
121-
func init() {
122-
if !strings.HasSuffix(os.Args[0], ".test") {
123-
return
124-
}
125-
// Add a thousand more ports to the ignore list during tests so it's easier
126-
// to find an available port.
127-
for i := 63000; i < 64000; i++ {
128-
AgentIgnoredListeningPorts[uint16(i)] = struct{}{}
129-
}
130-
}
131-
13228
// NewAgentConn creates a new WorkspaceAgentConn. `conn` may be unique
13329
// to the WorkspaceAgentConn, or it may be shared in the case of coderd. If the
13430
// conn is shared and closing it is undesirable, you may return ErrNoClose from

0 commit comments

Comments
 (0)