Browse Source

provisioning: turn relative symlinked path into absolut paths

bergquist 7 years ago
parent
commit
d089b5e05d
1 changed files with 9 additions and 0 deletions
  1. 9 0
      pkg/services/provisioning/dashboards/file_reader.go

+ 9 - 0
pkg/services/provisioning/dashboards/file_reader.go

@@ -48,16 +48,25 @@ func NewDashboardFileReader(cfg *DashboardsAsConfig, log log.Logger) (*fileReade
 	}
 
 	copy := path
+
+	// get absolut path of config file
 	path, err := filepath.Abs(path)
 	if err != nil {
 		log.Error("Could not create absolute path ", "path", path)
 	}
 
+	// follow the symlink to get the real path
 	path, err = filepath.EvalSymlinks(path)
 	if err != nil {
 		log.Error("Failed to read content of symlinked path: %s", path)
 	}
 
+	// get the absolut path in case the symlink is relative
+	path, err = filepath.Abs(path)
+	if err != nil {
+		log.Error("Could not create absolute path ", "path", path)
+	}
+
 	if path == "" {
 		path = copy
 		log.Info("falling back to original path due to EvalSymlink/Abs failure")