MCPcopy Create free account
hub / github.com/docker/compose / containersToStacks

Function containersToStacks

pkg/compose/ls.go:45–66  ·  view source on GitHub ↗
(containers []container.Summary)

Source from the content-addressed store, hash-verified

43}
44
45func containersToStacks(containers []container.Summary) ([]api.Stack, error) {
46 containersByLabel, keys, err := groupContainerByLabel(containers, api.ProjectLabel)
47 if err != nil {
48 return nil, err
49 }
50 var projects []api.Stack
51 for _, project := range keys {
52 configFiles, err := combinedConfigFiles(containersByLabel[project])
53 if err != nil {
54 logrus.Warn(err.Error())
55 configFiles = "N/A"
56 }
57
58 projects = append(projects, api.Stack{
59 ID: project,
60 Name: project,
61 Status: combinedStatus(containerToState(containersByLabel[project])),
62 ConfigFiles: configFiles,
63 })
64 }
65 return projects, nil
66}
67
68func combinedConfigFiles(containers []container.Summary) (string, error) {
69 configFiles := []string{}

Callers 2

TestContainersToStacksFunction · 0.85
ListMethod · 0.85

Calls 5

groupContainerByLabelFunction · 0.85
combinedConfigFilesFunction · 0.85
combinedStatusFunction · 0.85
containerToStateFunction · 0.85
ErrorMethod · 0.80

Tested by 1

TestContainersToStacksFunction · 0.68