Skip to content

Commit 5c8cac9

Browse files
authored
feat: add name to workspace agent devcontainers (#17089)
In the presence of multiple devcontainers, it would be nice to differentiate them by name. This change inherits the resource name from terraform. Refs #17076
1 parent 56082f3 commit 5c8cac9

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 about customizing 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
bytes id = 1;
103103
string workspace_folder = 2;
104104
string config_path = 3;
105+
string name = 4;
105106
}
106107

107108
message GetManifestRequest {}

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
for i, dc := range devcontainers {
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 about customizing how changed files appear on GitHub.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ALTER TABLE 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+
ALTER TABLE workspace_agent_devcontainers ADD COLUMN name TEXT NOT NULL DEFAULT '';
2+
ALTER TABLE 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 about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)