Documentation ¶
Index ¶
- Constants
- Variables
- func AbsImportMapPath(importMapPath, slug string, fsys afero.Fs) (string, error)
- func AbsTempImportMapPath(cwd, hostPath string) string
- func Aqua(str string) string
- func AssertDockerIsRunning(ctx context.Context) error
- func AssertProjectRefIsValid(projectRef string) error
- func AssertSupabaseCliIsSetUpFS(fsys afero.Fs) error
- func AssertSupabaseDbIsRunning() error
- func BindImportMap(hostImportMapPath, dockerImportMapPath string, fsys afero.Fs) ([]string, error)
- func Bold(str string) string
- func ChangeWorkDir(fsys afero.Fs) error
- func CliProjectFilter() filters.Args
- func ConnectByConfig(ctx context.Context, config pgconn.Config, options ...func(*pgx.ConnConfig)) (*pgx.Conn, error)
- func ConnectByConfigStream(ctx context.Context, config pgconn.Config, w io.Writer, ...) (*pgx.Conn, error)
- func ConnectByUrl(ctx context.Context, url string, options ...func(*pgx.ConnConfig)) (*pgx.Conn, error)
- func ConnectLocalPostgres(ctx context.Context, config pgconn.Config, options ...func(*pgx.ConnConfig)) (*pgx.Conn, error)
- func DeleteAccessToken(fsys afero.Fs) error
- func DockerExecOnce(ctx context.Context, container string, env []string, cmd []string) (string, error)
- func DockerExecOnceWithStream(ctx context.Context, container, workdir string, env, cmd []string, ...) error
- func DockerImagePull(ctx context.Context, imageTag string, w io.Writer) error
- func DockerImagePullWithRetry(ctx context.Context, image string, retries int) error
- func DockerNetworkCreateIfNotExists(ctx context.Context, networkId string) error
- func DockerPullImageIfNotCached(ctx context.Context, imageName string) error
- func DockerRemove(containerId string)
- func DockerRemoveAll(ctx context.Context, w io.Writer) error
- func DockerRunOnce(ctx context.Context, image string, env []string, cmd []string) (string, error)
- func DockerRunOnceWithConfig(ctx context.Context, config container.Config, hostConfig container.HostConfig, ...) error
- func DockerRunOnceWithStream(ctx context.Context, image string, env, cmd []string, stdout, stderr io.Writer) error
- func DockerStart(ctx context.Context, config container.Config, hostConfig container.HostConfig, ...) (string, error)
- func DockerStreamLogs(ctx context.Context, containerId string, stdout, stderr io.Writer) error
- func DownloadFile(ctx context.Context, path, url string, fsys afero.Fs, ...) error
- func EncodeOutput(format string, w io.Writer, value any) error
- func FallbackLookupIP(ctx context.Context, host string) ([]string, error)
- func FormatTimestamp(timestamp string) string
- func GetCurrentBranchFS(fsys afero.Fs) (string, error)
- func GetCurrentTimestamp() string
- func GetDebugLogger() io.Writer
- func GetDenoPath() (string, error)
- func GetHostname() string
- func GetId(name string) string
- func GetPathHash(path string) string
- func GetPoolerConfig(projectRef string) *pgconn.Config
- func GetRegistry() string
- func GetRegistryAuth() string
- func GetRegistryImageUrl(imageName string) string
- func GetSupabase() *supabase.ClientWithResponses
- func GetSupabaseAPIHost() string
- func GetSupabaseDashboardURL() string
- func GetSupabaseDbHost(projectRef string) string
- func GetSupabaseHost(projectRef string) string
- func InitConfig(params InitParams, fsys afero.Fs) error
- func InstallOrUpgradeDeno(ctx context.Context, fsys afero.Fs) error
- func IsBranchNameReserved(branch string) bool
- func IsGitRepo() bool
- func IsLocalDatabase(config pgconn.Config) bool
- func JsonResponse[T any](ctx context.Context, method, url string, reqBody any, ...) (*T, error)
- func LoadAccessToken() (string, error)
- func LoadAccessTokenFS(fsys afero.Fs) (string, error)
- func LoadConfigFS(fsys afero.Fs) error
- func MkdirIfNotExist(path string) error
- func MkdirIfNotExistFS(fsys afero.Fs, path string) error
- func NewDocker() *client.Client
- func ProcessDiffOutput(diffBytes []byte) ([]byte, error)
- func ProcessDiffProgress(p Program, out io.Reader) error
- func ProcessPsqlOutput(out io.Reader, p Program) error
- func ProcessPullOutput(out io.ReadCloser, p Program) error
- func PromptText(label string, stdin io.Reader) (string, error)
- func PromptYesNo(label string, def bool, stdin *os.File) bool
- func Ptr[T any](v T) *T
- func Red(str string) string
- func RemoveDuplicates(slice []string) (result []string)
- func ResolveCNAME(ctx context.Context, host string) (string, error)
- func RunProgram(ctx context.Context, f func(p Program, ctx context.Context) error) error
- func SaveAccessToken(accessToken string, fsys afero.Fs) error
- func ShortContainerImageName(imageName string) string
- func SliceContains[T comparable](s []T, e T) bool
- func SliceEqual[T comparable](a, b []T) bool
- func TextResponse(ctx context.Context, method, url string, body io.Reader, ...) (string, error)
- func ToPostgresURL(config pgconn.Config) string
- func UpdateDockerIds()
- func ValidateFunctionSlug(slug string) error
- func WaitAll[T any](containers []T, exec func(container T) error) []error
- func WithTraceContext(ctx context.Context) context.Context
- func WriteConfig(fsys afero.Fs, _test bool) error
- func WriteFile(path string, contents []byte, fsys afero.Fs) error
- func Yellow(str string) string
- type AddressFamily
- type CustomClaims
- type DenoScriptDir
- type DialContextFunc
- type DiffDependencies
- type DiffEntry
- type DiffStream
- type EnumFlag
- type ImportMap
- type InitParams
- type JobQueue
- type LogflareBackend
- type PoolMode
- type Program
- type ProgressMsg
- type PromptItem
- type PsqlMsg
- type StatusMsg
- type StatusWriter
Constants ¶
const ( DNS_GO_NATIVE = "native" DNS_OVER_HTTPS = "https" )
const ( DefaultApiHost = "https://api.supabase.com" // DEPRECATED DeprecatedApiHost = "https://api.supabase.io" )
const ( DockerDenoDir = "/home/deno" DockerModsDir = DockerDenoDir + "/modules" DockerFuncDirPath = DockerDenoDir + "/functions" )
const ( Pg13Image = "supabase/postgres:13.3.0" Pg14Image = "supabase/postgres:14.1.0.89" Pg15Image = "supabase/postgres:15.1.0.147" // Append to ServiceImages when adding new dependencies below KongImage = "library/kong:2.8.1" InbucketImage = "inbucket/inbucket:3.0.3" PostgrestImage = "postgrest/postgrest:v12.0.1" DifferImage = "supabase/pgadmin-schema-diff:cli-0.0.5" MigraImage = "supabase/migra:3.0.1663481299" PgmetaImage = "supabase/postgres-meta:v0.80.0" StudioImage = "supabase/studio:20240326-5e5586d" ImageProxyImage = "darthsim/imgproxy:v3.8.0" EdgeRuntimeImage = "supabase/edge-runtime:v1.41.3" VectorImage = "timberio/vector:0.28.1-alpine" PgbouncerImage = "bitnami/pgbouncer:1.20.1-debian-11-r39" PgProveImage = "supabase/pg_prove:3.36" GotrueImage = "supabase/gotrue:v2.143.0" RealtimeImage = "supabase/realtime:v2.27.5" StorageImage = "supabase/storage-api:v0.46.4" LogflareImage = "supabase/logflare:1.4.0" // Should be kept in-sync with EdgeRuntimeImage DenoVersion = "1.30.3" )
const ( // https://dba.stackexchange.com/a/11895 // Args: dbname TerminateDbSqlFmt = `` /* 244-byte string literal not displayed */ SuggestDebugFlag = "Try rerunning the command with --debug to troubleshoot the error." )
const ( OutputEnv = "env" OutputJson = "json" OutputPretty = "pretty" OutputToml = "toml" OutputYaml = "yaml" // OutputMetadata is used with certain SSO commands only. OutputMetadata = "metadata" )
const AccessTokenKey = "access-token"
const (
CliProjectLabel = "com.supabase.cli.project"
)
Variables ¶
var ( AccessTokenPattern = regexp.MustCompile(`^sbp_[a-f0-9]{40}$`) ErrInvalidToken = errors.New("Invalid access token format. Must be like `sbp_0102...1920`.") ErrMissingToken = errors.Errorf("Access token not provided. Supply an access token by running %s or setting the SUPABASE_ACCESS_TOKEN environment variable.", Aqua("supabase login")) ErrNotLoggedIn = errors.New("You were not logged in, nothing to do.") )
var ( NetId string DbId string ConfigId string KongId string GotrueId string InbucketId string RealtimeId string RestId string StorageId string ImgProxyId string DifferId string PgmetaId string StudioId string EdgeRuntimeId string LogflareId string VectorId string PoolerId string DbAliases = []string{"db", "db.supabase.internal"} KongAliases = []string{"kong", "api.supabase.internal"} GotrueAliases = []string{"auth"} InbucketAliases = []string{"inbucket"} RealtimeAliases = []string{"realtime"} RestAliases = []string{"rest"} StorageAliases = []string{"storage"} ImgProxyAliases = []string{"imgproxy"} PgmetaAliases = []string{"pg_meta"} StudioAliases = []string{"studio"} EdgeRuntimeAliases = []string{"edge_runtime"} LogflareAliases = []string{"analytics"} VectorAliases = []string{"vector"} PoolerAliases = []string{"pooler"} InitialSchemaSql string //go:embed templates/initial_schemas/13.sql InitialSchemaPg13Sql string //go:embed templates/initial_schemas/14.sql InitialSchemaPg14Sql string )
var ( Version string SentryDsn string )
Assigned using `-ldflags` https://stackoverflow.com/q/11354518
var ( CmdSuggestion string CurrentDirAbs string // pg_dumpall --globals-only --no-role-passwords --dbname $DB_URL \ // | sed '/^CREATE ROLE postgres;/d' \ // | sed '/^ALTER ROLE postgres WITH /d' \ // | sed "/^ALTER ROLE .* WITH .* LOGIN /s/;$/ PASSWORD 'postgres';/" //go:embed templates/globals.sql GlobalsSql string ProjectRefPattern = regexp.MustCompile(`^[a-z]{20}$`) UUIDPattern = regexp.MustCompile(`^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`) ProjectHostPattern = regexp.MustCompile(`^(db\.)([a-z]{20})\.supabase\.(co|red)$`) MigrateFilePattern = regexp.MustCompile(`^([0-9]+)_(.*)\.sql$`) BranchNamePattern = regexp.MustCompile(`[[:word:]-]+`) FuncSlugPattern = regexp.MustCompile(`^[A-Za-z][A-Za-z0-9_-]*$`) ImageNamePattern = regexp.MustCompile(`\/(.*):`) // These schemas are ignored from db diff and db dump SystemSchemas = []string{ "information_schema", "pg_*", "cron", "graphql", "graphql_public", "net", "pgsodium", "pgsodium_masks", "pgtle", "repack", "tiger", "tiger_data", "timescaledb_*", "_timescaledb_*", "topology", "vault", } InternalSchemas = append([]string{ "auth", "extensions", "pgbouncer", "realtime", "_realtime", "storage", "_analytics", "supabase_functions", "supabase_migrations", }, SystemSchemas...) ReservedRoles = []string{ "anon", "authenticated", "authenticator", "dashboard_user", "pgbouncer", "postgres", "service_role", "supabase_admin", "supabase_auth_admin", "supabase_functions_admin", "supabase_read_only_user", "supabase_replication_admin", "supabase_storage_admin", "pgsodium_keyholder", "pgsodium_keyiduser", "pgsodium_keymaker", "pgtle_admin", } AllowedConfigs = []string{ "pgaudit.*", "pgrst.*", "session_replication_role", "statement_timeout", "track_io_timing", } SupabaseDirPath = "supabase" ConfigPath = filepath.Join(SupabaseDirPath, "config.toml") GitIgnorePath = filepath.Join(SupabaseDirPath, ".gitignore") TempDir = filepath.Join(SupabaseDirPath, ".temp") ImportMapsDir = filepath.Join(TempDir, "import_maps") ProjectRefPath = filepath.Join(TempDir, "project-ref") PoolerUrlPath = filepath.Join(TempDir, "pooler-url") PostgresVersionPath = filepath.Join(TempDir, "postgres-version") GotrueVersionPath = filepath.Join(TempDir, "gotrue-version") RestVersionPath = filepath.Join(TempDir, "rest-version") StorageVersionPath = filepath.Join(TempDir, "storage-version") CurrBranchPath = filepath.Join(SupabaseDirPath, ".branches", "_current_branch") MigrationsDir = filepath.Join(SupabaseDirPath, "migrations") FunctionsDir = filepath.Join(SupabaseDirPath, "functions") FallbackImportMapPath = filepath.Join(FunctionsDir, "import_map.json") FallbackEnvFilePath = filepath.Join(FunctionsDir, ".env") DbTestsDir = filepath.Join(SupabaseDirPath, "tests") SeedDataPath = filepath.Join(SupabaseDirPath, "seed.sql") CustomRolesPath = filepath.Join(SupabaseDirPath, "roles.sql") ErrNotLinked = errors.Errorf("Cannot find project ref. Have you run %s?", Aqua("supabase link")) ErrInvalidRef = errors.New("Invalid project ref format. Must be like `abcdefghijklmnopqrst`.") ErrInvalidSlug = errors.New("Invalid Function name. Must start with at least one letter, and only include alphanumeric characters, underscores, and hyphens. (^[A-Za-z][A-Za-z0-9_-]*$)") ErrNotRunning = errors.Errorf("%s is not running.", Aqua("supabase start")) )
var Config = config{ Api: api{ Image: PostgrestImage, }, Db: db{ Image: Pg15Image, Password: "postgres", RootKey: "d4dc5b6d4a1d6a10b2c1e76112c994d65db7cec380572cc1839624d4be3fa275", }, Realtime: realtime{ IpVersion: AddressIPv6, MaxHeaderLength: 4096, }, Storage: storage{ Image: StorageImage, }, Auth: auth{ Image: GotrueImage, Email: email{ Template: map[string]emailTemplate{ "invite": {}, "confirmation": {}, "recovery": {}, "magic_link": {}, "email_change": {}, }, }, Sms: sms{ Template: "Your code is {{ .Code }} .", }, External: map[string]provider{ "apple": {}, "azure": {}, "bitbucket": {}, "discord": {}, "facebook": {}, "github": {}, "gitlab": {}, "google": {}, "keycloak": {}, "linkedin": {}, "linkedin_oidc": {}, "notion": {}, "twitch": {}, "twitter": {}, "slack": {}, "spotify": {}, "workos": {}, "zoom": {}, }, Hook: hook{}, JwtExpiry: 3600, JwtSecret: defaultJwtSecret, }, Analytics: analytics{ ApiKey: "api-key", Backend: LogflareBigQuery, }, }
var ( DNSResolver = EnumFlag{ Allowed: []string{DNS_GO_NATIVE, DNS_OVER_HTTPS}, Value: DNS_GO_NATIVE, } )
var ( // Used by unit tests DenoPathOverride string )
var Docker = NewDocker()
var FlyRegions = map[string]string{
"ams": "Amsterdam, Netherlands",
"arn": "Stockholm, Sweden",
"bog": "Bogotá, Colombia",
"bos": "Boston, Massachusetts (US)",
"cdg": "Paris, France",
"den": "Denver, Colorado (US)",
"dfw": "Dallas, Texas (US",
"ewr": "Secaucus, NJ (US)",
"fra": "Frankfurt, Germany",
"gdl": "Guadalajara, Mexico",
"gig": "Rio de Janeiro, Brazil",
"gru": "Sao Paulo, Brazil",
"hkg": "Hong Kong, Hong Kong",
"iad": "Ashburn, Virginia (US",
"jnb": "Johannesburg, South Africa",
"lax": "Los Angeles, California (US",
"lhr": "London, United Kingdom",
"maa": "Chennai (Madras), India",
"mad": "Madrid, Spain",
"mia": "Miami, Florida (US)",
"nrt": "Tokyo, Japan",
"ord": "Chicago, Illinois (US",
"otp": "Bucharest, Romania",
"qro": "Querétaro, Mexico",
"scl": "Santiago, Chile",
"sea": "Seattle, Washington (US",
"sin": "Singapore, Singapore",
"sjc": "San Jose, California (US",
"syd": "Sydney, Australia",
"waw": "Warsaw, Poland",
"yul": "Montreal, Canada",
"yyz": "Toronto, Canada",
}
var NoBackupVolume = false
NoBackupVolume TODO: encapsulate this state in a class
var ( OutputDefaultAllowed = []string{ OutputPretty, OutputJson, OutputToml, OutputYaml, } )
var RegionMap = map[string]string{
"ap-northeast-1": "Northeast Asia (Tokyo)",
"ap-northeast-2": "Northeast Asia (Seoul)",
"ap-south-1": "South Asia (Mumbai)",
"ap-southeast-1": "Southeast Asia (Singapore)",
"ap-southeast-2": "Oceania (Sydney)",
"ca-central-1": "Canada (Central)",
"eu-central-1": "Central EU (Frankfurt)",
"eu-west-1": "West EU (Ireland)",
"eu-west-2": "West EU (London)",
"eu-west-3": "West EU (Paris)",
"sa-east-1": "South America (São Paulo)",
"us-east-1": "East US (North Virginia)",
"us-west-1": "West US (North California)",
"us-west-2": "West US (Oregon)",
}
var ServiceImages = []string{ GotrueImage, RealtimeImage, StorageImage, ImageProxyImage, KongImage, InbucketImage, PostgrestImage, DifferImage, MigraImage, PgmetaImage, StudioImage, EdgeRuntimeImage, LogflareImage, VectorImage, PgbouncerImage, PgProveImage, }
Functions ¶
func AbsImportMapPath ¶ added in v1.59.0
func AbsTempImportMapPath ¶ added in v1.120.0
func AssertDockerIsRunning ¶
func AssertProjectRefIsValid ¶ added in v1.58.0
func AssertSupabaseCliIsSetUpFS ¶ added in v0.32.0
func AssertSupabaseDbIsRunning ¶ added in v0.33.1
func AssertSupabaseDbIsRunning() error
func BindImportMap ¶ added in v1.120.0
func ChangeWorkDir ¶ added in v1.152.0
func CliProjectFilter ¶ added in v1.123.0
func ConnectByConfig ¶ added in v1.110.1
func ConnectByConfigStream ¶ added in v1.149.0
func ConnectByUrl ¶ added in v1.28.0
func ConnectLocalPostgres ¶ added in v1.17.4
func ConnectLocalPostgres(ctx context.Context, config pgconn.Config, options ...func(*pgx.ConnConfig)) (*pgx.Conn, error)
Connnect to local Postgres with optimised settings. The caller is responsible for closing the connection returned.
func DeleteAccessToken ¶ added in v1.118.0
func DockerExecOnce ¶ added in v0.37.0
func DockerExecOnce(ctx context.Context, container string, env []string, cmd []string) (string, error)
Exec a command once inside a container, returning stdout and throwing error on non-zero exit code.
func DockerExecOnceWithStream ¶ added in v1.50.13
func DockerImagePull ¶ added in v1.26.9
func DockerImagePullWithRetry ¶ added in v1.5.2
func DockerNetworkCreateIfNotExists ¶ added in v1.16.0
func DockerPullImageIfNotCached ¶ added in v0.37.0
func DockerRemove ¶ added in v1.27.1
func DockerRemove(containerId string)
func DockerRunOnce ¶ added in v0.37.0
Runs a container image exactly once, returning stdout and throwing error on non-zero exit code.
func DockerRunOnceWithConfig ¶ added in v1.41.4
func DockerRunOnceWithStream ¶ added in v1.27.2
func DockerStart ¶ added in v1.11.2
func DockerStreamLogs ¶ added in v1.49.0
func DownloadFile ¶ added in v1.152.0
func FallbackLookupIP ¶ added in v1.41.0
Performs DNS lookup via HTTPS, in case firewall blocks native netgo resolver.
func FormatTimestamp ¶ added in v1.79.0
func GetCurrentTimestamp ¶
func GetCurrentTimestamp() string
func GetDebugLogger ¶ added in v1.152.0
func GetDenoPath ¶ added in v1.4.7
func GetHostname ¶ added in v1.134.3
func GetHostname() string
func GetPathHash ¶ added in v1.53.0
func GetPoolerConfig ¶ added in v1.141.1
func GetRegistry ¶ added in v1.126.0
func GetRegistry() string
func GetRegistryAuth ¶ added in v1.16.2
func GetRegistryAuth() string
func GetRegistryImageUrl ¶ added in v1.0.1
func GetSupabase ¶ added in v0.38.5
func GetSupabase() *supabase.ClientWithResponses
func GetSupabaseAPIHost ¶ added in v0.31.1
func GetSupabaseAPIHost() string
func GetSupabaseDashboardURL ¶ added in v0.31.1
func GetSupabaseDashboardURL() string
func GetSupabaseDbHost ¶ added in v1.4.10
func GetSupabaseHost ¶ added in v1.10.0
func InitConfig ¶ added in v1.38.1
func InitConfig(params InitParams, fsys afero.Fs) error
func InstallOrUpgradeDeno ¶ added in v0.19.0
func IsBranchNameReserved ¶ added in v0.13.0
func IsLocalDatabase ¶ added in v1.145.2
func JsonResponse ¶ added in v1.107.0
func LoadAccessToken ¶ added in v0.20.0
func LoadConfigFS ¶ added in v0.32.0
func MkdirIfNotExist ¶ added in v0.19.0
func ProcessDiffOutput ¶ added in v0.9.0
func ProcessDiffProgress ¶ added in v1.27.2
func ProcessPullOutput ¶ added in v0.9.0
func ProcessPullOutput(out io.ReadCloser, p Program) error
func PromptYesNo ¶ added in v1.52.0
PromptYesNo asks yes/no questions using the label.
func RemoveDuplicates ¶ added in v1.144.3
func ResolveCNAME ¶ added in v1.10.0
func RunProgram ¶ added in v1.27.2
func SaveAccessToken ¶ added in v1.50.15
func ShortContainerImageName ¶ added in v1.19.0
func SliceContains ¶ added in v1.87.0
func SliceContains[T comparable](s []T, e T) bool
func SliceEqual ¶ added in v1.87.0
func SliceEqual[T comparable](a, b []T) bool
func TextResponse ¶ added in v1.107.0
func ToPostgresURL ¶ added in v1.42.0
func UpdateDockerIds ¶ added in v1.123.0
func UpdateDockerIds()
func ValidateFunctionSlug ¶ added in v0.20.6
Types ¶
type AddressFamily ¶ added in v1.92.0
type AddressFamily string
const ( AddressIPv6 AddressFamily = "IPv6" AddressIPv4 AddressFamily = "IPv4" )
type CustomClaims ¶ added in v1.126.2
type CustomClaims struct { // Overrides Issuer to maintain json order when marshalling Issuer string `json:"iss,omitempty"` Ref string `json:"ref,omitempty"` Role string `json:"role"` jwt.RegisteredClaims }
func (CustomClaims) NewToken ¶ added in v1.126.2
func (c CustomClaims) NewToken() *jwt.Token
type DenoScriptDir ¶ added in v1.34.0
func CopyDenoScripts ¶ added in v1.34.0
Copy Deno scripts needed for function deploy and downloads, returning a DenoScriptDir struct or an error.
type DialContextFunc ¶ added in v1.41.1
type DiffDependencies ¶ added in v0.13.0
type DiffDependencies struct {
Type string `json:"type"`
}
type DiffStream ¶ added in v1.27.2
type DiffStream struct {
// contains filtered or unexported fields
}
func NewDiffStream ¶ added in v1.27.2
func NewDiffStream(p Program) *DiffStream
func (DiffStream) Collect ¶ added in v1.27.2
func (c DiffStream) Collect() ([]byte, error)
func (DiffStream) Stderr ¶ added in v1.27.2
func (c DiffStream) Stderr() io.Writer
func (DiffStream) Stdout ¶ added in v1.27.2
func (c DiffStream) Stdout() io.Writer
type EnumFlag ¶ added in v0.39.0
Ref: https://github.com/spf13/pflag/issues/236#issuecomment-931600452
type ImportMap ¶ added in v1.53.0
type ImportMap struct { Imports map[string]string `json:"imports"` Scopes map[string]map[string]string `json:"scopes"` }
func NewImportMap ¶ added in v1.53.0
func (*ImportMap) BindModules ¶ added in v1.53.0
type InitParams ¶ added in v1.115.0
type JobQueue ¶ added in v1.137.0
type JobQueue struct {
// contains filtered or unexported fields
}
JobQueue implements a background job processor using a single channel and wait group.
The channel is initialised with a maximum number of concurrent workers. Adding a new job consumes a worker from the channel. After finishing a job, the worker is added back to the channel. When all workers are consumed, adding new job will block.
Example usage:
jq := NewJobQueue(5) err := jq.Put(func() error { return nil }) errors.Join(err, jq.Collect())
func NewJobQueue ¶ added in v1.137.0
type LogflareBackend ¶ added in v1.83.7
type LogflareBackend string
const ( LogflarePostgres LogflareBackend = "postgres" LogflareBigQuery LogflareBackend = "bigquery" )
type Program ¶ added in v0.17.1
An interface describing the parts of BubbleTea's Program that we actually use.
func NewProgram ¶ added in v0.17.1
func NewProgram(model tea.Model, opts ...tea.ProgramOption) Program
type ProgressMsg ¶ added in v0.9.0
type ProgressMsg *float64
type PromptItem ¶ added in v0.39.0
PromptItem is exposed as prompt input, empty summary + details will be excluded.
func PromptChoice ¶ added in v0.39.0
func PromptChoice(ctx context.Context, title string, items []PromptItem) (PromptItem, error)
Prompt user to choose from a list of items, returns the chosen index.
func (PromptItem) Description ¶ added in v0.39.0
func (i PromptItem) Description() string
func (PromptItem) FilterValue ¶ added in v0.39.0
func (i PromptItem) FilterValue() string
func (PromptItem) Title ¶ added in v0.39.0
func (i PromptItem) Title() string
type StatusWriter ¶ added in v1.28.0
type StatusWriter struct {
Program
}