func()

in pkg/discovery/discovery.go [148:178]


func (d *discovery) processNamespace(ctx context.Context, cloudmap *servicediscovery.ServiceDiscovery, ns *servicediscovery.NamespaceSummary) []*targetgroup.Group {
	tgs := []*targetgroup.Group{}
	lsi := &servicediscovery.ListServicesInput{
		Filters: []*servicediscovery.ServiceFilter{
			&servicediscovery.ServiceFilter{
				Name: aws.String(servicediscovery.ServiceFilterNameNamespaceId),
				Values: []*string{
					ns.Id,
				},
			},
		},
	}

	if err := cloudmap.ListServicesPagesWithContext(ctx, lsi, func(lso *servicediscovery.ListServicesOutput, lastPage bool) bool {
		for _, s := range lso.Services {
			level.Info(d.logger).Log("msg", "Processing", "service", s.Name, "namespace", ns.Name)
			tg := d.processService(ctx, cloudmap, ns, s)
			if tg != nil {
				tgs = append(tgs, tg)
			}
			level.Info(d.logger).Log("msg", "Processed", "service", s.Name, "namespace", ns.Name)
		}
		return false
	}); err != nil {
		level.Error(d.logger).Log("msg", "Error listing services", "namespace", ns.Name)
		d.failedNamespaces[aws.StringValue(ns.Name)] = true
	}

	level.Info(d.logger).Log("namespace", ns.Name, "target-group-count", len(tgs))
	return tgs
}