Monorepo for Tangled tangled.org
2

Configure Feed

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

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