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

Commit5c8cac9

Browse files
authored
feat: add name to workspace agent devcontainers (#17089)
In the presence of multiple devcontainers, it would be nice todifferentiate them by name. This change inherits the resource name fromterraform.Refs#17076
1 parent56082f3 commit5c8cac9

22 files changed

+803
-743
lines changed

‎agent/proto/agent.pb.go

Lines changed: 434 additions & 425 deletions
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.

‎agent/proto/agent.proto

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@ message WorkspaceAgentDevcontainer {
102102
bytesid=1;
103103
stringworkspace_folder=2;
104104
stringconfig_path=3;
105+
stringname=4;
105106
}
106107

107108
messageGetManifestRequest {}

‎coderd/agentapi/manifest.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -244,6 +244,7 @@ func dbAgentDevcontainersToProto(devcontainers []database.WorkspaceAgentDevconta
244244
fori,dc:=rangedevcontainers {
245245
ret[i]=&agentproto.WorkspaceAgentDevcontainer{
246246
Id:dc.ID[:],
247+
Name:dc.Name,
247248
WorkspaceFolder:dc.WorkspaceFolder,
248249
ConfigPath:dc.ConfigPath,
249250
}

‎coderd/agentapi/manifest_test.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,11 +159,13 @@ func TestGetManifest(t *testing.T) {
159159
devcontainers= []database.WorkspaceAgentDevcontainer{
160160
{
161161
ID:uuid.New(),
162+
Name:"cool",
162163
WorkspaceAgentID:agent.ID,
163164
WorkspaceFolder:"/cool/folder",
164165
},
165166
{
166167
ID:uuid.New(),
168+
Name:"another",
167169
WorkspaceAgentID:agent.ID,
168170
WorkspaceFolder:"/another/cool/folder",
169171
ConfigPath:"/another/cool/folder/.devcontainer/devcontainer.json",
@@ -283,10 +285,12 @@ func TestGetManifest(t *testing.T) {
283285
protoDevcontainers= []*agentproto.WorkspaceAgentDevcontainer{
284286
{
285287
Id:devcontainers[0].ID[:],
288+
Name:devcontainers[0].Name,
286289
WorkspaceFolder:devcontainers[0].WorkspaceFolder,
287290
},
288291
{
289292
Id:devcontainers[1].ID[:],
293+
Name:devcontainers[1].Name,
290294
WorkspaceFolder:devcontainers[1].WorkspaceFolder,
291295
ConfigPath:devcontainers[1].ConfigPath,
292296
},

‎coderd/database/dbgen/dbgen.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -260,6 +260,7 @@ func WorkspaceAgentDevcontainer(t testing.TB, db database.Store, orig database.W
260260
WorkspaceAgentID:takeFirst(orig.WorkspaceAgentID,uuid.New()),
261261
CreatedAt:takeFirst(orig.CreatedAt,dbtime.Now()),
262262
ID: []uuid.UUID{takeFirst(orig.ID,uuid.New())},
263+
Name: []string{takeFirst(orig.Name,testutil.GetRandomName(t))},
263264
WorkspaceFolder: []string{takeFirst(orig.WorkspaceFolder,"/workspace")},
264265
ConfigPath: []string{takeFirst(orig.ConfigPath,"")},
265266
})

‎coderd/database/dbmem/dbmem.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9171,6 +9171,7 @@ func (q *FakeQuerier) InsertWorkspaceAgentDevcontainers(_ context.Context, arg d
91719171
WorkspaceAgentID:arg.WorkspaceAgentID,
91729172
CreatedAt:arg.CreatedAt,
91739173
ID:id,
9174+
Name:arg.Name[i],
91749175
WorkspaceFolder:arg.WorkspaceFolder[i],
91759176
ConfigPath:arg.ConfigPath[i],
91769177
})

‎coderd/database/dump.sql

Lines changed: 4 additions & 1 deletion
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ALTERTABLE workspace_agent_devcontainers DROP COLUMN name;
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
ALTERTABLE workspace_agent_devcontainers ADD COLUMN nameTEXTNOT NULL DEFAULT'';
2+
ALTERTABLE workspace_agent_devcontainers ALTER COLUMN name DROP DEFAULT;
3+
4+
COMMENT ON COLUMN workspace_agent_devcontainers.name IS'The name of the Dev Container.';

‎coderd/database/models.go

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.

‎coderd/database/queries.sql.go

Lines changed: 10 additions & 5 deletions
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.

‎coderd/database/queries/workspaceagentdevcontainers.sql

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
-- name: InsertWorkspaceAgentDevcontainers :many
22
INSERT INTO
3-
workspace_agent_devcontainers (workspace_agent_id, created_at, id, workspace_folder, config_path)
3+
workspace_agent_devcontainers (workspace_agent_id, created_at, id,name,workspace_folder, config_path)
44
SELECT
55
@workspace_agent_id::uuidAS workspace_agent_id,
66
@created_at::timestamptzAS created_at,
77
unnest(@id::uuid[])AS id,
8+
unnest(@name::text[])AS name,
89
unnest(@workspace_folder::text[])AS workspace_folder,
910
unnest(@config_path::text[])AS config_path
1011
RETURNING workspace_agent_devcontainers.*;

‎coderd/provisionerdserver/provisionerdserver.go

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2110,22 +2110,25 @@ func InsertWorkspaceResource(ctx context.Context, db database.Store, jobID uuid.
21102110

21112111
ifdevcontainers:=prAgent.GetDevcontainers();len(devcontainers)>0 {
21122112
var (
2113-
devContainerIDs=make([]uuid.UUID,0,len(devcontainers))
2114-
devContainerWorkspaceFolders=make([]string,0,len(devcontainers))
2115-
devContainerConfigPaths=make([]string,0,len(devcontainers))
2113+
devcontainerIDs=make([]uuid.UUID,0,len(devcontainers))
2114+
devcontainerNames=make([]string,0,len(devcontainers))
2115+
devcontainerWorkspaceFolders=make([]string,0,len(devcontainers))
2116+
devcontainerConfigPaths=make([]string,0,len(devcontainers))
21162117
)
21172118
for_,dc:=rangedevcontainers {
2118-
devContainerIDs=append(devContainerIDs,uuid.New())
2119-
devContainerWorkspaceFolders=append(devContainerWorkspaceFolders,dc.WorkspaceFolder)
2120-
devContainerConfigPaths=append(devContainerConfigPaths,dc.ConfigPath)
2119+
devcontainerIDs=append(devcontainerIDs,uuid.New())
2120+
devcontainerNames=append(devcontainerNames,dc.Name)
2121+
devcontainerWorkspaceFolders=append(devcontainerWorkspaceFolders,dc.WorkspaceFolder)
2122+
devcontainerConfigPaths=append(devcontainerConfigPaths,dc.ConfigPath)
21212123
}
21222124

21232125
_,err=db.InsertWorkspaceAgentDevcontainers(ctx, database.InsertWorkspaceAgentDevcontainersParams{
21242126
WorkspaceAgentID:agentID,
21252127
CreatedAt:dbtime.Now(),
2126-
ID:devContainerIDs,
2127-
WorkspaceFolder:devContainerWorkspaceFolders,
2128-
ConfigPath:devContainerConfigPaths,
2128+
ID:devcontainerIDs,
2129+
Name:devcontainerNames,
2130+
WorkspaceFolder:devcontainerWorkspaceFolders,
2131+
ConfigPath:devcontainerConfigPaths,
21292132
})
21302133
iferr!=nil {
21312134
returnxerrors.Errorf("insert agent devcontainer: %w",err)

‎coderd/provisionerdserver/provisionerdserver_test.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2204,8 +2204,8 @@ func TestInsertWorkspaceResource(t *testing.T) {
22042204
Agents: []*sdkproto.Agent{{
22052205
Name:"dev",
22062206
Devcontainers: []*sdkproto.Devcontainer{
2207-
{WorkspaceFolder:"/workspace1"},
2208-
{WorkspaceFolder:"/workspace2",ConfigPath:"/workspace2/.devcontainer/devcontainer.json"},
2207+
{Name:"foo",WorkspaceFolder:"/workspace1"},
2208+
{Name:"bar",WorkspaceFolder:"/workspace2",ConfigPath:"/workspace2/.devcontainer/devcontainer.json"},
22092209
},
22102210
}},
22112211
})
@@ -2220,7 +2220,10 @@ func TestInsertWorkspaceResource(t *testing.T) {
22202220
devcontainers,err:=db.GetWorkspaceAgentDevcontainersByAgentID(ctx,agent.ID)
22212221
require.NoError(t,err)
22222222
require.Len(t,devcontainers,2)
2223+
require.Equal(t,"foo",devcontainers[0].Name)
22232224
require.Equal(t,"/workspace1",devcontainers[0].WorkspaceFolder)
2225+
require.Equal(t,"",devcontainers[0].ConfigPath)
2226+
require.Equal(t,"bar",devcontainers[1].Name)
22242227
require.Equal(t,"/workspace2",devcontainers[1].WorkspaceFolder)
22252228
require.Equal(t,"/workspace2/.devcontainer/devcontainer.json",devcontainers[1].ConfigPath)
22262229
})

‎codersdk/agentsdk/convert.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -450,6 +450,7 @@ func DevcontainerFromProto(pdc *proto.WorkspaceAgentDevcontainer) (codersdk.Work
450450
}
451451
return codersdk.WorkspaceAgentDevcontainer{
452452
ID:id,
453+
Name:pdc.Name,
453454
WorkspaceFolder:pdc.WorkspaceFolder,
454455
ConfigPath:pdc.ConfigPath,
455456
},nil
@@ -466,6 +467,7 @@ func ProtoFromDevcontainers(dcs []codersdk.WorkspaceAgentDevcontainer) []*proto.
466467
funcProtoFromDevcontainer(dc codersdk.WorkspaceAgentDevcontainer)*proto.WorkspaceAgentDevcontainer {
467468
return&proto.WorkspaceAgentDevcontainer{
468469
Id:dc.ID[:],
470+
Name:dc.Name,
469471
WorkspaceFolder:dc.WorkspaceFolder,
470472
ConfigPath:dc.ConfigPath,
471473
}

‎codersdk/workspaceagents.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -396,6 +396,7 @@ func (c *Client) WorkspaceAgentListeningPorts(ctx context.Context, agentID uuid.
396396
// configuration in a workspace that is visible to the workspace agent.
397397
typeWorkspaceAgentDevcontainerstruct {
398398
ID uuid.UUID`json:"id" format:"uuid"`
399+
Namestring`json:"name"`
399400
WorkspaceFolderstring`json:"workspace_folder"`
400401
ConfigPathstring`json:"config_path,omitempty"`
401402
}

‎provisioner/terraform/resources.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -614,6 +614,7 @@ func ConvertState(ctx context.Context, modules []*tfjson.StateModule, rawGraph s
614614
continue
615615
}
616616
agent.Devcontainers=append(agent.Devcontainers,&proto.Devcontainer{
617+
Name:resource.Name,
617618
WorkspaceFolder:attrs.WorkspaceFolder,
618619
ConfigPath:attrs.ConfigPath,
619620
})

‎provisioner/terraform/resources_test.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -845,9 +845,11 @@ func TestConvertResources(t *testing.T) {
845845
ResourcesMonitoring:&proto.ResourcesMonitoring{},
846846
Devcontainers: []*proto.Devcontainer{
847847
{
848+
Name:"dev1",
848849
WorkspaceFolder:"/workspace1",
849850
},
850851
{
852+
Name:"dev2",
851853
WorkspaceFolder:"/workspace2",
852854
ConfigPath:"/workspace2/.devcontainer/devcontainer.json",
853855
},
@@ -1404,7 +1406,7 @@ func sortResources(resources []*proto.Resource) {
14041406
returnagent.Scripts[i].DisplayName<agent.Scripts[j].DisplayName
14051407
})
14061408
sort.Slice(agent.Devcontainers,func(i,jint)bool {
1407-
returnagent.Devcontainers[i].WorkspaceFolder<agent.Devcontainers[j].WorkspaceFolder
1409+
returnagent.Devcontainers[i].Name<agent.Devcontainers[j].Name
14081410
})
14091411
}
14101412
sort.Slice(resource.Agents,func(i,jint)bool {

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp