in pkg/aws/cloudmap.go [42:64]
func GetPrometheusScrapeConfig(selectedNamespaces []string) *string {
client := &CloudMapClient{service: servicediscovery.New(sharedSession)}
sdNamespaces, _ := client.getNamespaces()
sdServices, _ := client.getServices(selectedNamespaces, sdNamespaces)
scrapeConfigurations := make([]*InstanceScrapeConfig, 0)
for _, service := range sdServices {
serviceTags := client.getServiceTags(service)
sdInstances, _ := client.getInstances(service)
for _, instance := range sdInstances {
scrapeConfig, _ := client.getInstanceScrapeConfiguration(instance, serviceTags)
scrapeConfigurations = append(scrapeConfigurations, scrapeConfig)
}
}
jsonBytes, err := json.MarshalIndent(scrapeConfigurations, "", " ")
if err != nil {
log.Println(err)
return aws.String("")
}
jsonString := string(jsonBytes)
return &jsonString
}