constants

package
v0.20.6-rc.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 9, 2023 License: AGPL-3.0 Imports: 6 Imported by: 2

Documentation

Overview

Package constants contains constant values that are used throughout Steampipe

Index

Constants

View Source
const (
	AppName = "steampipe"
	FdwName = "steampipe-postgres-fdw"
)
View Source
const (
	ArgHelp                 = "help"
	ArgVersion              = "version"
	ArgForce                = "force"
	ArgAll                  = "all"
	ArgTiming               = "timing"
	ArgOn                   = "on"
	ArgOff                  = "off"
	ArgClear                = "clear"
	ArgDatabasePort         = "database-port"
	ArgDatabaseQueryTimeout = "query-timeout"
	ArgListenAddress        = "database-listen"
	ArgServicePassword      = "database-password"
	ArgServiceShowPassword  = "show-password"
	ArgDashboard            = "dashboard"
	ArgDashboardListen      = "dashboard-listen"
	ArgDashboardPort        = "dashboard-port"
	ArgForeground           = "foreground"
	ArgInvoker              = "invoker"
	ArgUpdateCheck          = "update-check"
	ArgTelemetry            = "telemetry"
	ArgInstallDir           = "install-dir"
	ArgWorkspaceChDir       = "workspace-chdir"
	ArgWorkspaceDatabase    = "workspace-database"
	ArgSchemaComments       = "schema-comments"
	ArgCloudHost            = "cloud-host"
	ArgCloudToken           = "cloud-token"
	ArgSearchPath           = "search-path"
	ArgSearchPathPrefix     = "search-path-prefix"
	ArgWatch                = "watch"
	ArgTheme                = "theme"
	ArgProgress             = "progress"
	ArgExport               = "export"
	ArgMaxParallel          = "max-parallel"
	ArgLogLevel             = "log-level"
	ArgDryRun               = "dry-run"
	ArgWhere                = "where"
	ArgTag                  = "tag"
	ArgVariable             = "var"
	ArgVarFile              = "var-file"
	ArgConnectionString     = "connection-string"
	ArgCheckDisplayWidth    = "check-display-width"
	ArgPrune                = "prune"
	ArgModInstall           = "mod-install"
	ArgServiceMode          = "service-mode"
	ArgBrowser              = "browser"
	ArgInput                = "input"
	ArgDashboardInput       = "dashboard-input"
	ArgMaxCacheSizeMb       = "max-cache-size-mb"
	ArgCacheTtl             = "cache-ttl"
	ArgClientCacheEnabled   = "client-cache-enabled"
	ArgServiceCacheEnabled  = "service-cache-enabled"
	ArgCacheMaxTtl          = "cache-max-ttl"
	ArgIntrospection        = "introspection"
	ArgShare                = "share"
	ArgSnapshot             = "snapshot"
	ArgSnapshotTag          = "snapshot-tag"
	ArgWorkspaceProfile     = "workspace"
	ArgModLocation          = "mod-location"
	ArgSnapshotLocation     = "snapshot-location"
	ArgSnapshotTitle        = "snapshot-title"
	ArgDatabaseStartTimeout = "database-start-timeout"
)

Argument name constants

View Source
const (
	CmdNameQuery     = "query"
	CmdNameCheck     = "check"
	CmdNameDashboard = "dashboard"
)
View Source
const (
	ConfigKeyInteractive            = "interactive"
	ConfigKeyActiveCommand          = "cmd"
	ConfigKeyActiveCommandArgs      = "cmd_args"
	ConfigInteractiveVariables      = "interactive_var"
	ConfigKeyIsTerminalTTY          = "is_terminal"
	ConfigKeyServerSearchPath       = "server-search-path"
	ConfigKeyServerSearchPathPrefix = "server-search-path-prefix"
)

viper config keys

