func ParseConfig()

in lib/config.go [90:116]


func ParseConfig(jsonConfig, jsonOverrides []byte, version int, provider ConfigProvider) (*Config, error) {
	var combined combinedconfigSpec
	if err := json.Unmarshal(jsonConfig, &combined); err != nil {
		glog.Errorf("Failed to parse JSON: %s", err)
		return nil, err
	}
	var spec configSpec
	if version == 4 {
		spec = combined.V4
	} else if version == 6 {
		spec = combined.V6
	}

	var overrides map[string]Override
	if len(jsonOverrides) == 0 {
		overrides = make(map[string]Override)
	} else {
		var err error
		overrides, err = parseOverrides(jsonOverrides, version)
		if err != nil {
			glog.Errorf("Failed to load overrides: %s", err)
			return nil, err
		}
	}
	glog.Infof("Loaded %d override(s)", len(overrides))
	return newConfig(&spec, overrides, provider)
}