list.go 741 B

1234567891011121314151617181920212223242526272829303132333435
  1. package backend
  2. import (
  3. "context"
  4. "fmt"
  5. "github.com/compose-spec/compose-go/types"
  6. "github.com/docker/ecs-plugin/pkg/compose"
  7. )
  8. func (b *Backend) Ps(ctx context.Context, project *types.Project) ([]compose.ServiceStatus, error) {
  9. cluster := b.Cluster
  10. if cluster == "" {
  11. cluster = project.Name
  12. }
  13. status, err := b.api.DescribeServices(ctx, cluster, project.Name)
  14. if err != nil {
  15. return nil, err
  16. }
  17. for i, state := range status {
  18. s, err := project.GetService(state.Name)
  19. if err != nil {
  20. return nil, err
  21. }
  22. ports := []string{}
  23. for _, p := range s.Ports {
  24. ports = append(ports, fmt.Sprintf("*:%d->%d/%s", p.Published, p.Target, p.Protocol))
  25. }
  26. state.Ports = ports
  27. status[i] = state
  28. }
  29. return status, nil
  30. }