Documentation
¶
Index ¶
- func LoadDatabaseConfigFile(files ...[]byte) (*database.ConfigFile, error)
- func LoadEncryptionSvc(cf *server.ServerConfigFile) (encryption.EncryptionService, error)
- func LoadServerConfigFile(files ...[]byte) (*server.ServerConfigFile, error)
- type ConfigLoader
- type ConfigLoaderOpt
- type ServerConfigFileOverride
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func LoadDatabaseConfigFile ¶
func LoadDatabaseConfigFile(files ...[]byte) (*database.ConfigFile, error)
LoadDatabaseConfigFile loads the database config file via viper
func LoadEncryptionSvc ¶
func LoadEncryptionSvc(cf *server.ServerConfigFile) (encryption.EncryptionService, error)
func LoadServerConfigFile ¶
func LoadServerConfigFile(files ...[]byte) (*server.ServerConfigFile, error)
LoadServerConfigFile loads the server config file via viper
Types ¶
type ConfigLoader ¶
type ConfigLoader struct {
// contains filtered or unexported fields
}
func NewConfigLoader ¶
func NewConfigLoader(directory string, opts ...ConfigLoaderOpt) *ConfigLoader
NewConfigLoader creates a ConfigLoader that reads server and database configuration from the given directory, applying any options.
func (*ConfigLoader) CreateServerFromConfig ¶
func (c *ConfigLoader) CreateServerFromConfig(version string, overrides ...ServerConfigFileOverride) (cleanup func() error, res *server.ServerConfig, err error)
CreateServerFromConfig loads the server configuration and returns a server
func (*ConfigLoader) InitDataLayer ¶
func (c *ConfigLoader) InitDataLayer() (res *database.Layer, err error)
InitDataLayer initializes the database layer from the configuration
type ConfigLoaderOpt ¶ added in v0.106.11
type ConfigLoaderOpt func(*ConfigLoader)
ConfigLoaderOpt configures a ConfigLoader created by NewConfigLoader.
func WithLogWriter ¶ added in v0.106.11
func WithLogWriter(w io.Writer) ConfigLoaderOpt
WithLogWriter routes the loggers this loader constructs (database, server and the additional per-service loggers) to w instead of os.Stderr. This is a runtime-only override intended for embedding callers; it cannot be expressed in a config file. Explicit writers set by a ServerConfigFileOverride take precedence over w.
The loader hands the same writer to several independent loggers that log concurrently, so w is wrapped in a mutex-guarded writer here; callers can pass writers that are not safe for concurrent use, such as a bytes.Buffer.
type ServerConfigFileOverride ¶
type ServerConfigFileOverride func(*server.ServerConfigFile)