Skip to content

Commit 9960736

Browse files
committed
fix: improve ListSubsystemForStack filtering
1 parent b8d5fa1 commit 9960736

1 file changed

Lines changed: 22 additions & 27 deletions

File tree

core/subSystem.go

Lines changed: 22 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import (
77
"log"
88
"os"
99
"path/filepath"
10-
"slices"
1110
"strings"
1211

1312
"github.com/google/uuid"
@@ -310,48 +309,44 @@ func ListSubsystemForStack(stackName string) ([]*SubSystem, error) {
310309
return nil, err
311310
}
312311

313-
rootlessContainers, err := dbox.ListContainers(false)
314-
312+
containers, err := dbox.ListContainers(false)
315313
if err != nil {
316314
return nil, err
317315
}
318316

319-
// Listing rootful containers requires root privileges
320-
// should not be used unless better solution is found
321-
322-
// rootfullContainers, err := dbox.ListContainers(true)
323-
324-
// if err != nil {
325-
// return nil, err
326-
// }
327-
rootfullContainers := []dboxContainer{}
317+
subsystems := []*SubSystem{}
318+
for _, container := range containers {
319+
containerManager, ok := container.Labels["manager"]
320+
if !ok || containerManager != "apx" {
321+
continue
322+
}
328323

329-
stack, err := LoadStack(stackName)
330-
if err != nil {
331-
log.Printf("Error loading stack %s: %s", stackName, err)
332-
return nil, err
333-
}
324+
containerName, ok := container.Labels["name"]
325+
if !ok {
326+
continue
327+
}
334328

335-
containers := slices.Concat(rootlessContainers, rootfullContainers)
329+
containerStack, ok := container.Labels["stack"]
330+
if !ok || containerStack != stackName {
331+
continue
332+
}
336333

337-
subsystems := []*SubSystem{}
338-
for _, container := range containers {
339-
if _, ok := container.Labels["name"]; !ok {
334+
stack, err := LoadStack(containerStack)
335+
if err != nil {
336+
log.Printf("Error loading stack %s: %s", containerStack, err)
340337
continue
341338
}
342339

343-
internalName := genInternalName(container.Labels["name"])
340+
internalName := genInternalName(containerName)
344341
subsystem := &SubSystem{
345342
InternalName: internalName,
346-
Name: container.Labels["name"],
343+
Name: containerName,
347344
Stack: stack,
348345
Status: container.Status,
349-
ExportedPrograms: findExported(internalName, container.Labels["name"]),
346+
ExportedPrograms: findExported(internalName, containerName),
350347
}
351348

352-
if subsystem.Stack.Name == stack.Name {
353-
subsystems = append(subsystems, subsystem)
354-
}
349+
subsystems = append(subsystems, subsystem)
355350
}
356351

357352
return subsystems, nil

0 commit comments

Comments
 (0)