Add support for PGWEB_ prefixed env vars
This commit is contained in:
parent
fa0efb1597
commit
b1023cdcfd
@ -9,6 +9,11 @@ import (
|
|||||||
"github.com/jessevdk/go-flags"
|
"github.com/jessevdk/go-flags"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
// Prefix to use for all pgweb env vars, ie PGWEB_HOST, PGWEB_PORT, etc
|
||||||
|
envVarPrefix = "PGWEB_"
|
||||||
|
)
|
||||||
|
|
||||||
type Options struct {
|
type Options struct {
|
||||||
Version bool `short:"v" long:"version" description:"Print version"`
|
Version bool `short:"v" long:"version" description:"Print version"`
|
||||||
Debug bool `short:"d" long:"debug" description:"Enable debugging mode"`
|
Debug bool `short:"d" long:"debug" description:"Enable debugging mode"`
|
||||||
@ -57,11 +62,11 @@ func ParseOptions(args []string) (Options, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if opts.URL == "" {
|
if opts.URL == "" {
|
||||||
opts.URL = os.Getenv("DATABASE_URL")
|
opts.URL = getPrefixedEnvVar("DATABASE_URL")
|
||||||
}
|
}
|
||||||
|
|
||||||
if opts.Prefix == "" {
|
if opts.Prefix == "" {
|
||||||
opts.Prefix = os.Getenv("URL_PREFIX")
|
opts.Prefix = getPrefixedEnvVar("URL_PREFIX")
|
||||||
}
|
}
|
||||||
|
|
||||||
// Handle edge case where pgweb is started with a default host `localhost` and no user.
|
// Handle edge case where pgweb is started with a default host `localhost` and no user.
|
||||||
@ -74,11 +79,11 @@ func ParseOptions(args []string) (Options, error) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if os.Getenv("SESSIONS") != "" {
|
if getPrefixedEnvVar("SESSIONS") != "" {
|
||||||
opts.Sessions = true
|
opts.Sessions = true
|
||||||
}
|
}
|
||||||
|
|
||||||
if os.Getenv("LOCK_SESSION") != "" {
|
if getPrefixedEnvVar("LOCK_SESSION") != "" {
|
||||||
opts.LockSession = true
|
opts.LockSession = true
|
||||||
opts.Sessions = false
|
opts.Sessions = false
|
||||||
}
|
}
|
||||||
@ -97,12 +102,12 @@ func ParseOptions(args []string) (Options, error) {
|
|||||||
opts.Prefix = opts.Prefix + "/"
|
opts.Prefix = opts.Prefix + "/"
|
||||||
}
|
}
|
||||||
|
|
||||||
if opts.AuthUser == "" && os.Getenv("AUTH_USER") != "" {
|
if opts.AuthUser == "" {
|
||||||
opts.AuthUser = os.Getenv("AUTH_USER")
|
opts.AuthUser = getPrefixedEnvVar("AUTH_USER")
|
||||||
}
|
}
|
||||||
|
|
||||||
if opts.AuthPass == "" && os.Getenv("AUTH_PASS") != "" {
|
if opts.AuthPass == "" {
|
||||||
opts.AuthPass = os.Getenv("AUTH_PASS")
|
opts.AuthPass = getPrefixedEnvVar("AUTH_PASS")
|
||||||
}
|
}
|
||||||
|
|
||||||
if opts.ConnectBackend != "" {
|
if opts.ConnectBackend != "" {
|
||||||
@ -139,3 +144,12 @@ func getCurrentUser() string {
|
|||||||
}
|
}
|
||||||
return os.Getenv("USER")
|
return os.Getenv("USER")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// getPrefixedEnvVar returns env var with prefix, or falls back to unprefixed one
|
||||||
|
func getPrefixedEnvVar(name string) string {
|
||||||
|
val := os.Getenv(envVarPrefix + name)
|
||||||
|
if val == "" {
|
||||||
|
val = os.Getenv(name)
|
||||||
|
}
|
||||||
|
return val
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user