View Source
const (
	// ControlQueryCancellationTimeoutSecs is maximum number of seconds to wait for control queries to finish cancelling
	ControlQueryCancellationTimeoutSecs = 30
	// MaxControlRunAttempts determines how many time should a cotnrol run should be retried
	// in the case of a GRPC connectivity error
	MaxControlRunAttempts = 2
)
View Source
const (
	ControlOk    = "ok"
	ControlAlarm = "alarm"
	ControlSkip  = "skip"
	ControlInfo  = "info"
	ControlError = "error"
)
View Source
const (
	DashboardServerDefaultPort    = 9194
	DashboardAssetsImageRefFormat = "us-docker.pkg.dev/steampipe/steampipe/assets:%s"
)
View Source
const (
	// MaxParallelClientInits is the number of clients to initialize in parallel
	// if we start initializing all clients together, it leads to bad performance on all
	MaxParallelClientInits = 3

	// MaxBackups is the maximum number of backups that will be retained
	MaxBackups = 100
)

Client constants

View Source
const (
	DatabaseDefaultPort              = 9193
	DatabaseDefaultCheckQueryTimeout = 240
	DatabaseSuperUser                = "root"
	DatabaseUser                     = "steampipe"
	DatabaseName                     = "steampipe"
	DatabaseUsersRole                = "steampipe_users"
	DefaultMaxConnections            = 10
)
View Source
const (
	DatabaseVersion = "14.2.0"
	FdwVersion      = "1.7.2"

	// PostgresImageRef is the OCI Image ref for the database binaries
	PostgresImageRef    = "us-docker.pkg.dev/steampipe/steampipe/db:14.2.0"
	PostgresImageDigest = "sha256:a75637209f1bc2fa9885216f7972dfa0d82010a25d3cbfc07baceba8d16f4a93"

	FdwImageRef       = "us-docker.pkg.dev/steampipe/steampipe/fdw:" + FdwVersion
	FdwBinaryFileName = "steampipe_postgres_fdw.so"
)

constants for installing db and fdw images

View Source
const (

	// legacy schema names
	// these are schema names which were used previously
	// but are not relevant anymore and need to be dropped
	LegacyInternalSchema = "internal"

	// InternalSchema is the schema container for all steampipe helper functions, and connection state table
	// also used to send commands to the FDW
	InternalSchema = "steampipe_internal"

	// ConnectionStateTable is the table used to store steampipe connection state
	ConnectionStateTable             = "steampipe_connection_state"
	ConnectionStatePending           = "pending"
	ConnectionStatePendingIncomplete = "incomplete"
	ConnectionStateReady             = "ready"
	ConnectionStateUpdating          = "updating"
	ConnectionStateDeleting          = "deleting"
	ConnectionStateDisabled          = "disabled"
	ConnectionStateError             = "error"

	// foreign tables in internal schema
	ForeignTableScanMetadata              = "steampipe_scan_metadata"
	ForeignTableSettings                  = "steampipe_settings"
	ForeignTableSettingsKeyColumn         = "name"
	ForeignTableSettingsValueColumn       = "value"
	ForeignTableSettingsCacheKey          = "cache"
	ForeignTableSettingsCacheTtlKey       = "cache_ttl"
	ForeignTableSettingsCacheClearTimeKey = "cache_clear_time"

	FunctionCacheSet    = "meta_cache"
	FunctionCacheSetTtl = "meta_cache_ttl"

	// legacy
	LegacyCommandSchema = "steampipe_command"

	LegacyCommandTableCache                = "cache"
	LegacyCommandTableCacheOperationColumn = "operation"
	LegacyCommandCacheOn                   = "cache_on"
	LegacyCommandCacheOff                  = "cache_off"
	LegacyCommandCacheClear                = "cache_clear"

	LegacyCommandTableScanMetadata = "scan_metadata"
)

schema names

View Source
const (
	IntrospectionTableQuery              = "steampipe_query"
	IntrospectionTableControl            = "steampipe_control"
	IntrospectionTableBenchmark          = "steampipe_benchmark"
	IntrospectionTableMod                = "steampipe_mod"
	IntrospectionTableDashboard          = "steampipe_dashboard"
	IntrospectionTableDashboardContainer = "steampipe_dashboard_container"
	IntrospectionTableDashboardCard      = "steampipe_dashboard_card"
	IntrospectionTableDashboardChart     = "steampipe_dashboard_chart"
	IntrospectionTableDashboardFlow      = "steampipe_dashboard_flow"
	IntrospectionTableDashboardGraph     = "steampipe_dashboard_graph"
	IntrospectionTableDashboardHierarchy = "steampipe_dashboard_hierarchy"
	IntrospectionTableDashboardImage     = "steampipe_dashboard_image"
	IntrospectionTableDashboardInput     = "steampipe_dashboard_input"
	IntrospectionTableDashboardTable     = "steampipe_dashboard_table"
	IntrospectionTableDashboardText      = "steampipe_dashboard_text"
	IntrospectionTableVariable           = "steampipe_variable"
	IntrospectionTableReference          = "steampipe_reference"
)

