config

package
v0.5.7 Latest Latest
Warning

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

Go to latest
Published: May 27, 2022 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const (
	AppName    = "celo-indexer"
	AppVersion = "0.1.10"
	GitCommit  = "-"
	GoVersion  = "1.14"
)

Variables

This section is empty.

Functions

func FromEnv

func FromEnv(config *Config) error

FromEnv reads the config from environment variables

func FromFile

func FromFile(path string, config *Config) error

FromFile reads the config from a file

func VersionString

func VersionString() string

Types

type Config

type Config struct {
	AppEnv                       string `json:"app_env" envconfig:"APP_ENV" default:"development"`
	NodeUrl                      string `json:"node_url" envconfig:"NODE_URL"`
	ServerAddr                   string `json:"server_addr" envconfig:"SERVER_ADDR" default:"0.0.0.0"`
	ServerPort                   int64  `json:"server_port" envconfig:"SERVER_PORT" default:"8081"`
	FirstBlockHeight             int64  `json:"first_block_height" envconfig:"FIRST_BLOCK_HEIGHT" default:"1"`
	IndexWorkerInterval          string `json:"index_worker_interval" envconfig:"INDEX_WORKER_INTERVAL" default:"@every 15m"`
	SummarizeWorkerInterval      string `json:"summarize_worker_interval" envconfig:"SUMMARIZE_WORKER_INTERVAL" default:"@every 20m"`
	PurgeWorkerInterval          string `json:"purge_worker_interval" envconfig:"PURGE_WORKER_INTERVAL" default:"@every 1h"`
	FetchIdentitiesInterval      string `json:"fetch_identities_interval" envconfig:"FETCH_IDENTITIES_INTERVAL" default:"@every 1h"`
	UpdateProposalsInterval      string `json:"update_proposals_interval" envconfig:"UPDATE_PROPOSALS_INTERVAL" default:"@every 24h"`
	DefaultBatchSize             int64  `json:"default_batch_size" envconfig:"DEFAULT_BATCH_SIZE" default:"0"`
	DatabaseDSN                  string `json:"database_dsn" envconfig:"DATABASE_DSN"`
	Debug                        bool   `json:"debug" envconfig:"DEBUG"`
	LogLevel                     string `json:"log_level" envconfig:"LOG_LEVEL" default:"info"`
	LogOutput                    string `json:"log_output" envconfig:"LOG_OUTPUT" default:"stdout"`
	IndexerMetricAddr            string `json:"indexer_metric_addr" envconfig:"INDEXER_METRIC_ADDR" default:"127.0.0.1:8080"`
	ServerMetricAddr             string `json:"server_metric_addr" envconfig:"SERVER_METRIC_ADDR" default:"127.0.0.1:8090"`
	FetcherMetricAddr            string `json:"fetcher_metric_addr" envconfig:"FETCHER_METRIC_ADDR" default:"127.0.0.1:8100"`
	PurgeSequencesInterval       string `json:"purge_sequences_interval" envconfig:"PURGE_SEQUENCES_INTERVAL" default:"26 hours"`
	PurgeHourlySummariesInterval string `json:"purge_hourly_summaries_interval" envconfig:"PURGE_HOURLY_SUMMARIES_INTERVAL" default:"26h"`
	IndexerConfigFile            string `json:"indexer_config_file" envconfig:"INDEXER_CONFIG_FILE" default:"indexer_config.json"`
	TheCeloBaseUrl               string `json:"the_celo_base_url" envconfig:"THE_CELO_BASE_URL" default:"https://thecelo.com/api/v0.1"`
	FetchWorkers                 string `json:"fetch_workers" envconfig:"FETCH_WORKERS" default:"127.0.0.1:7000"`
	FetchWorkerAddr              string `json:"fetch_worker_addr" envconfig:"FETCH_WORKER_ADDR" default:"0.0.0.0"`
	FetchWorkerPort              int64  `json:"fetch_worker_port" envconfig:"FETCH_WORKER_PORT" default:"7000"`
	FetchInterval                string `json:"fetch_interval" envconfig:"FETCH_INTERVAL" default:"1s"`
	AWSRegion                    string `json:"aws_region" envconfig:"AWS_REGION" default:"us-east-1"`
	S3Bucket                     string `json:"aws_s3_bucket" envconfig:"AWS_S3_BUCKET"`
}

Config holds the configuration data

func New

func New() *Config

New returns a new config

func (*Config) FetchWorkerEndpoints added in v0.2.0

func (c *Config) FetchWorkerEndpoints() []string

FetchWorkerEndpoints returns fetch worker endpoints

func (*Config) FetchWorkerListenAddr added in v0.2.0

func (c *Config) FetchWorkerListenAddr() string

FetchWorkerListenAddr returns the listen address for the fetch worker

func (*Config) IsDevelopment

func (c *Config) IsDevelopment() bool

IsDevelopment returns true if app is in dev mode

func (*Config) IsProduction

func (c *Config) IsProduction() bool

IsProduction returns true if app is in production mode

func (*Config) ServerListenAddr added in v0.2.0

func (c *Config) ServerListenAddr() string

ServerListenAddr returns the listen address for the API server

func (*Config) Validate

func (c *Config) Validate() error

Validate returns an error if config is invalid

Jump to

Keyboard shortcuts

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