 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
Constants ¶
This section is empty.
Variables ¶
      View Source
      
  
var ( // nolint:gochecknoglobals // DefaultConfig is the default config for the application. // It is used as a fallback if loading the proper config fails. // Loading it should always be accompanied by a warning. DefaultConfig = Config{ DBConfig: DBConfig{ Engine: "postgres", Host: "localhost", Port: uint16(5432), Database: "librate", User: "postgres", Password: "postgres", SSL: "unknown", PGConfig: "/usr/bin/pg_config", StartCmd: "sudo service postgresql start", }, Fiber: FiberConfig{ Host: "localhost", Port: 3000, Prefork: false, }, Secret: uuid.Must(uuid.NewV7()).String(), LibrateEnv: "production", } // nolint:gochecknoglobals // TestConfig is a convenience config for testing, so that the test functions are terser, avoiding unnecessary repetition. TestConfig = Config{ DBConfig: DBConfig{ Engine: "postgres", Host: "localhost", Port: uint16(5432), Database: "librate_test", User: "postgres", Password: "postgres", SSL: "disable", PGConfig: "/usr/bin/pg_config", StartCmd: "skip", }, Fiber: FiberConfig{ Host: "0.0.0.0", Port: 3000, Prefork: false, }, Secret: "secret", LibrateEnv: "test", } )
Functions ¶
func LoadConfig ¶
LoadConfig loads the config from the config file, or falls back to defaults. It is used only when no --config flag is passed.
Types ¶
type Config ¶
type Config struct {
	DBConfig `json:"database,omitempty" yaml:"database" mapstructure:"database"`
	Fiber    FiberConfig `json:"fiber,omitempty" yaml:"fiber" mapstructure:"fiber"`
	Secret   string      `json:"secret,omitempty" yaml:"secret" mapstructure:"secret"`
	// default to production for security reasons
	LibrateEnv string      `json:"librateEnv,omitempty" yaml:"librateEnv" default:"production" mapstructure:"librate_env"`
	Redis      RedisConfig `json:"redis,omitempty" yaml:"redis" mapstructure:"redis"`
}
    func LoadFromFile ¶ added in v0.6.2
LoadFromFile loads the config from the config file, or tries to call LoadConfig.
type DBConfig ¶
type DBConfig struct {
	Engine   string `yaml:"engine" default:"postgres"`
	Host     string `yaml:"host" default:"localhost"`
	Port     uint16 `yaml:"port" default:"5432"`
	Database string `yaml:"database" default:"librate"`
	User     string `yaml:"user" default:"postgres"`
	Password string `yaml:"password,omitempty" default:"postgres"`
	SSL      string `yaml:"SSL" default:"unknown"`
	PGConfig string `yaml:"pgConfig,omitempty" default:"/usr/bin/pg_config"`
	StartCmd string `yaml:"startCmd,omitempty" default:"sudo service postgresql start"`
}
    type FiberConfig ¶
type FiberConfig struct {
	Host           string `yaml:"host" default:"localhost"`
	Port           int    `yaml:"port" default:"3000"`
	Prefork        bool   `yaml:"prefork" default:"false"`
	ReduceMemUsage bool   `yaml:"reduceMemUsage" default:"false"`
	StaticDir      string `yaml:"staticDir" default:"./static"`
	PowInterval    int    `yaml:"powInterval" default:"300"`
	PowDifficulty  int    `yaml:"powDifficulty" default:"30000"`
}
    type RedisConfig ¶
 Click to show internal directories. 
   Click to hide internal directories.