config

package
v1.4.1 Latest Latest
Warning

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

Go to latest
Published: Jan 15, 2025 License: Unlicense Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetEnv

func GetEnv() (requested bo)

func HelpRequested

func HelpRequested() (help bo)

HelpRequested returns true if any of the common types of help invocation are found as the first command line parameter/flag.

func PrintEnv

func PrintEnv(cfg *C, printer io.Writer)

func PrintHelp

func PrintHelp(cfg *C, printer io.Writer)

PrintHelp outputs a help text listing the configuration options and default values to a provided io.Writer (usually os.Stderr or os.Stdout).

Types

type C

type C struct {
	AppName      st   `env:"APP_NAME" default:"realy"`
	Profile      st   `env:"PROFILE" usage:"root path for all other path configurations (based on APP_NAME and OS specific location)"`
	Listen       st   `env:"LISTEN" default:"0.0.0.0" usage:"network listen address"`
	Port         no   `env:"PORT" default:"3334" usage:"port to listen on"`
	AdminUser    st   `env:"ADMIN_USER" default:"admin" usage:"admin user"`
	AdminPass    st   `env:"ADMIN_PASS" usage:"admin password"`
	LogLevel     st   `env:"LOG_LEVEL" default:"info" usage:"debug level: fatal error warn info debug trace"`
	DbLogLevel   st   `env:"DB_LOG_LEVEL" default:"info" usage:"debug level: fatal error warn info debug trace"`
	AuthRequired bo   `env:"AUTH_REQUIRED" default:"false" usage:"requires auth for all access"`
	Owners       []st `` /* 205-byte string literal not displayed */
	SpiderKey    st   `` /* 189-byte string literal not displayed */
	DBSizeLimit  no   `` /* 149-byte string literal not displayed */
	DBLowWater   no   `env:"DB_LOW_WATER" default:"60" usage:"the percentage of DBSizeLimit a GC run will reduce the used storage down to"`
	DBHighWater  no   `env:"DB_HIGH_WATER" default:"80" usage:"the trigger point at which a GC run should start if exceeded"`
	GCFrequency  no   `env:"GC_FREQUENCY" default:"3600" usage:"the frequency of checks of the current utilisation in minutes"`
	Pprof        bo   `env:"PPROF" default:"false" usage:"enable pprof on 127.0.0.1:6060"`
	MemLimit     no   `env:"MEMLIMIT" default:"250000000" usage:"set memory limit, default is 250Mb"`
	UseCompact   bo   `env:"USE_COMPACT" default:"false" usage:"use the compact database encoding for the ratel event store"`
	Compression  st   `env:"COMPRESSION" default:"none" usage:"compress the database, [none|snappy|zstd]"`
	MaxLimit     no   `env:"MAX_LIMIT" default:"512" usage:"max number of results to return from queries if none specified"`
}

func New

func New() (cfg *C, err er)

type KV

type KV struct{ Key, Value st }

type KVSlice

type KVSlice []KV

func EnvKV

func EnvKV(cfg any) (m KVSlice)

EnvKV turns a struct with `env` keys (used with go-simpler/env) into a standard formatted environment variable key/value pair list, one per line. Note you must dereference a pointer type to use this. This allows the composition of the config in this file with an extended form with a customized variant of realy to produce correct environment variables both read and write.

func (KVSlice) Composit

func (kv KVSlice) Composit(kv2 KVSlice) (out KVSlice)

Composit merges two KVSlice together, replacing the values of earlier keys with same named KV items later in the slice (enabling compositing two together as a .env, as well as them being composed as structs.

func (KVSlice) Len

func (kv KVSlice) Len() int

func (KVSlice) Less

func (kv KVSlice) Less(i, j int) bool

func (KVSlice) Swap

func (kv KVSlice) Swap(i, j int)

Jump to

Keyboard shortcuts

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