Monorepo for Tangled tangled.org
3

Configure Feed

Select the types of activity you want to include in your feed.

core / knotmirror / config / config.go
2.1 kB 52 lines
1package config 2 3import ( 4 "context" 5 "time" 6 7 "github.com/sethvargo/go-envconfig" 8) 9 10type Config struct { 11 AppviewUrl string `env:"MIRROR_APPVIEW_URL, default=https://tangled.org"` 12 PlcUrl string `env:"MIRROR_PLC_URL, default=https://plc.directory"` 13 TapUrl string `env:"MIRROR_TAP_URL, default=http://localhost:2480"` 14 DbUrl string `env:"MIRROR_DB_URL, required"` 15 RedisAddr string `env:"MIRROR_REDIS_ADDR, required"` 16 KnotUseSSL bool `env:"MIRROR_KNOT_USE_SSL, default=false"` // use SSL for Knot when not scheme is not specified 17 KnotSSRF bool `env:"MIRROR_KNOT_SSRF, default=false"` 18 GitRepoBasePath string `env:"MIRROR_GIT_BASEPATH, default=repos"` 19 GitRepoFetchTimeout time.Duration `env:"MIRROR_GIT_FETCH_TIMEOUT, default=600s"` 20 Search SearchConfig `env:",prefix=MIRROR_SEARCH_"` 21 ResyncParallelism int `env:"MIRROR_RESYNC_PARALLELISM, default=5"` 22 Slurper SlurperConfig `env:",prefix=MIRROR_SLURPER_"` 23 UseSSL bool `env:"MIRROR_USE_SSL, default=false"` 24 Hostname string `env:"MIRROR_HOSTNAME, required"` 25 Listen string `env:"MIRROR_LISTEN, default=:7000"` 26 MetricsListen string `env:"MIRROR_METRICS_LISTEN, default=127.0.0.1:7100"` 27 AdminListen string `env:"MIRROR_ADMIN_LISTEN, default=127.0.0.1:7200"` 28} 29 30func (c *Config) BaseUrl() string { 31 if c.UseSSL { 32 return "https://" + c.Hostname 33 } 34 return "http://" + c.Hostname 35} 36 37type SlurperConfig struct { 38 PersistCursorPeriod time.Duration `env:"PERSIST_CURSOR_PERIOD, default=4s"` 39 ConcurrencyPerHost int `env:"CONCURRENCY, default=4"` 40} 41 42type SearchConfig struct { 43 ZoektUrl string `env:"ZOEKT_URL"` // base url to zoekt node. skipped when empty 44} 45 46func Load(ctx context.Context) (*Config, error) { 47 var cfg Config 48 if err := envconfig.Process(ctx, &cfg); err != nil { 49 return nil, err 50 } 51 return &cfg, nil 52}