Documentation ¶
Index ¶
- Constants
- Variables
- func GetConfigPath() string
- func GetConfigRoot() string
- func ParseConfigName(configName string) (common.Blockchain, common.Network, api.SideChain, error)
- func WithCustomConfig(config *Config) fx.Option
- type AWSAccount
- type AccountConfig
- type ApiConfig
- type AuthClient
- type AuthConfig
- type AwsConfig
- type BackfillerWorkflowConfig
- type BaseWorkflowConfig
- type BenchmarkerWorkflowConfig
- type BlobStorageType
- type BlockTagConfig
- type CadenceConfig
- type CadenceTLSConfig
- type ChainConfig
- type ClientConfig
- type ClientRetryConfig
- type Config
- func (c *Config) AwsEnv() string
- func (c *Config) Blockchain() common.Blockchain
- func (c *Config) Env() Env
- func (c *Config) GetChainMetadataHelper(req *api.GetChainMetadataRequest) (*api.GetChainMetadataResponse, error)
- func (c *Config) GetCommonTags() map[string]string
- func (c *Config) GetEffectiveBlockTag(tag uint32) uint32
- func (c *Config) GetEffectiveEventTag(eventTag uint32) uint32
- func (c *Config) GetLatestBlockTag() uint32
- func (c *Config) GetLatestEventTag() uint32
- func (c *Config) GetStableBlockTag() uint32
- func (c *Config) GetStableEventTag() uint32
- func (c *Config) IsCI() bool
- func (c *Config) IsFunctionalTest() bool
- func (c *Config) IsIntegrationTest() bool
- func (c *Config) IsRosetta() bool
- func (c *Config) IsTest() bool
- func (c *Config) Namespace() string
- func (c *Config) Network() common.Network
- func (c *Config) Sidechain() api.SideChain
- func (c *Config) Tier() int
- type ConfigOption
- type CronConfig
- type CrossValidatorWorkflowConfig
- type DLQType
- type DynamoDBConfig
- type Endpoint
- type EndpointConfig
- type EndpointGroup
- type Env
- type EventBackfillerWorkflowConfig
- type EventTagConfig
- type FeatureConfig
- type FunctionalTest
- type FunctionalTestConfig
- type GcpConfig
- type JSONRPCConfig
- type MetaStorageType
- type MonitorWorkflowConfig
- type Params
- type PollerWorkflowConfig
- type RateLimitConfig
- type ReplicatorWorkflowConfig
- type RetryPolicy
- type RosettaConfig
- type SDKConfig
- type SLAConfig
- type SQSConfig
- type ServerConfig
- type StatsDConfig
- type StickySessionConfig
- type StorageConfig
- type StorageType
- type StreamerWorkflowConfig
- type WorkerConfig
- type WorkflowConfig
- type WorkflowsConfig
Constants ¶
View Source
const ( EnvVarNamespace = "CHAINSTORAGE_NAMESPACE" EnvVarConfigName = "CHAINSTORAGE_CONFIG" EnvVarEnvironment = "CHAINSTORAGE_ENVIRONMENT" EnvVarConfigRoot = "CHAINSTORAGE_CONFIG_ROOT" EnvVarConfigPath = "CHAINSTORAGE_CONFIG_PATH" EnvVarTestType = "TEST_TYPE" EnvVarCI = "CI" CurrentFileName = "/internal/config/config.go" DefaultNamespace = "chainstorage" DefaultConfigName = "ethereum-mainnet" EnvBase Env = "base" EnvLocal Env = "local" EnvDevelopment Env = "development" EnvProduction Env = "production" BlobStorageType_UNSPECIFIED BlobStorageType = 0 BlobStorageType_S3 BlobStorageType = 1 BlobStorageType_GCS BlobStorageType = 2 MetaStorageType_UNSPECIFIED MetaStorageType = 0 MetaStorageType_DYNAMODB MetaStorageType = 1 MetaStorageType_FIRESTORE MetaStorageType = 2 DLQType_UNSPECIFIED DLQType = 0 DLQType_SQS DLQType = 1 DLQType_FIRESTORE DLQType = 2 AWSAccountDevelopment AWSAccount = "development" AWSAccountProduction AWSAccount = "production" )
Variables ¶
View Source
var ( AWSAccountEnvMap = map[AWSAccount]Env{ "": EnvLocal, AWSAccountDevelopment: EnvDevelopment, AWSAccountProduction: EnvProduction, } AWSAccountShortMap = map[AWSAccount]string{ AWSAccountDevelopment: "dev", AWSAccountProduction: "prod", } BlobStorageType_value = map[string]int32{ "UNSPECIFIED": 0, "S3": 1, "GCS": 2, } MetaStorageType_value = map[string]int32{ "UNSPECIFIED": 0, "DYNAMODB": 1, "FIRESTORE": 2, } DLQType_value = map[string]int32{ "UNSPECIFIED": 0, "SQS": 1, "FIRESTORE": 2, } )
Functions ¶
func GetConfigPath ¶
func GetConfigPath() string
func GetConfigRoot ¶
func GetConfigRoot() string
func ParseConfigName ¶
func WithCustomConfig ¶
WithCustomConfig injects a custom config to replace the default one.
Types ¶
type AWSAccount ¶
type AWSAccount string
type AccountConfig ¶
type ApiConfig ¶
type ApiConfig struct { MaxNumBlocks uint64 `mapstructure:"max_num_blocks" validate:"required"` MaxNumBlockFiles uint64 `mapstructure:"max_num_block_files" validate:"required"` NumWorkers uint64 `mapstructure:"num_workers" validate:"required"` StreamingInterval time.Duration `mapstructure:"streaming_interval" validate:"required"` StreamingBatchSize uint64 `mapstructure:"streaming_batch_size" validate:"required"` StreamingMaxNoEventTime time.Duration `mapstructure:"streaming_max_no_event_time" validate:"required"` Auth AuthConfig `mapstructure:"auth"` RateLimit RateLimitConfig `mapstructure:"rate_limit"` }
type AuthClient ¶
type AuthConfig ¶
type AuthConfig struct { Clients []AuthClient `json:"clients"` DefaultRPS int `json:"default_rps"` }
func (*AuthConfig) AsMap ¶
func (c *AuthConfig) AsMap() map[string]*AuthClient
func (*AuthConfig) UnmarshalText ¶
func (c *AuthConfig) UnmarshalText(text []byte) error
type AwsConfig ¶
type AwsConfig struct { Region string `mapstructure:"region" validate:"required"` Bucket string `mapstructure:"bucket" validate:"required"` DynamoDB DynamoDBConfig `mapstructure:"dynamodb" validate:"required"` IsLocalStack bool `mapstructure:"local_stack"` IsResetLocal bool `mapstructure:"reset_local"` PresignedUrlExpiration time.Duration `mapstructure:"presigned_url_expiration" validate:"required"` DLQ SQSConfig `mapstructure:"dlq"` Storage StorageConfig `mapstructure:"storage"` AWSAccount AWSAccount `mapstructure:"aws_account" validate:"required"` }
func (*AwsConfig) DeriveConfig ¶
type BackfillerWorkflowConfig ¶
type BackfillerWorkflowConfig struct { WorkflowConfig `mapstructure:",squash"` BatchSize uint64 `mapstructure:"batch_size" validate:"required"` MiniBatchSize uint64 `mapstructure:"mini_batch_size" validate:"required"` CheckpointSize uint64 `mapstructure:"checkpoint_size" validate:"required,gtfield=BatchSize"` MaxReprocessedPerBatch uint64 `mapstructure:"max_reprocessed_per_batch"` NumConcurrentExtractors int `mapstructure:"num_concurrent_extractors" validate:"required"` }
type BaseWorkflowConfig ¶
type BaseWorkflowConfig interface {
Base() *WorkflowConfig
}
type BenchmarkerWorkflowConfig ¶
type BenchmarkerWorkflowConfig struct { WorkflowConfig `mapstructure:",squash"` ChildWorkflowExecutionStartToCloseTimeout time.Duration `mapstructure:"child_workflow_execution_start_to_close_timeout" validate:"required"` }
type BlobStorageType ¶
type BlobStorageType int32
type BlockTagConfig ¶
type BlockTagConfig struct { Stable uint32 `mapstructure:"stable"` Latest uint32 `mapstructure:"latest"` }
func (*BlockTagConfig) GetEffectiveBlockTag ¶
func (c *BlockTagConfig) GetEffectiveBlockTag(tag uint32) uint32
GetEffectiveBlockTag returns the effective tag value. Because tag zero was chosen as the first valid tag, it is impossible to tell whether the tag field is omitted or tag zero is explicitly requested. Given that most users will need the stable tag by default, this function returns the stable tag if tag has the default zero value. To request for tag zero, MaxUint32 (4294967295) should be specified.
type CadenceConfig ¶
type CadenceConfig struct { Address string `mapstructure:"address" validate:"required"` Domain string `mapstructure:"domain" validate:"required"` RetentionPeriod int32 `mapstructure:"retention_period" validate:"required"` TLSConfig CadenceTLSConfig `mapstructure:"tls" validate:"required"` }
func (*CadenceConfig) DeriveConfig ¶
func (c *CadenceConfig) DeriveConfig(cfg *Config)
type CadenceTLSConfig ¶
type CadenceTLSConfig struct { Enabled bool `mapstructure:"enabled"` ValidateHostname bool `mapstructure:"validate_hostname"` CertificateAuthority string `mapstructure:"certificate_authority"` ClientCertificate string `mapstructure:"client_certificate"` ClientPrivateKey string `mapstructure:"client_private_key"` }
type ChainConfig ¶
type ChainConfig struct { Blockchain common.Blockchain `mapstructure:"blockchain" validate:"required"` Network common.Network `mapstructure:"network" validate:"required"` Sidechain api.SideChain `mapstructure:"sidechain"` BlockTag BlockTagConfig `mapstructure:"block_tag"` EventTag EventTagConfig `mapstructure:"event_tag"` Client ClientConfig `mapstructure:"client"` Feature FeatureConfig `mapstructure:"feature"` BlockStartHeight uint64 `mapstructure:"block_start_height"` // IrreversibleDistance is the maximum distance between the current block height and the last irreversible block height, also // known as the max reorg distance, finalization depth. This does not have a default value and must be set by the onboarding user. IrreversibleDistance uint64 `mapstructure:"irreversible_distance" validate:"required"` Rosetta RosettaConfig `mapstructure:"rosetta"` BlockTime time.Duration `mapstructure:"block_time" validate:"required"` }
type ClientConfig ¶
type ClientConfig struct { Master JSONRPCConfig `mapstructure:"master"` Slave JSONRPCConfig `mapstructure:"slave"` Validator JSONRPCConfig `mapstructure:"validator"` Consensus JSONRPCConfig `mapstructure:"consensus"` Retry ClientRetryConfig `mapstructure:"retry"` HttpTimeout time.Duration `mapstructure:"http_timeout"` }
type ClientRetryConfig ¶
type ClientRetryConfig struct {
MaxAttempts int `mapstructure:"max_attempts"`
}
type Config ¶
type Config struct { ConfigName string `mapstructure:"config_name" validate:"required"` StorageType StorageType `mapstructure:"storage_type"` Chain ChainConfig `mapstructure:"chain"` AWS AwsConfig `mapstructure:"aws"` GCP *GcpConfig `mapstructure:"gcp"` Cadence CadenceConfig `mapstructure:"cadence"` Workflows WorkflowsConfig `mapstructure:"workflows"` Api ApiConfig `mapstructure:"api"` SDK SDKConfig `mapstructure:"sdk"` Server ServerConfig `mapstructure:"server"` Cron CronConfig `mapstructure:"cron"` SLA SLAConfig `mapstructure:"sla"` FunctionalTest FunctionalTestConfig `mapstructure:"functional_test"` StatsD *StatsDConfig `mapstructure:"statsd"` // contains filtered or unexported fields }
func New ¶
func New(opts ...ConfigOption) (*Config, error)
func (*Config) Blockchain ¶
func (c *Config) Blockchain() common.Blockchain
func (*Config) GetChainMetadataHelper ¶
func (c *Config) GetChainMetadataHelper(req *api.GetChainMetadataRequest) (*api.GetChainMetadataResponse, error)
func (*Config) GetCommonTags ¶
func (*Config) GetEffectiveBlockTag ¶
func (*Config) GetEffectiveEventTag ¶
func (*Config) GetLatestBlockTag ¶
func (*Config) GetLatestEventTag ¶
func (*Config) GetStableBlockTag ¶
func (*Config) GetStableEventTag ¶
func (*Config) IsFunctionalTest ¶
func (*Config) IsIntegrationTest ¶
type ConfigOption ¶
type ConfigOption func(options *configOptions)
func WithBlockchain ¶
func WithBlockchain(blockchain common.Blockchain) ConfigOption
func WithEnvironment ¶
func WithEnvironment(env Env) ConfigOption
func WithNamespace ¶
func WithNamespace(namespace string) ConfigOption
func WithNetwork ¶
func WithNetwork(network common.Network) ConfigOption
func WithSidechain ¶
func WithSidechain(sidechain api.SideChain) ConfigOption
type CronConfig ¶
type CronConfig struct { BlockRangeSize uint64 `mapstructure:"block_range_size" validate:"required"` DisableDLQProcessor bool `mapstructure:"disable_dlq_processor"` DisablePollingCanary bool `mapstructure:"disable_polling_canary"` DisableStreamingCanary bool `mapstructure:"disable_streaming_canary"` DisableNodeCanary bool `mapstructure:"disable_node_canary"` DisableWorkflowStatus bool `mapstructure:"disable_workflow_status"` }
type CrossValidatorWorkflowConfig ¶
type CrossValidatorWorkflowConfig struct { WorkflowConfig `mapstructure:",squash"` BatchSize uint64 `mapstructure:"batch_size" validate:"required"` CheckpointSize uint64 `mapstructure:"checkpoint_size" validate:"required"` BackoffInterval time.Duration `mapstructure:"backoff_interval"` Parallelism int `mapstructure:"parallelism" validate:"required,gt=0"` ValidationStartHeight uint64 `mapstructure:"validation_start_height"` ValidationPercentage int `mapstructure:"validation_percentage" validate:"min=0,max=100"` }
type DynamoDBConfig ¶
type DynamoDBConfig struct { BlockTable string `mapstructure:"block_table" validate:"required"` EventTable string `mapstructure:"event_table"` EventTableHeightIndex string `mapstructure:"event_table_height_index"` VersionedEventTable string `mapstructure:"versioned_event_table" validate:"required"` VersionedEventTableBlockIndex string `mapstructure:"versioned_event_table_block_index" validate:"required"` TransactionTable string `mapstructure:"transaction_table"` Arn string `mapstructure:"arn"` }
type EndpointConfig ¶
type EndpointConfig struct { StickySession StickySessionConfig `json:"sticky_session"` Headers map[string]string `json:"headers"` }
type EndpointGroup ¶
type EndpointGroup struct { Endpoints []Endpoint `json:"endpoints"` EndpointsFailover []Endpoint `json:"endpoints_failover"` UseFailover bool `json:"use_failover"` EndpointConfig EndpointConfig `json:"endpoint_config"` EndpointConfigFailover EndpointConfig `json:"endpoint_config_failover"` }
func (*EndpointGroup) ActiveStickySession ¶
func (e *EndpointGroup) ActiveStickySession() *StickySessionConfig
func (*EndpointGroup) Empty ¶
func (e *EndpointGroup) Empty() bool
func (*EndpointGroup) UnmarshalText ¶
func (e *EndpointGroup) UnmarshalText(text []byte) error
type EventBackfillerWorkflowConfig ¶
type EventBackfillerWorkflowConfig struct { WorkflowConfig `mapstructure:",squash"` BatchSize uint64 `mapstructure:"batch_size" validate:"required"` CheckpointSize uint64 `mapstructure:"checkpoint_size" validate:"required,gtfield=BatchSize"` }
type EventTagConfig ¶
type EventTagConfig struct { Stable uint32 `mapstructure:"stable"` Latest uint32 `mapstructure:"latest"` }
func (*EventTagConfig) GetEffectiveEventTag ¶
func (c *EventTagConfig) GetEffectiveEventTag(eventTag uint32) uint32
type FeatureConfig ¶
type FeatureConfig struct { RosettaParser bool `mapstructure:"rosetta_parser"` DefaultStableEvent bool `mapstructure:"default_stable_event"` TransactionIndexing bool `mapstructure:"transaction_indexing"` BlockValidationEnabled bool `mapstructure:"block_validation_enabled"` BlockValidationMuted bool `mapstructure:"block_validation_muted"` VerifiedAccountStateEnabled bool `mapstructure:"verified_account_state_enabled"` }
type FunctionalTest ¶
type FunctionalTest struct {
ConfigName string `json:"config_name"`
}
type FunctionalTestConfig ¶
type FunctionalTestConfig struct {
SkipFunctionalTest []FunctionalTest `json:"skip_functional_test"`
}
func (*FunctionalTestConfig) Empty ¶
func (f *FunctionalTestConfig) Empty() bool
func (*FunctionalTestConfig) UnmarshalText ¶
func (f *FunctionalTestConfig) UnmarshalText(text []byte) error
type JSONRPCConfig ¶
type JSONRPCConfig struct {
EndpointGroup EndpointGroup `mapstructure:"endpoint_group"`
}
type MetaStorageType ¶
type MetaStorageType int32
type MonitorWorkflowConfig ¶
type MonitorWorkflowConfig struct { WorkflowConfig `mapstructure:",squash"` BatchSize uint64 `mapstructure:"batch_size" validate:"required"` CheckpointSize uint64 `mapstructure:"checkpoint_size" validate:"required"` BackoffInterval time.Duration `mapstructure:"backoff_interval"` Parallelism int `mapstructure:"parallelism" validate:"required,gt=0"` BlockGapLimit uint64 `mapstructure:"block_gap_limit" validate:"required"` EventGapLimit int64 `mapstructure:"event_gap_limit" validate:"required"` }
type PollerWorkflowConfig ¶
type PollerWorkflowConfig struct { WorkflowConfig `mapstructure:",squash"` MaxBlocksToSyncPerCycle uint64 `mapstructure:"max_blocks_to_sync_per_cycle" validate:"required"` CheckpointSize uint64 `mapstructure:"checkpoint_size" validate:"required"` BackoffInterval time.Duration `mapstructure:"backoff_interval"` Parallelism int `mapstructure:"parallelism" validate:"required"` SessionCreationTimeout time.Duration `mapstructure:"session_creation_timeout" validate:"required"` SessionEnabled bool `mapstructure:"session_enabled"` FastSync bool `mapstructure:"fast_sync"` NumBlocksToSkip uint64 `mapstructure:"num_blocks_to_skip"` TransactionsWriteParallelism int `mapstructure:"transactions_write_parallelism"` ConsensusValidation bool `mapstructure:"consensus_validation"` ConsensusValidationMuted bool `mapstructure:"consensus_validation_muted"` LivenessCheckEnabled bool `mapstructure:"liveness_check_enabled"` // LivenessCheckViolationLimit is threshold for liveness check violations before poller failover is triggered. // time to trigger failover = LivenessCheckInterval * LivenessCheckViolationLimit LivenessCheckViolationLimit uint64 `mapstructure:"liveness_check_violation_limit"` // LivenessCheckInterval is the interval between liveness checks. LivenessCheckInterval time.Duration `mapstructure:"liveness_check_interval"` }
type RateLimitConfig ¶
type ReplicatorWorkflowConfig ¶
type ReplicatorWorkflowConfig struct { WorkflowConfig `mapstructure:",squash"` BatchSize uint64 `mapstructure:"batch_size" validate:"required"` MiniBatchSize uint64 `mapstructure:"mini_batch_size" validate:"required"` CheckpointSize uint64 `mapstructure:"checkpoint_size" validate:"required,gtfield=BatchSize"` Parallelism int `mapstructure:"parallelism" validate:"required"` }
type RetryPolicy ¶
type RetryPolicy struct { MaximumAttempts int32 `mapstructure:"maximum_attempts" validate:"required,gt=1"` // 1 means no retries. BackoffCoefficient float64 `mapstructure:"backoff_coefficient" validate:"required"` InitialInterval time.Duration `mapstructure:"initial_interval" validate:"required"` MaximumInterval time.Duration `mapstructure:"maximum_interval" validate:"required"` }
type RosettaConfig ¶
type RosettaConfig struct { Blockchain string `mapstructure:"blockchain"` Network string `mapstructure:"network" validate:"required_with=Blockchain"` BlockNotFoundErrorCodes []int32 `mapstructure:"block_not_found_error_codes"` EnableRawBlockApi bool `mapstructure:"enable_raw_block_api"` FromRosetta bool `mapstructure:"from_rosetta"` }
type SDKConfig ¶
type SDKConfig struct { ChainstorageAddress string `mapstructure:"chainstorage_address" validate:"required"` NumWorkers uint64 `mapstructure:"num_workers" validate:"required"` Restful bool `mapstructure:"restful"` AuthHeader string `mapstructure:"auth_header"` AuthToken string `mapstructure:"auth_token"` }
func (*SDKConfig) DeriveConfig ¶
type SLAConfig ¶
type SLAConfig struct { Tier int `mapstructure:"tier" validate:"required"` // 1 for high urgency; 2 for low urgency; 3 for work in progress. BlockHeightDelta uint64 `mapstructure:"block_height_delta" validate:"required"` BlockTimeDelta time.Duration `mapstructure:"block_time_delta" validate:"required"` TimeSinceLastBlock time.Duration `mapstructure:"time_since_last_block" validate:"required"` EventHeightDelta uint64 `mapstructure:"event_height_delta" validate:"required"` EventTimeDelta time.Duration `mapstructure:"event_time_delta" validate:"required"` TimeSinceLastEvent time.Duration `mapstructure:"time_since_last_event" validate:"required"` OutOfSyncNodeDistance uint64 `mapstructure:"out_of_sync_node_distance" validate:"required"` OutOfSyncValidatorNodeDistance uint64 `mapstructure:"out_of_sync_validator_node_distance"` // If not set, use OutOfSyncNodeDistance. ExpectedWorkflows []string `mapstructure:"expected_workflows"` }
type ServerConfig ¶
type ServerConfig struct {
BindAddress string `mapstructure:"bind_address" validate:"required"`
}
type StatsDConfig ¶
type StickySessionConfig ¶
type StickySessionConfig struct { // The CookieHash method consistently maps a cookie value to a specific node. CookieHash string `json:"cookie_hash"` // The CookiePassive method persists the cookie value provided by the server. CookiePassive bool `json:"cookie_passive"` // The HeaderHash method consistently maps a header value to a specific node. HeaderHash string `json:"header_hash"` }
func (*StickySessionConfig) Enabled ¶
func (e *StickySessionConfig) Enabled() bool
type StorageConfig ¶
type StorageConfig struct {
DataCompression api.Compression `mapstructure:"data_compression"`
}
type StorageType ¶
type StorageType struct { BlobStorageType BlobStorageType `mapstructure:"blob"` MetaStorageType MetaStorageType `mapstructure:"meta"` DLQType DLQType `mapstructure:"dlq"` }
type StreamerWorkflowConfig ¶
type StreamerWorkflowConfig struct { WorkflowConfig `mapstructure:",squash"` BatchSize uint64 `mapstructure:"batch_size" validate:"required"` CheckpointSize uint64 `mapstructure:"checkpoint_size" validate:"required"` BackoffInterval time.Duration `mapstructure:"backoff_interval"` }
type WorkerConfig ¶
type WorkerConfig struct {
TaskList string `mapstructure:"task_list"`
}
type WorkflowConfig ¶
type WorkflowConfig struct { WorkflowIdentity string `mapstructure:"workflow_identity" validate:"required"` Enabled bool `mapstructure:"enabled"` TaskList string `mapstructure:"task_list" validate:"required"` WorkflowRunTimeout time.Duration `mapstructure:"workflow_run_timeout" validate:"required"` WorkflowRetry *RetryPolicy `mapstructure:"workflow_retry"` ActivityScheduleToCloseTimeout time.Duration `mapstructure:"activity_schedule_to_close_timeout" validate:"required"` ActivityStartToCloseTimeout time.Duration `mapstructure:"activity_start_to_close_timeout" validate:"required"` ActivityHeartbeatTimeout time.Duration `mapstructure:"activity_heartbeat_timeout"` ActivityRetry *RetryPolicy `mapstructure:"activity_retry" validate:"required"` BlockTag BlockTagConfig `mapstructure:"block_tag"` EventTag EventTagConfig `mapstructure:"event_tag"` Storage StorageConfig `mapstructure:"storage"` IrreversibleDistance uint64 `mapstructure:"irreversible_distance" validate:"required"` FailoverEnabled bool `mapstructure:"failover_enabled"` ConsensusFailoverEnabled bool `mapstructure:"consensus_failover_enabled"` SLA SLAConfig `mapstructure:"sla"` }
func (*WorkflowConfig) Base ¶
func (c *WorkflowConfig) Base() *WorkflowConfig
func (*WorkflowConfig) DeriveConfig ¶
func (c *WorkflowConfig) DeriveConfig(cfg *Config)
func (*WorkflowConfig) GetEffectiveBlockTag ¶
func (c *WorkflowConfig) GetEffectiveBlockTag(tag uint32) uint32
func (*WorkflowConfig) GetEffectiveEventTag ¶
func (c *WorkflowConfig) GetEffectiveEventTag(eventTag uint32) uint32
type WorkflowsConfig ¶
type WorkflowsConfig struct { Workers []WorkerConfig `mapstructure:"workers"` Backfiller BackfillerWorkflowConfig `mapstructure:"backfiller"` Poller PollerWorkflowConfig `mapstructure:"poller"` Benchmarker BenchmarkerWorkflowConfig `mapstructure:"benchmarker"` Monitor MonitorWorkflowConfig `mapstructure:"monitor"` Streamer StreamerWorkflowConfig `mapstructure:"streamer"` CrossValidator CrossValidatorWorkflowConfig `mapstructure:"cross_validator"` EventBackfiller EventBackfillerWorkflowConfig `mapstructure:"event_backfiller"` Replicator ReplicatorWorkflowConfig `mapstructure:"replicator"` }
Click to show internal directories.
Click to hide internal directories.