config

package
v0.0.2-rc2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 7, 2025 License: Apache-2.0 Imports: 2 Imported by: 0

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"`
}

func Must

func Must() Config

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL