MCPcopy
hub / github.com/docker/compose / runList

Function runList

cmd/compose/list.go:86–127  ·  view source on GitHub ↗
(ctx context.Context, dockerCli command.Cli, backendOptions *BackendOptions, lsOpts lsOptions)

Source from the content-addressed store, hash-verified

84}
85
86func runList(ctx context.Context, dockerCli command.Cli, backendOptions *BackendOptions, lsOpts lsOptions) error {
87 filters := lsOpts.Filter.Value()
88
89 for filter := range filters {
90 if _, ok := acceptedListFilters[filter]; !ok {
91 return errors.New("invalid filter '" + filter + "'")
92 }
93 }
94
95 backend, err := compose.NewComposeService(dockerCli, backendOptions.Options...)
96 if err != nil {
97 return err
98 }
99 stackList, err := backend.List(ctx, api.ListOptions{All: lsOpts.All})
100 if err != nil {
101 return err
102 }
103
104 if len(filters) > 0 {
105 var filtered []api.Stack
106 for _, s := range stackList {
107 if match(filters, "name", s.Name) {
108 filtered = append(filtered, s)
109 }
110 }
111 stackList = filtered
112 }
113
114 if lsOpts.Quiet {
115 for _, s := range stackList {
116 _, _ = fmt.Fprintln(dockerCli.Out(), s.Name)
117 }
118 return nil
119 }
120
121 view := viewFromStackList(stackList)
122 return formatter.Print(view, lsOpts.Format, dockerCli.Out(), func(w io.Writer) {
123 for _, stack := range view {
124 _, _ = fmt.Fprintf(w, "%s\t%s\t%s\n", stack.Name, stack.Status, stack.ConfigFiles)
125 }
126 }, "NAME", "STATUS", "CONFIG FILES")
127}
128
129type stackView struct {
130 Name string

Callers 1

listCommandFunction · 0.85

Calls 6

NewComposeServiceFunction · 0.92
PrintFunction · 0.92
matchFunction · 0.85
viewFromStackListFunction · 0.85
ListMethod · 0.65
OutMethod · 0.45

Tested by

no test coverage detected