chore(codersdk): rename WorkspaceAgent(Dev)container structs (#16996)

This is to free up the devcontainer name space for more targeted
structs.

Updates #16423
This commit is contained in:
Mathias Fredriksson
2025-03-19 10:16:14 +00:00
committed by GitHub
parent ef62e626c8
commit 3ac844ad3d
14 changed files with 98 additions and 99 deletions
@@ -269,7 +269,7 @@ func (dcl *DockerCLILister) List(ctx context.Context) (codersdk.WorkspaceAgentLi
}
res := codersdk.WorkspaceAgentListContainersResponse{
Containers: make([]codersdk.WorkspaceAgentDevcontainer, 0, len(ids)),
Containers: make([]codersdk.WorkspaceAgentContainer, 0, len(ids)),
Warnings: make([]string, 0),
}
dockerPsStderr := strings.TrimSpace(stderrBuf.String())
@@ -380,13 +380,13 @@ func (dis dockerInspectState) String() string {
return sb.String()
}
func convertDockerInspect(raw []byte) ([]codersdk.WorkspaceAgentDevcontainer, []string, error) {
func convertDockerInspect(raw []byte) ([]codersdk.WorkspaceAgentContainer, []string, error) {
var warns []string
var ins []dockerInspect
if err := json.NewDecoder(bytes.NewReader(raw)).Decode(&ins); err != nil {
return nil, nil, xerrors.Errorf("decode docker inspect output: %w", err)
}
outs := make([]codersdk.WorkspaceAgentDevcontainer, 0, len(ins))
outs := make([]codersdk.WorkspaceAgentContainer, 0, len(ins))
// Say you have two containers:
// - Container A with Host IP 127.0.0.1:8000 mapped to container port 8001
@@ -402,14 +402,14 @@ func convertDockerInspect(raw []byte) ([]codersdk.WorkspaceAgentDevcontainer, []
hostPortContainers := make(map[int][]string)
for _, in := range ins {
out := codersdk.WorkspaceAgentDevcontainer{
out := codersdk.WorkspaceAgentContainer{
CreatedAt: in.Created,
// Remove the leading slash from the container name
FriendlyName: strings.TrimPrefix(in.Name, "/"),
ID: in.ID,
Image: in.Config.Image,
Labels: in.Config.Labels,
Ports: make([]codersdk.WorkspaceAgentDevcontainerPort, 0),
Ports: make([]codersdk.WorkspaceAgentContainerPort, 0),
Running: in.State.Running,
Status: in.State.String(),
Volumes: make(map[string]string, len(in.Mounts)),
@@ -452,7 +452,7 @@ func convertDockerInspect(raw []byte) ([]codersdk.WorkspaceAgentDevcontainer, []
// Also keep track of the host port and the container ID.
hostPortContainers[hp] = append(hostPortContainers[hp], in.ID)
}
out.Ports = append(out.Ports, codersdk.WorkspaceAgentDevcontainerPort{
out.Ports = append(out.Ports, codersdk.WorkspaceAgentContainerPort{
Network: network,
Port: cp,
HostPort: uint16(hp),
@@ -206,7 +206,7 @@ func TestContainersHandler(t *testing.T) {
fakeCt := fakeContainer(t)
fakeCt2 := fakeContainer(t)
makeResponse := func(cts ...codersdk.WorkspaceAgentDevcontainer) codersdk.WorkspaceAgentListContainersResponse {
makeResponse := func(cts ...codersdk.WorkspaceAgentContainer) codersdk.WorkspaceAgentListContainersResponse {
return codersdk.WorkspaceAgentListContainersResponse{Containers: cts}
}
@@ -425,13 +425,13 @@ func TestConvertDockerInspect(t *testing.T) {
//nolint:paralleltest // variable recapture no longer required
for _, tt := range []struct {
name string
expect []codersdk.WorkspaceAgentDevcontainer
expect []codersdk.WorkspaceAgentContainer
expectWarns []string
expectError string
}{
{
name: "container_simple",
expect: []codersdk.WorkspaceAgentDevcontainer{
expect: []codersdk.WorkspaceAgentContainer{
{
CreatedAt: time.Date(2025, 3, 11, 17, 55, 58, 91280203, time.UTC),
ID: "6b539b8c60f5230b8b0fde2502cd2332d31c0d526a3e6eb6eef1cc39439b3286",
@@ -440,14 +440,14 @@ func TestConvertDockerInspect(t *testing.T) {
Labels: map[string]string{},
Running: true,
Status: "running",
Ports: []codersdk.WorkspaceAgentDevcontainerPort{},
Ports: []codersdk.WorkspaceAgentContainerPort{},
Volumes: map[string]string{},
},
},
},
{
name: "container_labels",
expect: []codersdk.WorkspaceAgentDevcontainer{
expect: []codersdk.WorkspaceAgentContainer{
{
CreatedAt: time.Date(2025, 3, 11, 20, 3, 28, 71706536, time.UTC),
ID: "bd8818e670230fc6f36145b21cf8d6d35580355662aa4d9fe5ae1b188a4c905f",
@@ -456,14 +456,14 @@ func TestConvertDockerInspect(t *testing.T) {
Labels: map[string]string{"baz": "zap", "foo": "bar"},
Running: true,
Status: "running",
Ports: []codersdk.WorkspaceAgentDevcontainerPort{},
Ports: []codersdk.WorkspaceAgentContainerPort{},
Volumes: map[string]string{},
},
},
},
{
name: "container_binds",
expect: []codersdk.WorkspaceAgentDevcontainer{
expect: []codersdk.WorkspaceAgentContainer{
{
CreatedAt: time.Date(2025, 3, 11, 17, 58, 43, 522505027, time.UTC),
ID: "fdc75ebefdc0243c0fce959e7685931691ac7aede278664a0e2c23af8a1e8d6a",
@@ -472,7 +472,7 @@ func TestConvertDockerInspect(t *testing.T) {
Labels: map[string]string{},
Running: true,
Status: "running",
Ports: []codersdk.WorkspaceAgentDevcontainerPort{},
Ports: []codersdk.WorkspaceAgentContainerPort{},
Volumes: map[string]string{
"/tmp/test/a": "/var/coder/a",
"/tmp/test/b": "/var/coder/b",
@@ -482,7 +482,7 @@ func TestConvertDockerInspect(t *testing.T) {
},
{
name: "container_sameport",
expect: []codersdk.WorkspaceAgentDevcontainer{
expect: []codersdk.WorkspaceAgentContainer{
{
CreatedAt: time.Date(2025, 3, 11, 17, 56, 34, 842164541, time.UTC),
ID: "4eac5ce199d27b2329d0ff0ce1a6fc595612ced48eba3669aadb6c57ebef3fa2",
@@ -491,7 +491,7 @@ func TestConvertDockerInspect(t *testing.T) {
Labels: map[string]string{},
Running: true,
Status: "running",
Ports: []codersdk.WorkspaceAgentDevcontainerPort{
Ports: []codersdk.WorkspaceAgentContainerPort{
{
Network: "tcp",
Port: 12345,
@@ -505,7 +505,7 @@ func TestConvertDockerInspect(t *testing.T) {
},
{
name: "container_differentport",
expect: []codersdk.WorkspaceAgentDevcontainer{
expect: []codersdk.WorkspaceAgentContainer{
{
CreatedAt: time.Date(2025, 3, 11, 17, 57, 8, 862545133, time.UTC),
ID: "3090de8b72b1224758a94a11b827c82ba2b09c45524f1263dc4a2d83e19625ea",
@@ -514,7 +514,7 @@ func TestConvertDockerInspect(t *testing.T) {
Labels: map[string]string{},
Running: true,
Status: "running",
Ports: []codersdk.WorkspaceAgentDevcontainerPort{
Ports: []codersdk.WorkspaceAgentContainerPort{
{
Network: "tcp",
Port: 23456,
@@ -528,7 +528,7 @@ func TestConvertDockerInspect(t *testing.T) {
},
{
name: "container_sameportdiffip",
expect: []codersdk.WorkspaceAgentDevcontainer{
expect: []codersdk.WorkspaceAgentContainer{
{
CreatedAt: time.Date(2025, 3, 11, 17, 56, 34, 842164541, time.UTC),
ID: "a",
@@ -537,7 +537,7 @@ func TestConvertDockerInspect(t *testing.T) {
Labels: map[string]string{},
Running: true,
Status: "running",
Ports: []codersdk.WorkspaceAgentDevcontainerPort{
Ports: []codersdk.WorkspaceAgentContainerPort{
{
Network: "tcp",
Port: 8001,
@@ -555,7 +555,7 @@ func TestConvertDockerInspect(t *testing.T) {
Labels: map[string]string{},
Running: true,
Status: "running",
Ports: []codersdk.WorkspaceAgentDevcontainerPort{
Ports: []codersdk.WorkspaceAgentContainerPort{
{
Network: "tcp",
Port: 8001,
@@ -570,7 +570,7 @@ func TestConvertDockerInspect(t *testing.T) {
},
{
name: "container_volume",
expect: []codersdk.WorkspaceAgentDevcontainer{
expect: []codersdk.WorkspaceAgentContainer{
{
CreatedAt: time.Date(2025, 3, 11, 17, 59, 42, 39484134, time.UTC),
ID: "b3688d98c007f53402a55e46d803f2f3ba9181d8e3f71a2eb19b392cf0377b4e",
@@ -579,7 +579,7 @@ func TestConvertDockerInspect(t *testing.T) {
Labels: map[string]string{},
Running: true,
Status: "running",
Ports: []codersdk.WorkspaceAgentDevcontainerPort{},
Ports: []codersdk.WorkspaceAgentContainerPort{},
Volumes: map[string]string{
"/var/lib/docker/volumes/testvol/_data": "/testvol",
},
@@ -588,7 +588,7 @@ func TestConvertDockerInspect(t *testing.T) {
},
{
name: "devcontainer_simple",
expect: []codersdk.WorkspaceAgentDevcontainer{
expect: []codersdk.WorkspaceAgentContainer{
{
CreatedAt: time.Date(2025, 3, 11, 17, 1, 5, 751972661, time.UTC),
ID: "0b2a9fcf5727d9562943ce47d445019f4520e37a2aa7c6d9346d01af4f4f9aed",
@@ -600,14 +600,14 @@ func TestConvertDockerInspect(t *testing.T) {
},
Running: true,
Status: "running",
Ports: []codersdk.WorkspaceAgentDevcontainerPort{},
Ports: []codersdk.WorkspaceAgentContainerPort{},
Volumes: map[string]string{},
},
},
},
{
name: "devcontainer_forwardport",
expect: []codersdk.WorkspaceAgentDevcontainer{
expect: []codersdk.WorkspaceAgentContainer{
{
CreatedAt: time.Date(2025, 3, 11, 17, 3, 55, 22053072, time.UTC),
ID: "4a16af2293fb75dc827a6949a3905dd57ea28cc008823218ce24fab1cb66c067",
@@ -619,14 +619,14 @@ func TestConvertDockerInspect(t *testing.T) {
},
Running: true,
Status: "running",
Ports: []codersdk.WorkspaceAgentDevcontainerPort{},
Ports: []codersdk.WorkspaceAgentContainerPort{},
Volumes: map[string]string{},
},
},
},
{
name: "devcontainer_appport",
expect: []codersdk.WorkspaceAgentDevcontainer{
expect: []codersdk.WorkspaceAgentContainer{
{
CreatedAt: time.Date(2025, 3, 11, 17, 2, 42, 613747761, time.UTC),
ID: "52d23691f4b954d083f117358ea763e20f69af584e1c08f479c5752629ee0be3",
@@ -638,7 +638,7 @@ func TestConvertDockerInspect(t *testing.T) {
},
Running: true,
Status: "running",
Ports: []codersdk.WorkspaceAgentDevcontainerPort{
Ports: []codersdk.WorkspaceAgentContainerPort{
{
Network: "tcp",
Port: 8080,
@@ -809,9 +809,9 @@ func TestDockerEnvInfoer(t *testing.T) {
}
}
func fakeContainer(t *testing.T, mut ...func(*codersdk.WorkspaceAgentDevcontainer)) codersdk.WorkspaceAgentDevcontainer {
func fakeContainer(t *testing.T, mut ...func(*codersdk.WorkspaceAgentContainer)) codersdk.WorkspaceAgentContainer {
t.Helper()
ct := codersdk.WorkspaceAgentDevcontainer{
ct := codersdk.WorkspaceAgentContainer{
CreatedAt: time.Now().UTC(),
ID: uuid.New().String(),
FriendlyName: testutil.GetRandomName(t),
@@ -820,7 +820,7 @@ func fakeContainer(t *testing.T, mut ...func(*codersdk.WorkspaceAgentDevcontaine
testutil.GetRandomName(t): testutil.GetRandomName(t),
},
Running: true,
Ports: []codersdk.WorkspaceAgentDevcontainerPort{
Ports: []codersdk.WorkspaceAgentContainerPort{
{
Network: "tcp",
Port: testutil.RandomPortNoListen(t),