lyrics

lyrics
git clone git://brookjeynes.dev/bjeynes/lyrics.git
Log | Files | Refs

config.go (469B)


      1 package config
      2 
      3 import (
      4 	"context"
      5 
      6 	"github.com/sethvargo/go-envconfig"
      7 )
      8 
      9 type CoreConfig struct {
     10 	Dev        bool   `env:"DEV, default=false"`
     11 	ListenAddr string `env:"PORT, default=0.0.0.0:8080"`
     12 	DbPath     string `env:"DB_PATH, default=appview.db"`
     13 }
     14 
     15 type Config struct {
     16 	Core CoreConfig
     17 }
     18 
     19 func LoadConfig(ctx context.Context) (*Config, error) {
     20 	var cfg Config
     21 	err := envconfig.Process(ctx, &cfg)
     22 	if err != nil {
     23 		return nil, err
     24 	}
     25 
     26 	return &cfg, nil
     27 }