introspection table names

View Source
const (
	// InvokerService is set when invoked by `service start`
	InvokerService Invoker = "service"
	// InvokerQuery is set when invoked by query command
	InvokerQuery = "query"
	// InvokerCheck is set when invoked by check command
	InvokerCheck = "check"
	// InvokerPlugin is set when invoked by a plugin command
	InvokerPlugin = "plugin"
	// InvokerDashboard is set when invoked by dashboard command
	InvokerDashboard = "dashboard"
	// InvokerConnectionWatcher is set when invoked by the connection watcher process
	InvokerConnectionWatcher = "connection-watcher"
)
View Source
const (
	// SpinnerShowTimeout is the duration after which spinner should be shown
	SpinnerShowTimeout = 1 * time.Second

	MaxColumnWidth = 1024

	// NullString is the string which is displayed for null column values
	NullString = "<null>"
)

Display constants

View Source
const (
	EnvUpdateCheck     = "STEAMPIPE_UPDATE_CHECK"
	EnvInstallDir      = "STEAMPIPE_INSTALL_DIR"
	EnvInstallDatabase = "STEAMPIPE_INITDB_DATABASE_NAME"
	EnvServicePassword = "STEAMPIPE_DATABASE_PASSWORD"
	EnvMaxParallel     = "STEAMPIPE_MAX_PARALLEL"

	EnvDatabaseStartTimeout = "STEAMPIPE_DATABASE_START_TIMEOUT"

	EnvSnapshotLocation  = "STEAMPIPE_SNAPSHOT_LOCATION"
	EnvWorkspaceDatabase = "STEAMPIPE_WORKSPACE_DATABASE"
	EnvWorkspaceProfile  = "STEAMPIPE_WORKSPACE"
	EnvCloudHost         = "STEAMPIPE_CLOUD_HOST"
	EnvCloudToken        = "STEAMPIPE_CLOUD_TOKEN"

	EnvCheckDisplayWidth = "STEAMPIPE_CHECK_DISPLAY_WIDTH"
	EnvCacheEnabled      = "STEAMPIPE_CACHE"
	EnvCacheTTL          = "STEAMPIPE_CACHE_TTL"
	EnvCacheMaxTTL       = "STEAMPIPE_CACHE_MAX_TTL"
	EnvCacheMaxSize      = "STEAMPIPE_CACHE_MAX_SIZE_MB"
	EnvQueryTimeout      = "STEAMPIPE_QUERY_TIMEOUT"

	EnvConnectionWatcher        = "STEAMPIPE_CONNECTION_WATCHER"
	EnvWorkspaceChDir           = "STEAMPIPE_WORKSPACE_CHDIR"
	EnvModLocation              = "STEAMPIPE_MOD_LOCATION"
	EnvTelemetry                = "STEAMPIPE_TELEMETRY"
	EnvIntrospection            = "STEAMPIPE_INTROSPECTION"
	EnvWorkspaceProfileLocation = "STEAMPIPE_WORKSPACE_PROFILES_LOCATION"
	EnvDiagnostics              = "STEAMPIPE_DIAGNOSTICS"

	// EnvInputVarPrefix is the prefix for environment variables that represent values for input variables.
	EnvInputVarPrefix = "SP_VAR_"
)

Environment Variables

