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

Commit5ae320e

Browse files
fix(agent/agentcontainers): chown coder binary (#18611)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
1 parent87d052e commit5ae320e

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

‎agent/agentcontainers/api.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1442,6 +1442,11 @@ func (api *API) maybeInjectSubAgentIntoContainerLocked(ctx context.Context, dc c
14421442
returnxerrors.Errorf("set agent binary executable: %w",err)
14431443
}
14441444

1445+
// Make sure the agent binary is executable so we can run it.
1446+
if_,err:=api.ccli.ExecAs(ctx,container.ID,"root","/bin/sh","-c",fmt.Sprintf("chown $(id -u):$(id -g) %s",coderPathInsideContainer));err!=nil {
1447+
returnxerrors.Errorf("set agent binary ownership: %w",err)
1448+
}
1449+
14451450
// Attempt to add CAP_NET_ADMIN to the binary to improve network
14461451
// performance (optional, allow to fail). See `bootstrap_linux.sh`.
14471452
// TODO(mafredri): Disable for now until we can figure out why this

‎agent/agentcontainers/api_test.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1392,6 +1392,7 @@ func TestAPI(t *testing.T) {
13921392
mCCLI.EXPECT().ExecAs(gomock.Any(),"test-container-id","root","mkdir","-p","/.coder-agent").Return(nil,nil),
13931393
mCCLI.EXPECT().Copy(gomock.Any(),"test-container-id",coderBin,"/.coder-agent/coder").Return(nil),
13941394
mCCLI.EXPECT().ExecAs(gomock.Any(),"test-container-id","root","chmod","0755","/.coder-agent","/.coder-agent/coder").Return(nil,nil),
1395+
mCCLI.EXPECT().ExecAs(gomock.Any(),"test-container-id","root","/bin/sh","-c","chown $(id -u):$(id -g) /.coder-agent/coder").Return(nil,nil),
13951396
)
13961397

13971398
mClock.Set(time.Now()).MustWait(ctx)
@@ -1480,6 +1481,7 @@ func TestAPI(t *testing.T) {
14801481
mCCLI.EXPECT().ExecAs(gomock.Any(),"test-container-id","root","mkdir","-p","/.coder-agent").Return(nil,nil),
14811482
mCCLI.EXPECT().Copy(gomock.Any(),"test-container-id",coderBin,"/.coder-agent/coder").Return(nil),
14821483
mCCLI.EXPECT().ExecAs(gomock.Any(),"test-container-id","root","chmod","0755","/.coder-agent","/.coder-agent/coder").Return(nil,nil),
1484+
mCCLI.EXPECT().ExecAs(gomock.Any(),"test-container-id","root","/bin/sh","-c","chown $(id -u):$(id -g) /.coder-agent/coder").Return(nil,nil),
14831485
)
14841486

14851487
// Verify that the agent has started.
@@ -1540,6 +1542,7 @@ func TestAPI(t *testing.T) {
15401542
mCCLI.EXPECT().ExecAs(gomock.Any(),"new-test-container-id","root","mkdir","-p","/.coder-agent").Return(nil,nil),
15411543
mCCLI.EXPECT().Copy(gomock.Any(),"new-test-container-id",coderBin,"/.coder-agent/coder").Return(nil),
15421544
mCCLI.EXPECT().ExecAs(gomock.Any(),"new-test-container-id","root","chmod","0755","/.coder-agent","/.coder-agent/coder").Return(nil,nil),
1545+
mCCLI.EXPECT().ExecAs(gomock.Any(),"new-test-container-id","root","/bin/sh","-c","chown $(id -u):$(id -g) /.coder-agent/coder").Return(nil,nil),
15431546
)
15441547

15451548
fakeDCCLI.readConfig.MergedConfiguration.Customizations.Coder= []agentcontainers.CoderCustomization{
@@ -1941,6 +1944,7 @@ func TestAPI(t *testing.T) {
19411944
mCCLI.EXPECT().ExecAs(gomock.Any(),testContainer.ID,"root","mkdir","-p","/.coder-agent").Return(nil,nil),
19421945
mCCLI.EXPECT().Copy(gomock.Any(),testContainer.ID,coderBin,"/.coder-agent/coder").Return(nil),
19431946
mCCLI.EXPECT().ExecAs(gomock.Any(),testContainer.ID,"root","chmod","0755","/.coder-agent","/.coder-agent/coder").Return(nil,nil),
1947+
mCCLI.EXPECT().ExecAs(gomock.Any(),testContainer.ID,"root","/bin/sh","-c","chown $(id -u):$(id -g) /.coder-agent/coder").Return(nil,nil),
19441948
)
19451949

19461950
mClock.Set(time.Now()).MustWait(ctx)
@@ -2034,6 +2038,7 @@ func TestAPI(t *testing.T) {
20342038
mCCLI.EXPECT().ExecAs(gomock.Any(),testContainer.ID,"root","mkdir","-p","/.coder-agent").Return(nil,nil),
20352039
mCCLI.EXPECT().Copy(gomock.Any(),testContainer.ID,coderBin,"/.coder-agent/coder").Return(nil),
20362040
mCCLI.EXPECT().ExecAs(gomock.Any(),testContainer.ID,"root","chmod","0755","/.coder-agent","/.coder-agent/coder").Return(nil,nil),
2041+
mCCLI.EXPECT().ExecAs(gomock.Any(),testContainer.ID,"root","/bin/sh","-c","chown $(id -u):$(id -g) /.coder-agent/coder").Return(nil,nil),
20372042
)
20382043

20392044
mClock.Set(time.Now()).MustWait(ctx)
@@ -2138,6 +2143,7 @@ func TestAPI(t *testing.T) {
21382143
mCCLI.EXPECT().ExecAs(gomock.Any(),testContainer.ID,"root","mkdir","-p","/.coder-agent").Return(nil,nil),
21392144
mCCLI.EXPECT().Copy(gomock.Any(),testContainer.ID,coderBin,"/.coder-agent/coder").Return(nil),
21402145
mCCLI.EXPECT().ExecAs(gomock.Any(),testContainer.ID,"root","chmod","0755","/.coder-agent","/.coder-agent/coder").Return(nil,nil),
2146+
mCCLI.EXPECT().ExecAs(gomock.Any(),testContainer.ID,"root","/bin/sh","-c","chown $(id -u):$(id -g) /.coder-agent/coder").Return(nil,nil),
21412147
)
21422148

21432149
mClock.Set(time.Now()).MustWait(ctx)

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp