// MergeConfigOverrides merges current config with overrides loaded from other sources func MergeConfigOverrides(config *confer.Config, configParts map[string]interface{}) error { keys := make([]string, len(configParts)) i := 0 for key := range configParts { keys[i] = key i++ } sort.Strings(keys) for _, key := range keys { log.Printf("Merging overrides from key %s...", key) err := config.MergeAttributes(configParts[key]) if err != nil { return fmt.Errorf("unable to merge data for key %s (data %#v): %s", key, configParts[key], err) } } return nil }