Follow directory symlinks in auto deploying manifests (#9288)

Signed-off-by: Robert Rose <robert.rose@mailbox.org>
This commit is contained in:
Robert Rose 2024-04-30 17:41:07 +02:00
parent fe7d114c6a
commit 1aac62dd08
1 changed files with 20 additions and 0 deletions

View File

@ -119,6 +119,26 @@ func (w *watcher) listFilesIn(base string, force bool) error {
if err != nil {
return err
}
// Descend into symlinked directories, however, only top-level links are followed
if info.Mode()&os.ModeSymlink != 0 {
linkInfo, err := os.Stat(path)
if err != nil {
return err
}
if linkInfo.IsDir() {
evalPath, err := filepath.EvalSymlinks(path)
if err != nil {
return err
}
filepath.Walk(evalPath, func(path string, info os.FileInfo, err error) error {
if err != nil {
return err
}
files[path] = info
return nil
})
}
}
files[path] = info
return nil
}); err != nil {