View Source
const (
	ExitCodeSuccessful                  = 0
	ExitCodeControlsAlarm               = 1   // check - no runtime errors, 1 or more control alarms, no control errors
	ExitCodeControlsError               = 2   // check - no runtime errors, 1 or more control errors
	ExitCodePluginLoadingError          = 11  // plugin - loading error
	ExitCodePluginListFailure           = 12  // plugin - listing failed
	ExitCodePluginNotFound              = 13  // plugin - not found
	ExitCodePluginInstallFailure        = 14  // plugin - install failed
	ExitCodeSnapshotCreationFailed      = 21  // snapshot - creation failed
	ExitCodeSnapshotUploadFailed        = 22  // snapshot - upload failed
	ExitCodeServiceSetupFailure         = 31  // service - setup failed
	ExitCodeServiceStartupFailure       = 32  // service - start failed
	ExitCodeServiceStopFailure          = 33  // service - stop failed
	ExitCodeQueryExecutionFailed        = 41  // query - 1 or more queries failed - change in behavior(previously the exitCode used to be the number of queries that failed)
	ExitCodeLoginCloudConnectionFailed  = 51  // login - connecting to cloud failed
	ExitCodeModInitFailed               = 61  // mod - init failed
	ExitCodeModInstallFailed            = 62  // mod - install failed
	ExitCodeInvalidExecutionEnvironment = 249 // common - when steampipe is run in an unsupported environment
	ExitCodeInitializationFailed        = 250 // common - initialization failed
	ExitCodeBindPortUnavailable         = 251 // common(service/dashboard) - port binding failed
	ExitCodeNoModFile                   = 252 // common - no mod file
	ExitCodeFileSystemAccessFailure     = 253 // common - file system access failed
	ExitCodeInsufficientOrWrongInputs   = 254 // common - runtime error(insufficient or wrong input)
	ExitCodeUnknownErrorPanic           = 255 // common - runtime error(unknown panic)
)
View Source
const (
	PluginExtension        = ".plugin"
	ConfigExtension        = ".spc"
	SqlExtension           = ".sql"
	MarkdownExtension      = ".md"
	ModDataExtension       = ".sp"
	VariablesExtension     = ".spvars"
	AutoVariablesExtension = ".auto.spvars"
	JsonExtension          = ".json"
	CsvExtension           = ".csv"
	TextExtension          = ".txt"
	SnapshotExtension      = ".sps"
	TokenExtension         = ".sptt"
)
View Source
const (
	HistoryFile = "history.json" // File to store historical data
	HistorySize = 500            // Number of historical records to store
)

Constants for History

View Source
const (
	IntrospectionNone    = "none"
	IntrospectionInfo    = "info"
	IntrospectionControl = "control"
)

constants for introspection config flag

View Source
const (
	CmdTableList        = ".tables"             // List all tables
	CmdOutput           = ".output"             // Set output mode
	CmdTiming           = ".timing"             // Toggle query timer
	CmdHeaders          = ".header"             // Toggle headers output
	CmdSeparator        = ".separator"          // Set the column separator
	CmdExit             = ".exit"               // Exit the interactive prompt
	CmdQuit             = ".quit"               // Alias for .exit
	CmdInspect          = ".inspect"            // inspect
	CmdConnections      = ".connections"        // list all connections
	CmdMulti            = ".multi"              // toggle multi line query
	CmdClear            = ".clear"              // clear the console
	CmdHelp             = ".help"               // list all meta commands
	CmdSearchPath       = ".search_path"        // Set or show search-path
	CmdSearchPathPrefix = ".search_path_prefix" // set search path prefix
	CmdCache            = ".cache"              // cache control
	CmdCacheTtl         = ".cache_ttl"          // set cache ttl
	CmdAutoComplete     = ".autocomplete"       // enable or disable auto complete
)
View Source
const (
	OutputFormatCSV           = "csv"
	OutputFormatJSON          = "json"
	OutputFormatTable         = "table"
	OutputFormatLine          = "line"
	OutputFormatNone          = "none"
	OutputFormatText          = "text"
	OutputFormatBrief         = "brief"
	OutputFormatSnapshot      = "snapshot"
	OutputFormatSnapshotShort = "sps"
)
View Source
const (
	ArchAMD64 = "amd64"
	ArchARM64 = "arm64"
	OSLinux   = "linux"
	OSDarwin  = "darwin"
)
View Source
const (
	InstallMessagePluginAlreadyInstalled       = "Already installed"
	InstallMessagePluginLatestAlreadyInstalled = "Latest already installed"
	InstallMessagePluginNotInstalled           = "Not installed"
	InstallMessagePluginNotFound               = "Not found"
	ConnectionErrorPluginFailedToStart         = "plugin failed to start"
	ConnectionErrorPluginNotInstalled          = "plugin not installed"
)
View Source
const (
	ServerCertKey = "server.key"
	RootCertKey   = "root.key"
	ServerCert    = "server.crt"
	RootCert      = "root.crt"
	SslConfDir    = "/etc/ssl"
)

