cfg

package
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Sep 22, 2023 License: AGPL-3.0 Imports: 14 Imported by: 4

Documentation

Overview

group functions concerned with parsing config for non-core infra

Index

Constants

This section is empty.

Variables

View Source
var DefaultConfig = Config{
	DBConfig: DBConfig{
		Engine:   "postgres",
		Host:     "localhost",
		Port:     uint16(5432),
		Database: "librate",
		TestDB:   "librate_test",
		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:     "secret",
	LibrateEnv: "production",
}

Functions

func LoadConfig

func LoadConfig() mo.Result[*Config]

func LoadLoggerConfig

func LoadLoggerConfig() mo.Result[logging.Config]

TODO: refactor so that parser parses each section of the config separately

Types

type AuthConfig

type AuthConfig struct {
	AuthMountPoint     string `yaml:"auth_mount_point", default:"/auth"`
	AuthCookieName     string `yaml:"auth_cookie_name", default:"auth"`
	AuthCookiePath     string `yaml:"auth_cookie_path", default:"/"`
	AuthCookieSecure   bool   `yaml:"auth_cookie_secure", default:"false"`
	AuthCookieHTTPOnly bool   `yaml:"auth_cookie_http_only", default:"true"`
	AuthCookieDomain   string `yaml:"auth_cookie_domain", default:""`
	AuthCookieExpire   int    `yaml:"auth_cookie_expire", default:"3600"`
}

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"`
}

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"`
	TestDB   string `yaml:"testDatabase" default:"librate_test"`
	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"`
}

refer to https://docs.gofiber.io/api/fiber#config

type RedisConfig

type RedisConfig struct {
	Host     string `yaml:"host,omitempty" default:"localhost"`
	Port     int    `yaml:"port,omitempty" default:"6379"`
	Username string `yaml:"username,omitempty" default:""`
	Password string `yaml:"password,omitempty" default:""`
	Database int    `yaml:"database,omitempty" default:"0"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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