package infra

// ConfigMerge merges two string maps, with override taking precedence over base.
// Keys present in both maps take the value from override.
// Keys present only in base are kept. Keys present only in override are added.
// Neither input map is mutated — a new map is returned.
func ConfigMerge(base, override map[string]string) map[string]string {
	result := make(map[string]string, len(base)+len(override))
	for k, v := range base {
		result[k] = v
	}
	for k, v := range override {
		result[k] = v
	}
	return result
}
