INNER CODE UNIT · Go
watchConfigurations
bank-vaults/bank-vaults · cmd/bank-vaults/configure.go:183
func watchConfigurations(parser multiparser.Parser, vaultConfigFiles []string, configurations chan<- *configFile) error {
watcher, err := fsnotify.NewWatcher()
if err != nil {
return fmt.Errorf("cannot create watcher: %w", err)
}
defer func() {
if err := watcher.Close(); err != nil {
slog.Error(fmt.Sprintf("error closing watcher: %s", err.Error()))
}
}()
// Map used to match on kubernetes ..data to files inside of directory
configFileDirs := make(map[string][]string)
for _, vaultConfigFile := range vaultConfigFiles {
// we have to watch the entire directory to pick up renames/atomic saves in a cross-platform way
configFile := vaultConfigFile
configDir, _ := filepath.Split(configFile)