func()

in otelcollector/shared/configmap/mp/tomlparser-default-scrape-settings.go [33:78]


func (fcl *FilesystemConfigLoader) ParseConfigMapForDefaultScrapeSettings() (map[string]string, error) {
	config := make(map[string]string)
	// Set default values
	config["kubelet"] = "true"
	config["coredns"] = "false"
	config["cadvisor"] = "true"
	config["kubeproxy"] = "false"
	config["apiserver"] = "false"
	config["kubestate"] = "true"
	config["nodeexporter"] = "true"
	config["prometheuscollectorhealth"] = "false"
	config["windowsexporter"] = "false"
	config["windowskubeproxy"] = "false"
	config["kappiebasic"] = "true"
	config["networkobservabilityRetina"] = "true"
	config["networkobservabilityHubble"] = "true"
	config["networkobservabilityCilium"] = "true"
	config["noDefaultsEnabled"] = "false"
	config["acstor-capacity-provisioner"] = "true"
	config["acstor-metrics-exporter"] = "true"

	if _, err := os.Stat(fcl.ConfigMapMountPath); os.IsNotExist(err) {
		fmt.Println("configmap for default scrape settings not mounted, using defaults")
		return config, nil
	}

	content, err := os.ReadFile(string(fcl.ConfigMapMountPath))
	if err != nil {
		return config, fmt.Errorf("using default values, error reading config map file: %s", err)
	}

	lines := strings.Split(string(content), "\n")
	for _, line := range lines {
		parts := strings.SplitN(line, "=", 2)
		if len(parts) == 2 {
			key := strings.TrimSpace(parts[0])
			value := strings.TrimSpace(parts[1])
			if _, ok := config[key]; ok {
				config[key] = value
			}
		}
	}

	fmt.Println("using configmap for default scrape settings...")
	return config, nil
}