Skip to content
22 changes: 14 additions & 8 deletions pkg/compose/containers.go
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,20 @@ func (s *composeService) getContainers(ctx context.Context, project string, oneO
return containers, nil
}

// getContainersByService returns all non-oneoff containers for the project, grouped by service name.
func (s *composeService) getContainersByService(ctx context.Context, projectName string) (map[string]Containers, error) {
all, err := s.getContainers(ctx, projectName, oneOffExclude, true)
if err != nil {
return nil, err
}
result := map[string]Containers{}
for _, c := range all.filter(isNotOneOff) {
svc := c.Labels[api.ServiceLabel]
result[svc] = append(result[svc], c)
}
return result, nil
}

func getDefaultFilters(projectName string, oneOff oneOff, selectedServices ...string) client.Filters {
f := projectFilter(projectName)
if len(selectedServices) == 1 {
Expand Down Expand Up @@ -158,14 +172,6 @@ func (containers Containers) filter(predicates ...containerPredicate) Containers
return filtered
}

func (containers Containers) names() []string {
var names []string
for _, c := range containers {
names = append(names, getCanonicalContainerName(c))
}
return names
}

func (containers Containers) forEach(fn func(container.Summary)) {
for _, c := range containers {
fn(c)
Expand Down
Loading
Loading