123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- package stack
- import (
- "golang.org/x/net/context"
- "github.com/docker/docker/api/types"
- "github.com/docker/docker/api/types/filters"
- "github.com/docker/docker/api/types/swarm"
- "github.com/docker/docker/cli/compose/convert"
- "github.com/docker/docker/client"
- "github.com/docker/docker/opts"
- )
- func getStackFilter(namespace string) filters.Args {
- filter := filters.NewArgs()
- filter.Add("label", convert.LabelNamespace+"="+namespace)
- return filter
- }
- func getServiceFilter(namespace string) filters.Args {
- filter := getStackFilter(namespace)
- filter.Add("runtime", string(swarm.RuntimeContainer))
- return filter
- }
- func getStackFilterFromOpt(namespace string, opt opts.FilterOpt) filters.Args {
- filter := opt.Value()
- filter.Add("label", convert.LabelNamespace+"="+namespace)
- return filter
- }
- func getAllStacksFilter() filters.Args {
- filter := filters.NewArgs()
- filter.Add("label", convert.LabelNamespace)
- return filter
- }
- func getServices(
- ctx context.Context,
- apiclient client.APIClient,
- namespace string,
- ) ([]swarm.Service, error) {
- return apiclient.ServiceList(
- ctx,
- types.ServiceListOptions{Filters: getServiceFilter(namespace)})
- }
- func getStackNetworks(
- ctx context.Context,
- apiclient client.APIClient,
- namespace string,
- ) ([]types.NetworkResource, error) {
- return apiclient.NetworkList(
- ctx,
- types.NetworkListOptions{Filters: getStackFilter(namespace)})
- }
- func getStackSecrets(
- ctx context.Context,
- apiclient client.APIClient,
- namespace string,
- ) ([]swarm.Secret, error) {
- return apiclient.SecretList(
- ctx,
- types.SecretListOptions{Filters: getStackFilter(namespace)})
- }
|