config

package
v0.0.0-...-bc03976 Latest Latest
Warning

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

Go to latest
Published: Sep 8, 2024 License: BSD-3-Clause Imports: 53 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DefaultHTTPPort    = 9650
	DefaultStakingPort = 9651

	AvalancheGoDataDirVar = "AVALANCHEGO_DATA_DIR"

	DefaultProcessContextFilename = "process.json"
)
View Source
const (
	DataDirKey                             = "data-dir"
	ConfigFileKey                          = "config-file"
	ConfigContentKey                       = "config-file-content"
	ConfigContentTypeKey                   = "config-file-content-type"
	VersionKey                             = "version"
	VersionJSONKey                         = "version-json"
	GenesisFileKey                         = "genesis-file"
	GenesisFileContentKey                  = "genesis-file-content"
	UpgradeFileKey                         = "upgrade-file"
	UpgradeFileContentKey                  = "upgrade-file-content"
	NetworkNameKey                         = "network-id"
	ACPSupportKey                          = "acp-support"
	ACPObjectKey                           = "acp-object"
	DynamicFeesBandwidthWeightKey          = "dynamic-fees-bandwidth-weight"
	DynamicFeesDBReadWeightKey             = "dynamic-fees-db-read-weight"
	DynamicFeesDBWriteWeightKey            = "dynamic-fees-db-write-weight"
	DynamicFeesComputeWeightKey            = "dynamic-fees-compute-weight"
	DynamicFeesMaxGasCapacityKey           = "dynamic-fees-max-gas-capacity"
	DynamicFeesMaxGasPerSecondKey          = "dynamic-fees-max-gas-per-second"
	DynamicFeesTargetGasPerSecondKey       = "dynamic-fees-target-gas-per-second"
	DynamicFeesMinGasPriceKey              = "dynamic-fees-min-gas-price"
	DynamicFeesExcessConversionConstantKey = "dynamic-fees-excess-conversion-constant"
	TxFeeKey                               = "tx-fee"
	CreateAssetTxFeeKey                    = "create-asset-tx-fee"
	CreateSubnetTxFeeKey                   = "create-subnet-tx-fee"
	TransformSubnetTxFeeKey                = "transform-subnet-tx-fee"
	CreateBlockchainTxFeeKey               = "create-blockchain-tx-fee"
	AddPrimaryNetworkValidatorFeeKey       = "add-primary-network-validator-fee"
	AddPrimaryNetworkDelegatorFeeKey       = "add-primary-network-delegator-fee"
	AddSubnetValidatorFeeKey               = "add-subnet-validator-fee"
	AddSubnetDelegatorFeeKey               = "add-subnet-delegator-fee"
	UptimeRequirementKey                   = "uptime-requirement"
	MinValidatorStakeKey                   = "min-validator-stake"
	MaxValidatorStakeKey                   = "max-validator-stake"
	MinDelegatorStakeKey                   = "min-delegator-stake"
	MinDelegatorFeeKey                     = "min-delegation-fee"
	MinStakeDurationKey                    = "min-stake-duration"
	MaxStakeDurationKey                    = "max-stake-duration"
	StakeMaxConsumptionRateKey             = "stake-max-consumption-rate"
	StakeMinConsumptionRateKey             = "stake-min-consumption-rate"
	StakeMintingPeriodKey                  = "stake-minting-period"
	StakeSupplyCapKey                      = "stake-supply-cap"
	DBTypeKey                              = "db-type"
	DBReadOnlyKey                          = "db-read-only"
	DBPathKey                              = "db-dir"
	DBConfigFileKey                        = "db-config-file"
	DBConfigContentKey                     = "db-config-file-content"
	PublicIPKey                            = "public-ip"
	PublicIPResolutionFreqKey              = "public-ip-resolution-frequency"
	PublicIPResolutionServiceKey           = "public-ip-resolution-service"
	HTTPHostKey                            = "http-host"
	HTTPPortKey                            = "http-port"
	HTTPSEnabledKey                        = "http-tls-enabled"
	HTTPSKeyFileKey                        = "http-tls-key-file"
	HTTPSKeyContentKey                     = "http-tls-key-file-content"
	HTTPSCertFileKey                       = "http-tls-cert-file"
	HTTPSCertContentKey                    = "http-tls-cert-file-content"

	HTTPAllowedOrigins       = "http-allowed-origins"
	HTTPAllowedHostsKey      = "http-allowed-hosts"
	HTTPShutdownTimeoutKey   = "http-shutdown-timeout"
	HTTPShutdownWaitKey      = "http-shutdown-wait"
	HTTPReadTimeoutKey       = "http-read-timeout"
	HTTPReadHeaderTimeoutKey = "http-read-header-timeout"

	HTTPIdleTimeoutKey                                 = "http-idle-timeout"
	StateSyncIPsKey                                    = "state-sync-ips"
	StateSyncIDsKey                                    = "state-sync-ids"
	BootstrapIPsKey                                    = "bootstrap-ips"
	BootstrapIDsKey                                    = "bootstrap-ids"
	StakingHostKey                                     = "staking-host"
	StakingPortKey                                     = "staking-port"
	StakingEphemeralCertEnabledKey                     = "staking-ephemeral-cert-enabled"
	StakingTLSKeyPathKey                               = "staking-tls-key-file"
	StakingTLSKeyContentKey                            = "staking-tls-key-file-content"
	StakingCertPathKey                                 = "staking-tls-cert-file"
	StakingCertContentKey                              = "staking-tls-cert-file-content"
	StakingEphemeralSignerEnabledKey                   = "staking-ephemeral-signer-enabled"
	StakingSignerKeyPathKey                            = "staking-signer-key-file"
	StakingSignerKeyContentKey                         = "staking-signer-key-file-content"
	SybilProtectionEnabledKey                          = "sybil-protection-enabled"
	SybilProtectionDisabledWeightKey                   = "sybil-protection-disabled-weight"
	NetworkInitialTimeoutKey                           = "network-initial-timeout"
	NetworkMinimumTimeoutKey                           = "network-minimum-timeout"
	NetworkMaximumTimeoutKey                           = "network-maximum-timeout"
	NetworkMaximumInboundTimeoutKey                    = "network-maximum-inbound-timeout"
	NetworkTimeoutHalflifeKey                          = "network-timeout-halflife"
	NetworkTimeoutCoefficientKey                       = "network-timeout-coefficient"
	NetworkHealthMinPeersKey                           = "network-health-min-conn-peers"
	NetworkHealthMaxTimeSinceMsgReceivedKey            = "network-health-max-time-since-msg-received"
	NetworkHealthMaxTimeSinceMsgSentKey                = "network-health-max-time-since-msg-sent"
	NetworkHealthMaxPortionSendQueueFillKey            = "network-health-max-portion-send-queue-full"
	NetworkHealthMaxSendFailRateKey                    = "network-health-max-send-fail-rate"
	NetworkHealthMaxOutstandingDurationKey             = "network-health-max-outstanding-request-duration"
	NetworkPeerListNumValidatorIPsKey                  = "network-peer-list-num-validator-ips"
	NetworkPeerListPullGossipFreqKey                   = "network-peer-list-pull-gossip-frequency"
	NetworkPeerListBloomResetFreqKey                   = "network-peer-list-bloom-reset-frequency"
	NetworkInitialReconnectDelayKey                    = "network-initial-reconnect-delay"
	NetworkReadHandshakeTimeoutKey                     = "network-read-handshake-timeout"
	NetworkPingTimeoutKey                              = "network-ping-timeout"
	NetworkPingFrequencyKey                            = "network-ping-frequency"
	NetworkMaxReconnectDelayKey                        = "network-max-reconnect-delay"
	NetworkCompressionTypeKey                          = "network-compression-type"
	NetworkMaxClockDifferenceKey                       = "network-max-clock-difference"
	NetworkAllowPrivateIPsKey                          = "network-allow-private-ips"
	NetworkRequireValidatorToConnectKey                = "network-require-validator-to-connect"
	NetworkPeerReadBufferSizeKey                       = "network-peer-read-buffer-size"
	NetworkPeerWriteBufferSizeKey                      = "network-peer-write-buffer-size"
	NetworkTCPProxyEnabledKey                          = "network-tcp-proxy-enabled"
	NetworkTCPProxyReadTimeoutKey                      = "network-tcp-proxy-read-timeout"
	NetworkTLSKeyLogFileKey                            = "network-tls-key-log-file-unsafe"
	NetworkInboundConnUpgradeThrottlerCooldownKey      = "network-inbound-connection-throttling-cooldown"
	NetworkInboundThrottlerMaxConnsPerSecKey           = "network-inbound-connection-throttling-max-conns-per-sec"
	NetworkOutboundConnectionThrottlingRpsKey          = "network-outbound-connection-throttling-rps"
	NetworkOutboundConnectionTimeoutKey                = "network-outbound-connection-timeout"
	BenchlistFailThresholdKey                          = "benchlist-fail-threshold"
	BenchlistDurationKey                               = "benchlist-duration"
	BenchlistMinFailingDurationKey                     = "benchlist-min-failing-duration"
	LogsDirKey                                         = "log-dir"
	LogLevelKey                                        = "log-level"
	LogDisplayLevelKey                                 = "log-display-level"
	LogFormatKey                                       = "log-format"
	LogRotaterMaxSizeKey                               = "log-rotater-max-size"
	LogRotaterMaxFilesKey                              = "log-rotater-max-files"
	LogRotaterMaxAgeKey                                = "log-rotater-max-age"
	LogRotaterCompressEnabledKey                       = "log-rotater-compress-enabled"
	LogDisableDisplayPluginLogsKey                     = "log-disable-display-plugin-logs"
	SnowSampleSizeKey                                  = "snow-sample-size"
	SnowQuorumSizeKey                                  = "snow-quorum-size"
	SnowPreferenceQuorumSizeKey                        = "snow-preference-quorum-size"
	SnowConfidenceQuorumSizeKey                        = "snow-confidence-quorum-size"
	SnowCommitThresholdKey                             = "snow-commit-threshold"
	SnowConcurrentRepollsKey                           = "snow-concurrent-repolls"
	SnowOptimalProcessingKey                           = "snow-optimal-processing"
	SnowMaxProcessingKey                               = "snow-max-processing"
	SnowMaxTimeProcessingKey                           = "snow-max-time-processing"
	PartialSyncPrimaryNetworkKey                       = "partial-sync-primary-network"
	TrackSubnetsKey                                    = "track-subnets"
	AdminAPIEnabledKey                                 = "api-admin-enabled"
	InfoAPIEnabledKey                                  = "api-info-enabled"
	KeystoreAPIEnabledKey                              = "api-keystore-enabled"
	MetricsAPIEnabledKey                               = "api-metrics-enabled"
	HealthAPIEnabledKey                                = "api-health-enabled"
	MeterVMsEnabledKey                                 = "meter-vms-enabled"
	ConsensusAppConcurrencyKey                         = "consensus-app-concurrency"
	ConsensusShutdownTimeoutKey                        = "consensus-shutdown-timeout"
	ConsensusFrontierPollFrequencyKey                  = "consensus-frontier-poll-frequency"
	ProposerVMUseCurrentHeightKey                      = "proposervm-use-current-height"
	FdLimitKey                                         = "fd-limit"
	IndexEnabledKey                                    = "index-enabled"
	IndexAllowIncompleteKey                            = "index-allow-incomplete"
	RouterHealthMaxDropRateKey                         = "router-health-max-drop-rate"
	RouterHealthMaxOutstandingRequestsKey              = "router-health-max-outstanding-requests"
	HealthCheckFreqKey                                 = "health-check-frequency"
	HealthCheckAveragerHalflifeKey                     = "health-check-averager-halflife"
	PluginDirKey                                       = "plugin-dir"
	BootstrapBeaconConnectionTimeoutKey                = "bootstrap-beacon-connection-timeout"
	BootstrapMaxTimeGetAncestorsKey                    = "bootstrap-max-time-get-ancestors"
	BootstrapAncestorsMaxContainersSentKey             = "bootstrap-ancestors-max-containers-sent"
	BootstrapAncestorsMaxContainersReceivedKey         = "bootstrap-ancestors-max-containers-received"
	ChainDataDirKey                                    = "chain-data-dir"
	ChainConfigDirKey                                  = "chain-config-dir"
	ChainConfigContentKey                              = "chain-config-content"
	SubnetConfigDirKey                                 = "subnet-config-dir"
	SubnetConfigContentKey                             = "subnet-config-content"
	ProfileDirKey                                      = "profile-dir"
	ProfileContinuousEnabledKey                        = "profile-continuous-enabled"
	ProfileContinuousFreqKey                           = "profile-continuous-freq"
	ProfileContinuousMaxFilesKey                       = "profile-continuous-max-files"
	InboundThrottlerAtLargeAllocSizeKey                = "throttler-inbound-at-large-alloc-size"
	InboundThrottlerVdrAllocSizeKey                    = "throttler-inbound-validator-alloc-size"
	InboundThrottlerNodeMaxAtLargeBytesKey             = "throttler-inbound-node-max-at-large-bytes"
	InboundThrottlerMaxProcessingMsgsPerNodeKey        = "throttler-inbound-node-max-processing-msgs"
	InboundThrottlerBandwidthRefillRateKey             = "throttler-inbound-bandwidth-refill-rate"
	InboundThrottlerBandwidthMaxBurstSizeKey           = "throttler-inbound-bandwidth-max-burst-size"
	InboundThrottlerCPUMaxRecheckDelayKey              = "throttler-inbound-cpu-max-recheck-delay"
	InboundThrottlerDiskMaxRecheckDelayKey             = "throttler-inbound-disk-max-recheck-delay"
	CPUVdrAllocKey                                     = "throttler-inbound-cpu-validator-alloc"
	CPUMaxNonVdrUsageKey                               = "throttler-inbound-cpu-max-non-validator-usage"
	CPUMaxNonVdrNodeUsageKey                           = "throttler-inbound-cpu-max-non-validator-node-usage"
	SystemTrackerFrequencyKey                          = "system-tracker-frequency"
	SystemTrackerProcessingHalflifeKey                 = "system-tracker-processing-halflife"
	SystemTrackerCPUHalflifeKey                        = "system-tracker-cpu-halflife"
	SystemTrackerDiskHalflifeKey                       = "system-tracker-disk-halflife"
	SystemTrackerRequiredAvailableDiskSpaceKey         = "system-tracker-disk-required-available-space"
	SystemTrackerWarningThresholdAvailableDiskSpaceKey = "system-tracker-disk-warning-threshold-available-space"
	DiskVdrAllocKey                                    = "throttler-inbound-disk-validator-alloc"
	DiskMaxNonVdrUsageKey                              = "throttler-inbound-disk-max-non-validator-usage"
	DiskMaxNonVdrNodeUsageKey                          = "throttler-inbound-disk-max-non-validator-node-usage"
	OutboundThrottlerAtLargeAllocSizeKey               = "throttler-outbound-at-large-alloc-size"
	OutboundThrottlerVdrAllocSizeKey                   = "throttler-outbound-validator-alloc-size"
	OutboundThrottlerNodeMaxAtLargeBytesKey            = "throttler-outbound-node-max-at-large-bytes"
	UptimeMetricFreqKey                                = "uptime-metric-freq"
	VMAliasesFileKey                                   = "vm-aliases-file"
	VMAliasesContentKey                                = "vm-aliases-file-content"
	ChainAliasesFileKey                                = "chain-aliases-file"
	ChainAliasesContentKey                             = "chain-aliases-file-content"
	TracingEnabledKey                                  = "tracing-enabled"
	TracingEndpointKey                                 = "tracing-endpoint"
	TracingInsecureKey                                 = "tracing-insecure"
	TracingSampleRateKey                               = "tracing-sample-rate"
	TracingExporterTypeKey                             = "tracing-exporter-type"
	TracingHeadersKey                                  = "tracing-headers"
	ProcessContextFileKey                              = "process-context-file"
)
View Source
const EnvPrefix = "avago"
View Source
const HTTPWriteTimeoutKey = "http-write-timeout" // #nosec G101

the HTTPWriteTimeoutKey was moved here so that it would not generate the false-positive linter error "G101: Potential hardcoded credentials" when running golangci-lint.

Variables

View Source
var DashesToUnderscores = strings.NewReplacer("-", "_")

Functions

func BuildFlagSet

func BuildFlagSet() *pflag.FlagSet

BuildFlagSet returns a complete set of flags for avalanchego

func BuildViper

func BuildViper(fs *pflag.FlagSet, args []string) (*viper.Viper, error)

BuildViper returns the viper environment from parsing config file from default search paths and any parsed command line flags

func GetExpandedArg

func GetExpandedArg(v *viper.Viper, key string) string

GetExpandedArg gets the string in viper corresponding to [key] and expands any variables using the OS env. If the AvalancheGoDataDirVar var is used, we expand the value of the variable with the string in viper corresponding to DataDirKey.

func GetExpandedString

func GetExpandedString(v *viper.Viper, s string) string

GetExpandedString expands [s] with any variables using the OS env. If the AvalancheGoDataDirVar var is used, we expand the value of the variable with the string in viper corresponding to DataDirKey.

func GetNodeConfig

func GetNodeConfig(v *viper.Viper) (node.Config, error)

Types

This section is empty.

Jump to

Keyboard shortcuts

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