diff --git a/pkg/tsdb/grafana-postgresql-datasource/tlsmanager.go b/pkg/tsdb/grafana-postgresql-datasource/tlsmanager.go index 35b3d77a1bb..953e983e5e6 100644 --- a/pkg/tsdb/grafana-postgresql-datasource/tlsmanager.go +++ b/pkg/tsdb/grafana-postgresql-datasource/tlsmanager.go @@ -10,7 +10,6 @@ import ( "time" "github.com/grafana/grafana-plugin-sdk-go/backend/log" - "github.com/grafana/grafana/pkg/infra/fs" "github.com/grafana/grafana/pkg/tsdb/sqleng" ) @@ -132,7 +131,7 @@ func writeCertFile(logger log.Logger, fileContent string, generatedFilePath stri } logger.Debug("Deleting cert file since no content is provided", "path", generatedFilePath) - exists, err := fs.Exists(generatedFilePath) + exists, err := fileExists(generatedFilePath) if err != nil { return err } @@ -181,7 +180,7 @@ func (m *tlsManager) writeCertFiles(dsInfo sqleng.DataSourceInfo, tlsconfig *tls } // Write certification directory and files - exists, err := fs.Exists(workDir) + exists, err := fileExists(workDir) if err != nil { return err } @@ -212,7 +211,7 @@ func validateCertFilePaths(rootCert, clientCert, clientKey string) error { if fpath == "" { continue } - exists, err := fs.Exists(fpath) + exists, err := fileExists(fpath) if err != nil { return err } @@ -222,3 +221,16 @@ func validateCertFilePaths(rootCert, clientCert, clientKey string) error { } return nil } + +// Exists determines whether a file/directory exists or not. +func fileExists(fpath string) (bool, error) { + _, err := os.Stat(fpath) + if err != nil { + if !os.IsNotExist(err) { + return false, err + } + return false, nil + } + + return true, nil +}