Procházet zdrojové kódy

Add support for services on ps command

Signed-off-by: Ulysses Souza <[email protected]>
Ulysses Souza před 4 roky
rodič
revize
36d6c40e52
3 změnil soubory, kde provedl 7 přidání a 5 odebrání
  1. 2 1
      api/compose/api.go
  2. 4 3
      cli/cmd/compose/ps.go
  3. 1 1
      local/compose/ps.go

+ 2 - 1
api/compose/api.go

@@ -268,7 +268,8 @@ type ListOptions struct {
 
 // PsOptions group options of the Ps API
 type PsOptions struct {
-	All bool
+	All      bool
+	Services []string
 }
 
 // PortPublisher hold status about published port

+ 4 - 3
cli/cmd/compose/ps.go

@@ -47,7 +47,7 @@ func psCommand(p *projectOptions, backend compose.Service) *cobra.Command {
 		Use:   "ps",
 		Short: "List containers",
 		RunE: Adapt(func(ctx context.Context, args []string) error {
-			return runPs(ctx, backend, opts)
+			return runPs(ctx, backend, args, opts)
 		}),
 	}
 	psCmd.Flags().StringVar(&opts.Format, "format", "pretty", "Format the output. Values: [pretty | json].")
@@ -57,13 +57,14 @@ func psCommand(p *projectOptions, backend compose.Service) *cobra.Command {
 	return psCmd
 }
 
-func runPs(ctx context.Context, backend compose.Service, opts psOptions) error {
+func runPs(ctx context.Context, backend compose.Service, services []string, opts psOptions) error {
 	projectName, err := opts.toProjectName()
 	if err != nil {
 		return err
 	}
 	containers, err := backend.Ps(ctx, projectName, compose.PsOptions{
-		All: opts.All,
+		All:      opts.All,
+		Services: services,
 	})
 	if err != nil {
 		return err

+ 1 - 1
local/compose/ps.go

@@ -26,7 +26,7 @@ import (
 )
 
 func (s *composeService) Ps(ctx context.Context, projectName string, options compose.PsOptions) ([]compose.ContainerSummary, error) {
-	containers, err := s.getContainers(ctx, projectName, oneOffInclude, options.All)
+	containers, err := s.getContainers(ctx, projectName, oneOffInclude, options.All, options.Services...)
 	if err != nil {
 		return nil, err
 	}