constants for ssl key and certificate

View Source
const (
	TelemetryNone = "none"
	TelemetryInfo = "info"
)

constants for telemetry config flag

View Source
const (
	DefaultCloudHost         = "cloud.steampipe.io"
	DefaultWorkspaceDatabase = "local"
)
View Source
const DefaultConnectionConfigContent = `` /* 1129-byte string literal not displayed */

DefaultConnectionConfigContent is the content of the default connection config file, default.spc, that is created if it does not exist

View Source
const DefaultMaxCacheSizeMb = 16384
View Source
const (
	PostgresNotificationChannel = "steampipe_notification"
)
View Source
const PostgresqlConfContent = `` /* 810-byte string literal not displayed */
View Source
const ReservedConnectionNamePrefix = "steampipe_"
View Source
const SteampipeConfContent = `` /* 1552-byte string literal not displayed */

Variables

View Source
var (
	// OptLeftArrowASCIICode ::
	OptLeftArrowASCIICode = []byte{0x1b, 0x62}
	// OptRightArrowASCIICode ::
	OptRightArrowASCIICode = []byte{0x1b, 0x66}
	// AltLeftArrowASCIICode ::
	AltLeftArrowASCIICode = []byte{0x1b, 0x1b, 0x5B, 0x44}
	// AltRightArrowASCIICode ::
	AltRightArrowASCIICode = []byte{0x1b, 0x1b, 0x5B, 0x43}
)
View Source
var (
	ColoredErr  = color.RedString("Error")
	ColoredWarn = color.YellowString("Warning")
)
View Source
var (
	DashboardServiceStartTimeout = 30 * time.Second
	DBStartTimeout               = 30 * time.Second
	DBConnectionRetryBackoff     = 200 * time.Millisecond
	DBRecoveryTimeout            = 24 * time.Hour
	DBRecoveryRetryBackoff       = 200 * time.Millisecond
	ServicePingInterval          = 50 * time.Millisecond
)
View Source
var ArgMultiLine = ArgFromMetaquery(CmdMulti)
View Source
var Black = aurora.Black
View Source
var Blink = aurora.Blink
View Source
var Blue = aurora.Blue
View Source
var Bold = aurora.Bold
View Source
var BrightBlack = aurora.BrightBlack
View Source
var BrightBlue = aurora.BrightBlue
View Source
var BrightCyan = aurora.BrightCyan
View Source
var BrightGreen = aurora.BrightGreen
View Source
var BrightMagenta = aurora.BrightMagenta
View Source
var BrightRed = aurora.BrightRed
View Source
var BrightWhite = aurora.BrightWhite
View Source
var BrightYellow = aurora.BrightYellow
View Source
var Colors = map[string]func(arg interface{}) aurora.Value{
	"bold":       Bold,
	"italic":     Italic,
	"underline":  Underline,
	"slow-blink": SlowBlink,

	"black":   Black,
	"red":     Red,
	"green":   Green,
	"yellow":  Yellow,
	"blue":    Blue,
	"magenta": Magenta,
	"cyan":    Cyan,
	"white":   White,

	"bold-black":   BoldBlack,
	"bold-red":     BoldRed,
	"bold-green":   BoldGreen,
	"bold-yellow":  BoldYellow,
	"bold-blue":    BoldBlue,
	"bold-magenta": BoldMagenta,
	"bold-cyan":    BoldCyan,
	"bold-white":   BoldWhite,

	"bright-black":   BrightBlack,
	"bright-red":     BrightRed,
	"bright-green":   BrightGreen,
	"bright-yellow":  BrightYellow,
	"bright-blue":    BrightBlue,
	"bright-magenta": BrightMagenta,
	"bright-cyan":    BrightCyan,
	"bright-white":   BrightWhite,

	"bold-bright-black":   BoldBrightBlack,
	"bold-bright-red":     BoldBrightRed,
	"bold-bright-green":   BoldBrightGreen,
	"bold-bright-yellow":  BoldBrightYellow,
	"bold-bright-blue":    BoldBrightBlue,
	"bold-bright-magenta": BoldBrightMagenta,
	"bold-bright-cyan":    BoldBrightCyan,
	"bold-bright-white":   BoldBrightWhite,

	"gray1": Gray1,
	"gray2": Gray2,
	"gray3": Gray3,
	"gray4": Gray4,
	"gray5": Gray5,
}

