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 ResendApiKey string `env:"TANGLED_RESEND_API_KEY"`
16}
17
18func LoadConfig(ctx context.Context) (*Config, error) {
19 var cfg Config
20 err := envconfig.Process(ctx, &cfg)
21 if err != nil {
22 return nil, err
23 }
24
25 return &cfg, nil
26}