1package appview
2
3import (
4 "context"
5
6 "github.com/sethvargo/go-envconfig"
7)
8
9type Config struct {
10 CookieSecret string `env:"TANGLED_COOKIE_SECRET, default=00000000000000000000000000000000"`
11 DbPath string `env:"TANGLED_DB_PATH, default=appview.db"`
12 ListenAddr string `env:"TANGLED_LISTEN_ADDR, default=0.0.0.0:3000"`
13 Dev bool `env:"TANGLED_DEV, default=false"`
14 JetstreamEndpoint string `env:"TANGLED_JETSTREAM_ENDPOINT, default=wss://jetstream1.us-east.bsky.network/subscribe"`
15}
16
17func LoadConfig(ctx context.Context) (*Config, error) {
18 var cfg Config
19 err := envconfig.Process(ctx, &cfg)
20 if err != nil {
21 return nil, err
22 }
23
24 return &cfg, nil
25}