code: func RunServices(dockerCli *KubeCli, opts options.Services) error {
  	filters := opts.Filter.Value()
  	if err := filters.Validate(supportedServicesFilters); err != nil {
  		return err
  	}
  	client, err := dockerCli.composeClient()
  	if err != nil {
  		return nil
  	}
  	stacks, err := client.Stacks(false)
  	if err != nil {
  		return nil
  	}
  	stackName := opts.Namespace
  	_, err = stacks.Get(stackName)
  	if apierrs.IsNotFound(err) {
  		return fmt.Errorf("nothing found in stack: %s", stackName)
  	}
  	if err != nil {
  		return err
  	}
  
  	labelSelector := generateLabelSelector(filters, stackName)
  	replicasList, daemonsList, servicesList, err := getResourcesForServiceList(dockerCli, filters, labelSelector)
  	if err != nil {
  		return err
  	}
  
  	// Convert Replicas sets and kubernetes services to swarm services and formatter information
  	services, info, err := convertToServices(replicasList, daemonsList, servicesList)
  	if err != nil {
  		return err
  	}
  	services = filterServicesByName(services, filters.Get("name"), stackName)
  
  	if opts.Quiet {
  		info = map[string]service.ListInfo{}
  	}
  
  	format := opts.Format
  	if len(format) == 0 {
  		if len(dockerCli.ConfigFile().ServicesFormat) > 0 && !opts.Quiet {
  			format = dockerCli.ConfigFile().ServicesFormat
  		} else {
  			format = formatter.TableFormatKey
  		}
  	}
  
  	servicesCtx := formatter.Context{
  		Output: dockerCli.Out(),
  		Format: service.NewListFormat(format, opts.Quiet),
  	}
  	return service.ListFormatWrite(servicesCtx, services, info)
  }
docs: // RunServices is the kubernetes implementation of docker stack services