gotidb/cmd/server/config.go

35 lines
709 B
Go

package main
import (
"os"
"gopkg.in/yaml.v3"
)
// Config 应用程序配置结构
type Config struct {
RestAddr string `yaml:"rest_addr"`
WsAddr string `yaml:"ws_addr"`
MetricsAddr string `yaml:"metrics_addr"`
NATSURL string `yaml:"nats_url"`
PersistenceType string `yaml:"persistence_type"`
PersistenceDir string `yaml:"persistence_dir"`
SyncEvery int `yaml:"sync_every"`
}
func LoadConfig(path string) (*Config, error) {
file, err := os.Open(path)
if err != nil {
return nil, err
}
defer file.Close()
var config Config
decoder := yaml.NewDecoder(file)
if err := decoder.Decode(&config); err != nil {
return nil, err
}
return &config, nil
}