Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
// Address to listen to.
Listen string `env:"LISTEN" envDefault:":25567"`
// Address to listen to on GRPC proxy.
ListenGRPC string `env:"LISTEN_GRPC" envDefault:":9090"`
// Autocert account email.
AutocertEmail string `env:"AUTOCERT_EMAIL"`
// Autocert domains.
AutocertHosts []string `env:"AUTOCERT_HOSTS"`
// TLS certificate to use. If empty, will try to use autocert.
TLSCert string `env:"TLS_CERT"`
// TLS key to use. If empty, will try to use autocert.
TLSKey string `env:"TLS_KEY"`
// Proxy seed URL to fetch for server updates.
SeedURL string `env:"SEED_URL" envDefault:"https://raw.githubusercontent.com/cosmos/chain-registry/master/akash/chain.json"`
// How frequently fetch SEED_URL for updates.
SeedRefreshInterval time.Duration `env:"SEED_REFRESH_INTERVAL" envDefault:"5m"`
// Expected chain ID.
ChainID string `env:"CHAIN_ID" envDefault:"akashnet-2"`
// How slow on average a node needs to be to be marked as unhealthy.
HealthyThreshold time.Duration `env:"HEALTHY_THRESHOLD" envDefault:"10s"`
// Percentage of request errors deemed acceptable.
HealthyErrorRateThreshold float64 `env:"HEALTHY_ERROR_RATE_THRESHOLD" envDefault:"30"`
// How long in the past requests are considered to check for status codes.
HealthyErrorRateBucketTimeout time.Duration `env:"HEALTHY_ERROR_RATE_BUCKET_TIMEOUT" envDefault:"1m"`
// Request timeout for a proxied request.
ProxyRequestTimeout time.Duration `env:"PROXY_REQUEST_TIMEOUT" envDefault:"15s"`
// How much chance (in %, 0-100), a node marked as unhealthy have to get a
// request again and recover.
UnhealthyServerRecoverChancePct int `env:"UNHEALTHY_SERVER_RECOVERY_CHANCE_PERCENT" envDefault:"1"`
}
Click to show internal directories.
Click to hide internal directories.