Documentation ¶
Index ¶
- Constants
- Variables
- func CertificatesExist() bool
- func EnsureDBInstalled(ctx context.Context) (err error)
- func FindAllSteampipePostgresInstances(ctx context.Context) ([]*psutils.Process, error)
- func GetCountOfThirdPartyClients(ctx context.Context) (i int, e error)
- func GetLocalClient(ctx context.Context, invoker constants.Invoker) (db_common.Client, error)
- func IsInstalled() bool
- func RefreshConnectionAndSearchPaths(ctx context.Context, invoker constants.Invoker) error
- func RemoveAllCertificates() error
- func RemoveServerCertificate() error
- func ServiceExecutableRelativeLocation() string
- func ShutdownService(ctx context.Context, invoker constants.Invoker)
- func TrimLogs()
- func ValidateRootCertificate() bool
- func ValidateServerCertificate() bool
- type CreateDbOptions
- type LocalDbClient
- func (c *LocalDbClient) AcquireSession(ctx context.Context) *db_common.AcquireSessionResult
- func (c *LocalDbClient) CacheClear(ctx context.Context) error
- func (c *LocalDbClient) CacheOff(ctx context.Context) error
- func (c *LocalDbClient) CacheOn(ctx context.Context) error
- func (c *LocalDbClient) Close(ctx context.Context) error
- func (c *LocalDbClient) ConnectionMap() *steampipeconfig.ConnectionDataMap
- func (c *LocalDbClient) ContructSearchPath(ctx context.Context, requiredSearchPath, searchPathPrefix []string) ([]string, error)
- func (c *LocalDbClient) Execute(ctx context.Context, query string) (res *queryresult.Result, err error)
- func (c *LocalDbClient) ExecuteInSession(ctx context.Context, session *db_common.DatabaseSession, query string, ...) (res *queryresult.Result, err error)
- func (c *LocalDbClient) ExecuteSync(ctx context.Context, query string) (*queryresult.SyncQueryResult, error)
- func (c *LocalDbClient) ExecuteSyncInSession(ctx context.Context, session *db_common.DatabaseSession, query string) (*queryresult.SyncQueryResult, error)
- func (c *LocalDbClient) ForeignSchemaNames() []string
- func (c *LocalDbClient) GetCurrentSearchPath(ctx context.Context) ([]string, error)
- func (c *LocalDbClient) GetCurrentSearchPathForDbConnection(ctx context.Context, databaseConnection *sql.Conn) ([]string, error)
- func (c *LocalDbClient) GetDefaultSearchPath(ctx context.Context) []string
- func (c *LocalDbClient) GetRequiredSessionSearchPath() []string
- func (c *LocalDbClient) GetSchemaFromDB(ctx context.Context) (*schema.Metadata, error)
- func (c *LocalDbClient) LoadForeignSchemaNames(ctx context.Context) error
- func (c *LocalDbClient) RefreshConnectionAndSearchPaths(ctx context.Context) *steampipeconfig.RefreshConnectionResult
- func (c *LocalDbClient) RefreshSessions(ctx context.Context) *db_common.AcquireSessionResult
- func (c *LocalDbClient) SetEnsureSessionDataFunc(f db_common.EnsureSessionStateCallback)
- func (c *LocalDbClient) SetRequiredSessionSearchPath(ctx context.Context) error
- type Passwords
- type RunningDBInstanceInfo
- type StartDbStatus
- type StartListenType
- type StartResult
- type StopStatus
Constants ¶
const CertIssuer = "steampipe.io"
const RunningDBStructVersion = 20220411
Variables ¶
Functions ¶
func CertificatesExist ¶
func CertificatesExist() bool
CertificatesExist checks if the root and server certificate and key files exist
func EnsureDBInstalled ¶
EnsureDBInstalled makes sure that the embedded pg database is installed and running
func GetCountOfThirdPartyClients ¶
GetCountOfThirdPartyClients returns the number of connections to the service from other thrid party applications
func GetLocalClient ¶
GetLocalClient starts service if needed and creates a new LocalDbClient
func IsInstalled ¶
func IsInstalled() bool
IsInstalled checks and reports whether the embedded database is installed and setup
func RefreshConnectionAndSearchPaths ¶
RefreshConnectionAndSearchPaths creates a local client and refreshed connections and search paths
func RemoveAllCertificates ¶
func RemoveAllCertificates() error
RemoveAllCertificates removes root and server certificates so that they can be regenerated
func RemoveServerCertificate ¶
func RemoveServerCertificate() error
RemoveServerCertificate removes the server certificate certificates so it will be regenerated
func ServiceExecutableRelativeLocation ¶
func ServiceExecutableRelativeLocation() string
func ShutdownService ¶
ShutdownService stops the database instance if the given 'invoker' matches
func ValidateRootCertificate ¶
func ValidateRootCertificate() bool
ValidateRootCertificate checks the root certificate exists, is not expired and has correct Subject
func ValidateServerCertificate ¶
func ValidateServerCertificate() bool
ValidateServerCertificate checks the server certificate exists, is not expired and has correct issuer
Types ¶
type CreateDbOptions ¶
type CreateDbOptions struct {
DatabaseName, Username string
}
type LocalDbClient ¶
type LocalDbClient struct {
// contains filtered or unexported fields
}
LocalDbClient wraps over DbClient
func NewLocalClient ¶
NewLocalClient verifies that the local database instance is running and returns a Client to interact with it
func (*LocalDbClient) AcquireSession ¶
func (c *LocalDbClient) AcquireSession(ctx context.Context) *db_common.AcquireSessionResult
func (*LocalDbClient) CacheClear ¶
func (c *LocalDbClient) CacheClear(ctx context.Context) error
CacheClear implements Client
func (*LocalDbClient) CacheOff ¶
func (c *LocalDbClient) CacheOff(ctx context.Context) error
CacheOff implements Client
func (*LocalDbClient) CacheOn ¶
func (c *LocalDbClient) CacheOn(ctx context.Context) error
CacheOn implements Client
func (*LocalDbClient) Close ¶
func (c *LocalDbClient) Close(ctx context.Context) error
Close implements Client close the connection to the database and shuts down the backend
func (*LocalDbClient) ConnectionMap ¶
func (c *LocalDbClient) ConnectionMap() *steampipeconfig.ConnectionDataMap
func (*LocalDbClient) ContructSearchPath ¶
func (*LocalDbClient) Execute ¶
func (c *LocalDbClient) Execute(ctx context.Context, query string) (res *queryresult.Result, err error)
Execute implements Client
func (*LocalDbClient) ExecuteInSession ¶
func (c *LocalDbClient) ExecuteInSession(ctx context.Context, session *db_common.DatabaseSession, query string, onComplete func()) (res *queryresult.Result, err error)
ExecuteInSession implements Client
func (*LocalDbClient) ExecuteSync ¶
func (c *LocalDbClient) ExecuteSync(ctx context.Context, query string) (*queryresult.SyncQueryResult, error)
ExecuteSync implements Client
func (*LocalDbClient) ExecuteSyncInSession ¶
func (c *LocalDbClient) ExecuteSyncInSession(ctx context.Context, session *db_common.DatabaseSession, query string) (*queryresult.SyncQueryResult, error)
ExecuteSyncInSession implements Client
func (*LocalDbClient) ForeignSchemaNames ¶
func (c *LocalDbClient) ForeignSchemaNames() []string
ForeignSchemaNames implements Client
func (*LocalDbClient) GetCurrentSearchPath ¶
func (c *LocalDbClient) GetCurrentSearchPath(ctx context.Context) ([]string, error)
GetCurrentSearchPath implements Client
func (*LocalDbClient) GetCurrentSearchPathForDbConnection ¶
func (*LocalDbClient) GetDefaultSearchPath ¶
func (c *LocalDbClient) GetDefaultSearchPath(ctx context.Context) []string
GetDefaultSearchPath builds default search path from the connection schemas, book-ended with public and internal
func (*LocalDbClient) GetRequiredSessionSearchPath ¶
func (c *LocalDbClient) GetRequiredSessionSearchPath() []string
GetRequiredSessionSearchPath implements Client
func (*LocalDbClient) GetSchemaFromDB ¶
GetSchemaFromDB for LocalDBClient optimises the schema extraction by extracting schema information for connections backed by distinct plugins and then fanning back out.
func (*LocalDbClient) LoadForeignSchemaNames ¶
func (c *LocalDbClient) LoadForeignSchemaNames(ctx context.Context) error
LoadForeignSchemaNames implements Client
func (*LocalDbClient) RefreshConnectionAndSearchPaths ¶
func (c *LocalDbClient) RefreshConnectionAndSearchPaths(ctx context.Context) *steampipeconfig.RefreshConnectionResult
func (*LocalDbClient) RefreshSessions ¶
func (c *LocalDbClient) RefreshSessions(ctx context.Context) *db_common.AcquireSessionResult
func (*LocalDbClient) SetEnsureSessionDataFunc ¶
func (c *LocalDbClient) SetEnsureSessionDataFunc(f db_common.EnsureSessionStateCallback)
SetEnsureSessionDataFunc implements Client
func (*LocalDbClient) SetRequiredSessionSearchPath ¶
func (c *LocalDbClient) SetRequiredSessionSearchPath(ctx context.Context) error
SetRequiredSessionSearchPath implements Client
type RunningDBInstanceInfo ¶
type RunningDBInstanceInfo struct { Pid int `json:"pid"` Port int `json:"port"` Listen []string `json:"listen"` ListenType StartListenType `json:"listen_type"` Invoker constants.Invoker `json:"invoker"` Password string `json:"password"` User string `json:"user"` Database string `json:"database"` StructVersion int64 `json:"struct_version"` }
RunningDBInstanceInfo contains data about the running process and it's credentials
func GetState ¶
func GetState() (*RunningDBInstanceInfo, error)
GetState checks that the database instance is running and returns its details
func (*RunningDBInstanceInfo) Save ¶
func (r *RunningDBInstanceInfo) Save() error
func (*RunningDBInstanceInfo) String ¶
func (r *RunningDBInstanceInfo) String() string
type StartDbStatus ¶
type StartDbStatus int
StartDbStatus is a pseudoEnum for outcomes of starting the db
const ( // start from 10 to prevent confusion with int zero-value ServiceStarted StartDbStatus = iota + 1 ServiceAlreadyRunning ServiceFailedToStart )
type StartListenType ¶
type StartListenType string
StartListenType is a pseudoEnum of network binding for postgres
const ( // ListenTypeNetwork - bind to all known interfaces ListenTypeNetwork StartListenType = "network" // ListenTypeLocal - bind to localhost only ListenTypeLocal = "local" )
func (StartListenType) IsValid ¶
func (slt StartListenType) IsValid() error
IsValid is a validator for StartListenType known values
type StartResult ¶
type StartResult struct { Error error Status StartDbStatus DbState *RunningDBInstanceInfo PluginManagerState *pluginmanager.PluginManagerState }
StartResult is a pseudoEnum for outcomes of StartNewInstance
func StartServices ¶
func StartServices(ctx context.Context, port int, listen StartListenType, invoker constants.Invoker) (startResult *StartResult)
func (*StartResult) SetError ¶
func (r *StartResult) SetError(err error) *StartResult
type StopStatus ¶
type StopStatus int
StopStatus is a pseudoEnum for service stop result
const ( // start from 1 to prevent confusion with int zero-value ServiceStopped StopStatus = iota + 1 ServiceNotRunning ServiceStopFailed ServiceStopTimedOut )
func StopServices ¶
func StopServices(ctx context.Context, force bool, invoker constants.Invoker) (status StopStatus, e error)
StopServices searches for and stops the running instance. Does nothing if an instance was not found