Colors is a map of string to aurora colour value

View Source
var ConnectionConfigExtensions = append(YamlExtensions, ConfigExtension, JsonExtension)

ConnectionStates is a handy array of all states

View Source
var Cyan = aurora.Cyan
View Source
var DatabaseListenAddresses = []string{"localhost", "127.0.0.1"}

DatabaseListenAddresses is an arrays is listen addresses which Steampipe accepts

View Source
var Green = aurora.Green
View Source
var Italic = aurora.Italic
View Source
var Magenta = aurora.Magenta
View Source
var MinimalPgHbaContent string = `
hostssl all root samehost trust
host all root samehost trust
`
View Source
var PgHbaTemplate string = `` /* 1099-byte string literal not displayed */

PgHbaTemplate is to be formatted with two variables:

  • databaseName
  • username

Example:

fmt.Sprintf(template, datName, username)
View Source
var Red = aurora.Red
View Source
var ReservedConnectionNames = []string{
	"public",
}
View Source
var SlowBlink = aurora.SlowBlink
View Source
var TelemetryLevels = []string{TelemetryNone, TelemetryInfo}
View Source
var Underline = aurora.Underline
View Source
var White = aurora.White
View Source
var YamlExtensions = []string{".yml", ".yaml"}
View Source
var Yellow = aurora.Yellow

Functions

func ArgFromMetaquery

func ArgFromMetaquery(cmd string) string

ArgFromMetaquery converts a metaquery of form '.header' into the config argument used to set the mode, i.e. 'header'

func BoldBlack

func BoldBlack(arg interface{}) aurora.Value

func BoldBlue

func BoldBlue(arg interface{}) aurora.Value

func BoldBrightBlack

func BoldBrightBlack(arg interface{}) aurora.Value

func BoldBrightBlue

func BoldBrightBlue(arg interface{}) aurora.Value

func BoldBrightCyan

func BoldBrightCyan(arg interface{}) aurora.Value

func BoldBrightGreen

func BoldBrightGreen(arg interface{}) aurora.Value

func BoldBrightMagenta

func BoldBrightMagenta(arg interface{}) aurora.Value

func BoldBrightRed

func BoldBrightRed(arg interface{}) aurora.Value

func BoldBrightWhite

func BoldBrightWhite(arg interface{}) aurora.Value

func BoldBrightYellow

func BoldBrightYellow(arg interface{}) aurora.Value

func BoldCyan

func BoldCyan(arg interface{}) aurora.Value

func BoldGreen

func BoldGreen(arg interface{}) aurora.Value

func BoldMagenta

func BoldMagenta(arg interface{}) aurora.Value

func BoldRed

func BoldRed(arg interface{}) aurora.Value

func BoldWhite

func BoldWhite(arg interface{}) aurora.Value

func BoldYellow

func BoldYellow(arg interface{}) aurora.Value

func BoolToEnableDisable

func BoolToEnableDisable(val bool) string

BoolToEnableDisable converts a boolean value onto the string "enable" or "disable"

func BoolToOnOff

func BoolToOnOff(val bool) string

BoolToOnOff converts a boolean value onto the string "on" or "off"

func Gray1

func Gray1(arg interface{}) aurora.Value

func Gray2

func Gray2(arg interface{}) aurora.Value

func Gray3

func Gray3(arg interface{}) aurora.Value

func Gray4

func Gray4(arg interface{}) aurora.Value

func Gray5

func Gray5(arg interface{}) aurora.Value

func IsYamlExtension

func IsYamlExtension(ext string) bool

Types

type Invoker

type Invoker string

Invoker is a pseudoEnum for the command/operation which starts the service

func (Invoker) IsValid

func (i Invoker) IsValid() error

IsValid is a validator for Invoker known values

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL