Documentation
¶
Overview ¶
Package cresettings contains configurable settings definitions for nodes in the CRE. Environment Variables:
- CL_CRE_SETTINGS_DEFAULT: defaults like in ./defaults.json - initializes Default
- CL_CRE_SETTINGS: scoped settings like in ../settings/testdata/config.json - initializes DefaultGetter
Index ¶
Constants ¶
View Source
const ( EnvNameSettings = "CL_CRE_SETTINGS" EnvNameSettingsDefault = "CL_CRE_SETTINGS_DEFAULT" )
Variables ¶
View Source
var Default = Schema{ WorkflowLimit: Int(200), WorkflowExecutionConcurrencyLimit: Int(200), GatewayIncomingPayloadSizeLimit: Size(1 * config.MByte), GatewayVaultManagementEnabled: Bool(true), VaultCiphertextSizeLimit: Size(2 * config.KByte), VaultIdentifierKeySizeLimit: Size(64 * config.Byte), VaultIdentifierOwnerSizeLimit: Size(64 * config.Byte), VaultIdentifierNamespaceSizeLimit: Size(64 * config.Byte), VaultPluginBatchSizeLimit: Int(20), VaultRequestBatchSizeLimit: Int(10), PerOrg: Orgs{ ZeroBalancePruningTimeout: Duration(24 * time.Hour), }, PerOwner: Owners{ WorkflowExecutionConcurrencyLimit: Int(5), VaultSecretsLimit: Int(100), }, PerWorkflow: Workflows{ TriggerRegistrationsTimeout: Duration(10 * time.Second), TriggerEventQueueLimit: Int(50), TriggerEventQueueTimeout: Duration(10 * time.Minute), TriggerSubscriptionTimeout: Duration(15 * time.Second), TriggerSubscriptionLimit: Int(10), CapabilityConcurrencyLimit: Int(30), CapabilityCallTimeout: Duration(3 * time.Minute), SecretsConcurrencyLimit: Int(5), ExecutionConcurrencyLimit: Int(5), ExecutionTimeout: Duration(5 * time.Minute), ExecutionResponseLimit: Size(100 * config.KByte), WASMMemoryLimit: Size(100 * config.MByte), WASMBinarySizeLimit: Size(100 * config.MByte), WASMCompressedBinarySizeLimit: Size(20 * config.MByte), WASMConfigSizeLimit: Size(config.MByte), WASMSecretsSizeLimit: Size(config.MByte), LogLineLimit: Size(config.KByte), LogEventLimit: Int(1_000), ChainAllowed: PerChainSelector(Bool(false), map[string]bool{ "12922642891491394802": true, "3379446385462418246": true, "12463857294658392847": true, }), CRONTrigger: cronTrigger{ FastestScheduleInterval: Duration(30 * time.Second), }, HTTPTrigger: httpTrigger{ RateLimit: Rate(rate.Every(30*time.Second), 3), }, LogTrigger: logTrigger{ EventRateLimit: Rate(rate.Every(time.Minute/10), 10), FilterAddressLimit: Int(5), FilterTopicsPerSlotLimit: Int(10), EventSizeLimit: Size(5 * config.KByte), }, ChainWrite: chainWrite{ TargetsLimit: Int(10), ReportSizeLimit: Size(5 * config.KByte), EVM: evmChainWrite{ TransactionGasLimit: Uint64(5_000_000), GasLimit: PerChainSelector(Uint64(5_000_000), map[string]uint64{ "3379446385462418246": 10_000_000, "12922642891491394802": 50_000_000, }), }, }, ChainRead: chainRead{ CallLimit: Int(15), LogQueryBlockLimit: Uint64(100), PayloadSizeLimit: Size(5 * config.KByte), }, Consensus: consensus{ ObservationSizeLimit: Size(100 * config.KByte), CallLimit: Int(20), }, HTTPAction: httpAction{ CallLimit: Int(5), CacheAgeLimit: Duration(10 * time.Minute), ConnectionTimeout: Duration(10 * time.Second), RequestSizeLimit: Size(10 * config.KByte), ResponseSizeLimit: Size(100 * config.KByte), }, ConfidentialHTTP: confidentialHTTP{ CallLimit: Int(5), ConnectionTimeout: Duration(10 * time.Second), RequestSizeLimit: Size(10 * config.KByte), ResponseSizeLimit: Size(100 * config.KByte), }, Secrets: secrets{ CallLimit: Int(5), }, }, }
View Source
var DefaultGetter Getter
DefaultGetter is a default settings getter populated from the env var CL_CRE_SETTINGS if set, otherwise it is nil.
Functions ¶
This section is empty.
Types ¶
type Schema ¶ added in v0.9.1
type Schema struct {
WorkflowLimit Setting[int] `unit:"{workflow}"` // Deprecated
WorkflowExecutionConcurrencyLimit Setting[int] `unit:"{workflow}"`
GatewayIncomingPayloadSizeLimit Setting[config.Size]
GatewayVaultManagementEnabled Setting[bool]
VaultCiphertextSizeLimit Setting[config.Size]
VaultIdentifierKeySizeLimit Setting[config.Size]
VaultIdentifierOwnerSizeLimit Setting[config.Size]
VaultIdentifierNamespaceSizeLimit Setting[config.Size]
VaultPluginBatchSizeLimit Setting[int] `unit:"{request}"`
VaultRequestBatchSizeLimit Setting[int] `unit:"{request}"`
PerOrg Orgs `scope:"org"`
PerOwner Owners `scope:"owner"`
PerWorkflow Workflows `scope:"workflow"`
}
var Config Schema
Deprecated: use Default
type Workflows ¶ added in v0.9.1
type Workflows struct {
TriggerRegistrationsTimeout Setting[time.Duration]
TriggerSubscriptionTimeout Setting[time.Duration]
TriggerSubscriptionLimit Setting[int] `unit:"{subscription}"`
TriggerEventQueueLimit Setting[int] `unit:"{trigger}"`
TriggerEventQueueTimeout Setting[time.Duration]
CapabilityConcurrencyLimit Setting[int] `unit:"{capability}"`
CapabilityCallTimeout Setting[time.Duration]
SecretsConcurrencyLimit Setting[int] `unit:"{secret}"`
ExecutionConcurrencyLimit Setting[int] `unit:"{workflow}"`
ExecutionTimeout Setting[time.Duration]
ExecutionResponseLimit Setting[config.Size]
WASMMemoryLimit Setting[config.Size]
WASMBinarySizeLimit Setting[config.Size]
WASMCompressedBinarySizeLimit Setting[config.Size]
WASMConfigSizeLimit Setting[config.Size]
WASMSecretsSizeLimit Setting[config.Size]
LogLineLimit Setting[config.Size]
LogEventLimit Setting[int] `unit:"{log}"`
ChainAllowed SettingMap[bool]
CRONTrigger cronTrigger
HTTPTrigger httpTrigger
LogTrigger logTrigger
ChainWrite chainWrite
ChainRead chainRead
Consensus consensus
HTTPAction httpAction
ConfidentialHTTP confidentialHTTP
Secrets secrets
}
Click to show internal directories.
Click to hide internal directories.