in pkg/discovery/discovery.go [86:117]
func (d *discovery) refresh(ctx context.Context) ([]*targetgroup.Group, error) {
level.Info(d.logger).Log("msg", "Inside refresh")
sess, err := session.NewSessionWithOptions(session.Options{
Config: *d.aws,
})
if err != nil {
return nil, errors.Wrap(err, "could not create aws session")
}
cloudmap := servicediscovery.New(sess)
tgs := []*targetgroup.Group{}
d.newSources = make(map[targetSourceSpec]bool)
lni := &servicediscovery.ListNamespacesInput{}
if err = cloudmap.ListNamespacesPagesWithContext(ctx, lni, func(lno *servicediscovery.ListNamespacesOutput, lastPage bool) bool {
for _, ns := range lno.Namespaces {
if d.cloudmapNamespace != nil && aws.StringValue(ns.Name) != *d.cloudmapNamespace {
continue
}
tgs = append(tgs, d.processNamespace(ctx, cloudmap, ns)...)
}
return false
}); err != nil {
return nil, errors.Wrap(err, "could not list namespaces")
}
tgs = append(tgs, d.cleanDeletedTargets()...)
level.Info(d.logger).Log("msg", "Refresh done", "target-group-count", len(tgs))
return tgs, nil
}