Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func MustLoadEnv ¶
func MustLoadEnv()
MustLoadEnv is the same as LoadEnv but panics if an error occurs
Types ¶
type Config ¶
type Config struct { Service Service Mssql Mssql ProxyService ProxyService Ristretto Ristretto Migrate Migrate Telegram Telegram Broker Broker }
Config provides the system configuration.
type Mssql ¶
type Mssql struct { Host string `envconfig:"default=localhost"` Port string `envconfig:"default=1433"` User string `envconfig:"default=sa"` Password string `envconfig:"default=Password"` Database string `envconfig:"default=#temp"` AppName string `envconfig:"default=no name"` DialTimeout string `envconfig:"default=10"` KeepAlive string `envconfig:"default=1440"` PacketSize string `envconfig:"default=4096"` Log string `envconfig:"default=0"` ConnTimeout time.Duration `envconfig:"default=10s"` }
type Pg ¶
type Pg struct { Host string `envconfig:"PGHOST"` Port string `envconfig:"PGPORT"` User string `envconfig:"PGUSER"` Password string `envconfig:"PGPASSWORD"` Database string `envconfig:"PGDATABASE"` AppName string `envconfig:"PGAPPNAME"` DisableTLS bool `envconfig:"PGDISABLETLS"` Timeout time.Duration `envconfig:"PGTIMEOUT" default:"5s"` }
type ProxyService ¶
type ProxyService struct { CollectPeriod time.Duration `envconfig:"default=60s"` DeleteBadProxyPeriod time.Duration `envconfig:"default=300s"` DeleteOldStatPeriod time.Duration `envconfig:"default=300s"` CollectUrl string `envconfig:"default=https://www.sslproxies.org/"` CollectHttpTimeout time.Duration `envconfig:"default=5s"` GrpcTimeout time.Duration `envconfig:"default=1s"` GrpcPort int `envconfig:"default=50051"` CheckTimeout time.Duration `envconfig:"default=10s"` CheckPeriod time.Duration `envconfig:"default=10s"` }
type Ristretto ¶
type Ristretto struct { // NumCounters determines the number of counters (keys) to keep that hold // access frequency information. It's generally a good idea to have more // counters than the max cache capacity, as this will improve eviction // accuracy and subsequent hit ratios. // // For example, if you expect your cache to hold 1,000,000 items when full, // NumCounters should be 10,000,000 (10x). Each counter takes up 4 bits, so // keeping 10,000,000 counters would require 5MB of memory. NumCounters int64 `envconfig:"default=1000000"` // MaxCost can be considered as the cache capacity, in whatever units you // choose to use. // // For example, if you want the cache to have a max capacity of 100MB, you // would set MaxCost to 100,000,000 and pass an item's number of bytes as // the `cost` parameter for calls to Set. If new items are accepted, the // eviction process will take care of making room for the new item and not // overflowing the MaxCost value. MaxCost int64 `envconfig:"default=100000"` // Metrics determines whether cache statistics are kept during the cache's // lifetime. There *is* some overhead to keeping statistics, so you should // only set this flag to true when testing or throughput performance isn't a // major factor. Metrics bool `envconfig:"default=true"` }
type Service ¶
type Service struct { Name string `envconfig:"default=no name"` Env string `envconfig:"default=dev"` TestEnv bool `envconfig:"default=false"` GrpcHost string `envconfig:"default=0.0.0.0"` GrpcPort string `envconfig:"default=50051"` ConfigHost string `envconfig:"default=config-service"` ConfigPort string `envconfig:"default=50051"` Debug bool `envconfig:"default=false"` GrpcTimeout time.Duration `envconfig:"default=1s"` }
Click to show internal directories.
Click to hide internal directories.