(ctx context.Context, services ...string)
| 27 | ) |
| 28 | |
| 29 | func (c *Composer) Containers(ctx context.Context, services ...string) ([]containerd.Container, error) { |
| 30 | projectLabel := fmt.Sprintf("labels.%q==%s", labels.ComposeProject, c.project.Name) |
| 31 | filters := []string{} |
| 32 | for _, service := range services { |
| 33 | filters = append(filters, fmt.Sprintf("%s,labels.%q==%s", projectLabel, labels.ComposeService, service)) |
| 34 | } |
| 35 | if len(services) == 0 { |
| 36 | filters = append(filters, projectLabel) |
| 37 | } |
| 38 | log.G(ctx).Debugf("filters: %v", filters) |
| 39 | containers, err := c.client.Containers(ctx, filters...) |
| 40 | if err != nil { |
| 41 | return nil, err |
| 42 | } |
| 43 | return containers, nil |
| 44 | } |
| 45 | |
| 46 | func (c *Composer) containerExists(ctx context.Context, name, service string) (bool, error) { |
| 47 | // get list of containers for service |
no outgoing calls
no test coverage detected