Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit34aa574

Browse files
committed
implement sub agent url
1 parent7358ee0 commit34aa574

File tree

3 files changed

+21
-8
lines changed

3 files changed

+21
-8
lines changed

‎agent/agentcontainers/api.go

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ type API struct {
5757
clock quartz.Clock
5858
scriptLoggerfunc(logSourceID uuid.UUID)ScriptLogger
5959
subAgentClientSubAgentClient
60+
subAgentURLstring
6061

6162
mu sync.RWMutex
6263
closedbool
@@ -121,6 +122,14 @@ func WithSubAgentClient(client SubAgentClient) Option {
121122
}
122123
}
123124

125+
// WithSubAgentURL sets the agent URL for the sub-agent for
126+
// communicating with the control plane.
127+
funcWithSubAgentURL(urlstring)Option {
128+
returnfunc(api*API) {
129+
api.subAgentURL=url
130+
}
131+
}
132+
124133
// WithDevcontainers sets the known devcontainers for the API. This
125134
// allows the API to be aware of devcontainers defined in the workspace
126135
// agent manifest.
@@ -1075,8 +1084,7 @@ func (api *API) runSubAgentInContainer(ctx context.Context, dc codersdk.Workspac
10751084
err:=api.dccli.Exec(agentCtx,dc.WorkspaceFolder,dc.ConfigPath,agentPath, []string{"agent"},
10761085
WithContainerID(container.ID),
10771086
WithRemoteEnv(
1078-
// TODO(mafredri): Use the correct URL here.
1079-
"CODER_AGENT_URL="+"http://172.20.0.8:3000/",
1087+
"CODER_AGENT_URL="+api.subAgentURL,
10801088
"CODER_AGENT_TOKEN="+agent.AuthToken.String(),
10811089
),
10821090
)

‎agent/agentcontainers/api_test.go

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1272,10 +1272,10 @@ func TestAPI(t *testing.T) {
12721272
},nil).AnyTimes()
12731273
gomock.InOrder(
12741274
mCCLI.EXPECT().DetectArchitecture(gomock.Any(),"test-container-id").Return(runtime.GOARCH,nil),
1275-
mCCLI.EXPECT().ExecAs(gomock.Any(),"test-container-id","root","mkdir","-p","/.coder-agent").Return(nil),
1275+
mCCLI.EXPECT().ExecAs(gomock.Any(),"test-container-id","root","mkdir","-p","/.coder-agent").Return(nil,nil),
12761276
mCCLI.EXPECT().Copy(gomock.Any(),"test-container-id",coderBin,"/.coder-agent/coder").Return(nil),
1277-
mCCLI.EXPECT().ExecAs(gomock.Any(),"test-container-id","root","chmod","+x","/.coder-agent/coder").Return(nil),
1278-
mCCLI.EXPECT().ExecAs(gomock.Any(),"test-container-id","root","setcap","cap_net_admin+ep","/.coder-agent/coder").Return(nil),
1277+
mCCLI.EXPECT().ExecAs(gomock.Any(),"test-container-id","root","chmod","+x","/.coder-agent/coder").Return(nil,nil),
1278+
mCCLI.EXPECT().ExecAs(gomock.Any(),"test-container-id","root","setcap","cap_net_admin+ep","/.coder-agent/coder").Return(nil,nil),
12791279
)
12801280

12811281
mClock.Set(time.Now()).MustWait(ctx)
@@ -1285,6 +1285,7 @@ func TestAPI(t *testing.T) {
12851285
agentcontainers.WithClock(mClock),
12861286
agentcontainers.WithContainerCLI(mCCLI),
12871287
agentcontainers.WithSubAgentClient(fakeSAC),
1288+
agentcontainers.WithSubAgentURL("test-subagent-url"),
12881289
agentcontainers.WithDevcontainerCLI(fakeDCCLI),
12891290
)
12901291
deferapi.Close()
@@ -1317,10 +1318,10 @@ func TestAPI(t *testing.T) {
13171318
// Expect the agent to be reinjected.
13181319
gomock.InOrder(
13191320
mCCLI.EXPECT().DetectArchitecture(gomock.Any(),"test-container-id").Return(runtime.GOARCH,nil),
1320-
mCCLI.EXPECT().ExecAs(gomock.Any(),"test-container-id","root","mkdir","-p","/.coder-agent").Return(nil),
1321+
mCCLI.EXPECT().ExecAs(gomock.Any(),"test-container-id","root","mkdir","-p","/.coder-agent").Return(nil,nil),
13211322
mCCLI.EXPECT().Copy(gomock.Any(),"test-container-id",coderBin,"/.coder-agent/coder").Return(nil),
1322-
mCCLI.EXPECT().ExecAs(gomock.Any(),"test-container-id","root","chmod","+x","/.coder-agent/coder").Return(nil),
1323-
mCCLI.EXPECT().ExecAs(gomock.Any(),"test-container-id","root","setcap","cap_net_admin+ep","/.coder-agent/coder").Return(nil),
1323+
mCCLI.EXPECT().ExecAs(gomock.Any(),"test-container-id","root","chmod","+x","/.coder-agent/coder").Return(nil,nil),
1324+
mCCLI.EXPECT().ExecAs(gomock.Any(),"test-container-id","root","setcap","cap_net_admin+ep","/.coder-agent/coder").Return(nil,nil),
13241325
)
13251326

13261327
// Terminate the agent and verify it is deleted.

‎cli/agent.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import (
2828
"github.com/coder/serpent"
2929

3030
"github.com/coder/coder/v2/agent"
31+
"github.com/coder/coder/v2/agent/agentcontainers"
3132
"github.com/coder/coder/v2/agent/agentexec"
3233
"github.com/coder/coder/v2/agent/agentssh"
3334
"github.com/coder/coder/v2/agent/reaper"
@@ -362,6 +363,9 @@ func (r *RootCmd) workspaceAgent() *serpent.Command {
362363
BlockFileTransfer:blockFileTransfer,
363364
Execer:execer,
364365
ExperimentalDevcontainersEnabled:experimentalDevcontainersEnabled,
366+
ContainerAPIOptions: []agentcontainers.Option{
367+
agentcontainers.WithSubAgentURL(r.agentURL.String()),
368+
},
365369
})
366370

367371
promHandler:=agent.PrometheusMetricsHandler(prometheusRegistry,logger)

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp