common.go 826 B

123456789101112131415161718192021222324252627282930313233343536
  1. package stack
  2. import (
  3. "golang.org/x/net/context"
  4. "github.com/docker/docker/api/types"
  5. "github.com/docker/docker/api/types/filters"
  6. "github.com/docker/docker/api/types/swarm"
  7. "github.com/docker/docker/client"
  8. )
  9. func getStackFilter(namespace string) filters.Args {
  10. filter := filters.NewArgs()
  11. filter.Add("label", labelNamespace+"="+namespace)
  12. return filter
  13. }
  14. func getServices(
  15. ctx context.Context,
  16. apiclient client.APIClient,
  17. namespace string,
  18. ) ([]swarm.Service, error) {
  19. return apiclient.ServiceList(
  20. ctx,
  21. types.ServiceListOptions{Filters: getStackFilter(namespace)})
  22. }
  23. func getStackNetworks(
  24. ctx context.Context,
  25. apiclient client.APIClient,
  26. namespace string,
  27. ) ([]types.NetworkResource, error) {
  28. return apiclient.NetworkList(
  29. ctx,
  30. types.NetworkListOptions{Filters: getStackFilter(namespace)})
  31. }