INNER CODE UNIT · Go

NewConfigFromFiles

ozontech/file.d · cfg/config.go:105

func NewConfigFromFiles(paths []string) *Config {
	mergedConfig := make(map[any]any, len(paths))

	for _, path := range paths {
		logger.Infof("reading config %q", path)
		yamlContents, err := os.ReadFile(path)
		if err != nil {
			logger.Fatalf("can't read config file %q: %s", path, err)
		}
		var currentConfig map[any]any
		if err := yaml.Unmarshal(yamlContents, &currentConfig); err != nil {
			logger.Fatalf("can't parse config file yaml %q: %s", path, err)
		}

		mergedConfig = mergeYAMLs(mergedConfig, currentConfig)
	}

	mergedYAML, err := yaml.Marshal(mergedConfig)

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…