in pkg/operator/endpoint_status_builder.go [144:173]
func parseScrapePool(pool string) (scrapePool, error) {
split := strings.Split(pool, "/")
switch split[0] {
case "kubelet":
if len(split) != 2 {
return scrapePool{}, fmt.Errorf("invalid kubelet scrape pool format %q", pool)
}
return scrapePool{
key: split[0],
group: split[1],
}, nil
case "PodMonitoring":
if len(split) != 4 {
return scrapePool{}, fmt.Errorf("invalid PodMonitoring scrape pool format %q", pool)
}
return getNamespacedScrapePool(pool, split), nil
case "ClusterPodMonitoring":
if len(split) != 3 {
return scrapePool{}, fmt.Errorf("invalid ClusterPodMonitoring scrape pool format %q", pool)
}
return getClusterScopedScrapePool(pool, split), nil
case "ClusterNodeMonitoring":
if len(split) != 3 && len(split) != 4 {
return scrapePool{}, fmt.Errorf("invalid ClusterNodeMonitoring scrape pool format %q", pool)
}
return getClusterScopedScrapePool(pool, split), nil
default:
return scrapePool{}, fmt.Errorf("unknown scrape kind %q", split[0])
}
}