MCPcopy Create free account
hub / github.com/containerd/nerdctl / psAction

Function psAction

cmd/nerdctl/compose/compose_ps.go:76–233  ·  view source on GitHub ↗
(cmd *cobra.Command, args []string)

Source from the content-addressed store, hash-verified

74}
75
76func psAction(cmd *cobra.Command, args []string) error {
77 globalOptions, err := helpers.ProcessRootCmdFlags(cmd)
78 if err != nil {
79 return err
80 }
81 format, err := cmd.Flags().GetString("format")
82 if err != nil {
83 return err
84 }
85 if format != "json" && format != "table" {
86 return fmt.Errorf("unsupported format %s, supported formats are: [table|json]", format)
87 }
88 status, err := cmd.Flags().GetStringArray("status")
89 if err != nil {
90 return err
91 }
92 quiet, err := cmd.Flags().GetBool("quiet")
93 if err != nil {
94 return err
95 }
96 displayServices, err := cmd.Flags().GetBool("services")
97 if err != nil {
98 return err
99 }
100 filter, err := cmd.Flags().GetString("filter")
101 if err != nil {
102 return err
103 }
104 if filter != "" {
105 splited := strings.SplitN(filter, "=", 2)
106 if len(splited) != 2 {
107 return fmt.Errorf("invalid argument \"%s\" for \"-f, --filter\": bad format of filter (expected name=value)", filter)
108 }
109 // currently only the 'status' filter is supported
110 if splited[0] != "status" {
111 return fmt.Errorf("invalid filter '%s'", splited[0])
112 }
113 status = append(status, splited[1])
114 }
115
116 all, err := cmd.Flags().GetBool("all")
117 if err != nil {
118 return err
119 }
120
121 client, ctx, cancel, err := clientutil.NewClient(cmd.Context(), globalOptions.Namespace, globalOptions.Address)
122 if err != nil {
123 return err
124 }
125 defer cancel()
126 options, err := getComposeOptions(cmd, globalOptions.DebugFull, globalOptions.Experimental)
127 if err != nil {
128 return err
129 }
130 c, err := compose.New(client, globalOptions, options, cmd.OutOrStdout(), cmd.ErrOrStderr())
131 if err != nil {
132 return err
133 }

Callers

nothing calls this directly

Calls 13

ProcessRootCmdFlagsFunction · 0.92
NewClientFunction · 0.92
NewFunction · 0.92
ContainerStatusFunction · 0.92
ToJSONFunction · 0.92
getComposeOptionsFunction · 0.85
statusForFilterFunction · 0.85
ServiceNamesMethod · 0.80
ContainersMethod · 0.80
FlushMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…