mirror of
https://github.com/turbot/steampipe.git
synced 2025-12-19 09:58:53 -05:00
140 lines
4.0 KiB
Go
140 lines
4.0 KiB
Go
package filepaths
|
|
|
|
import (
|
|
"os"
|
|
"path/filepath"
|
|
|
|
"github.com/turbot/steampipe/v2/pkg/constants"
|
|
"github.com/turbot/steampipe/v2/pkg/db/platform"
|
|
"github.com/turbot/steampipe/v2/pkg/error_helpers"
|
|
)
|
|
|
|
func ServiceExecutableRelativeLocation() string {
|
|
return filepath.Join("db", constants.DatabaseVersion, "postgres", "bin", "postgres")
|
|
}
|
|
|
|
func DatabaseInstanceDir() string {
|
|
loc := filepath.Join(EnsureDatabaseDir(), constants.DatabaseVersion)
|
|
if _, err := os.Stat(loc); os.IsNotExist(err) {
|
|
err = os.MkdirAll(loc, 0755)
|
|
error_helpers.FailOnErrorWithMessage(err, "could not create db version directory")
|
|
}
|
|
return loc
|
|
}
|
|
|
|
func GetDatabaseLocation() string {
|
|
loc := filepath.Join(DatabaseInstanceDir(), "postgres")
|
|
if _, err := os.Stat(loc); os.IsNotExist(err) {
|
|
err = os.MkdirAll(loc, 0755)
|
|
error_helpers.FailOnErrorWithMessage(err, "could not create postgres installation directory")
|
|
}
|
|
return loc
|
|
}
|
|
|
|
func GetDataLocation() string {
|
|
loc := filepath.Join(DatabaseInstanceDir(), "data")
|
|
if _, err := os.Stat(loc); os.IsNotExist(err) {
|
|
err = os.MkdirAll(loc, 0755)
|
|
error_helpers.FailOnErrorWithMessage(err, "could not create data directory")
|
|
}
|
|
return loc
|
|
}
|
|
|
|
// tar file where the dump file will be stored, so that it can be later restored after connections
|
|
// refresh in a new installation
|
|
func DatabaseBackupFilePath() string {
|
|
return filepath.Join(EnsureDatabaseDir(), "backup.bk")
|
|
}
|
|
|
|
func GetDatabaseLibPath() string {
|
|
return filepath.Join(GetDatabaseLocation(), "lib")
|
|
}
|
|
|
|
func GetRootCertLocation() string {
|
|
return filepath.Join(GetDataLocation(), constants.RootCert)
|
|
}
|
|
|
|
func GetRootCertKeyLocation() string {
|
|
return filepath.Join(GetDataLocation(), constants.RootCertKey)
|
|
}
|
|
|
|
func GetServerCertLocation() string {
|
|
return filepath.Join(GetDataLocation(), constants.ServerCert)
|
|
}
|
|
|
|
func GetServerCertKeyLocation() string {
|
|
return filepath.Join(GetDataLocation(), constants.ServerCertKey)
|
|
}
|
|
|
|
func GetInitDbBinaryExecutablePath() string {
|
|
return filepath.Join(GetDatabaseLocation(), "bin", platform.Paths.InitDbExecutable)
|
|
}
|
|
|
|
func GetPostgresBinaryExecutablePath() string {
|
|
return filepath.Join(GetDatabaseLocation(), "bin", platform.Paths.PostgresExecutable)
|
|
}
|
|
|
|
func PgDumpBinaryExecutablePath() string {
|
|
return filepath.Join(GetDatabaseLocation(), "bin", platform.Paths.PgDumpExecutable)
|
|
}
|
|
|
|
func PgRestoreBinaryExecutablePath() string {
|
|
return filepath.Join(GetDatabaseLocation(), "bin", platform.Paths.PgRestoreExecutable)
|
|
}
|
|
|
|
func GetDBSignatureLocation() string {
|
|
loc := filepath.Join(GetDatabaseLocation(), "signature")
|
|
return loc
|
|
}
|
|
|
|
func getDatabaseLibDirectory() string {
|
|
return filepath.Join(GetDatabaseLocation(), "lib")
|
|
}
|
|
|
|
func GetFDWBinaryDir() string {
|
|
return filepath.Join(getDatabaseLibDirectory(), "postgresql")
|
|
}
|
|
|
|
func GetFDWBinaryLocation() string {
|
|
return filepath.Join(getDatabaseLibDirectory(), "postgresql", "steampipe_postgres_fdw.so")
|
|
}
|
|
|
|
func GetFDWSQLAndControlDir() string {
|
|
return filepath.Join(GetDatabaseLocation(), "share", "postgresql", "extension")
|
|
}
|
|
|
|
func GetFDWSQLAndControlLocation() (string, string) {
|
|
base := filepath.Join(GetDatabaseLocation(), "share", "postgresql", "extension")
|
|
sqlLocation := filepath.Join(base, "steampipe_postgres_fdw--1.0.sql")
|
|
controlLocation := filepath.Join(base, "steampipe_postgres_fdw.control")
|
|
return sqlLocation, controlLocation
|
|
}
|
|
|
|
func GetPostmasterPidLocation() string {
|
|
return filepath.Join(GetDataLocation(), "postmaster.pid")
|
|
}
|
|
|
|
func GetPgHbaConfLocation() string {
|
|
return filepath.Join(GetDataLocation(), "pg_hba.conf")
|
|
}
|
|
|
|
func GetPostgresqlConfLocation() string {
|
|
return filepath.Join(GetDataLocation(), "postgresql.conf")
|
|
}
|
|
|
|
func GetPostgresqlConfDLocation() string {
|
|
return filepath.Join(GetDataLocation(), "postgresql.conf.d")
|
|
}
|
|
|
|
func GetSteampipeConfLocation() string {
|
|
return filepath.Join(GetDataLocation(), "steampipe.conf")
|
|
}
|
|
|
|
func GetLegacyPasswordFileLocation() string {
|
|
return filepath.Join(GetDatabaseLocation(), ".passwd")
|
|
}
|
|
|
|
func GetPasswordFileLocation() string {
|
|
return filepath.Join(EnsureInternalDir(), ".passwd")
|
|
}
|