Documentation ¶
Index ¶
Constants ¶
View Source
const ( // PluginConfigName is the user-supplied name for this plugin type PluginConfigName = "name" // PluginConfigType is the type of the plugin to be loaded PluginConfigType = "type" // PluginBroadcastName is the plugin name to be sent in multi-party broadcasts, if it differs from the local plugin name PluginBroadcastName = "broadcastName" // NamespaceName is the short name for a pre-defined namespace NamespaceName = "name" // NamespaceName is the long description for a pre-defined namespace NamespaceDescription = "description" // NamespacePlugins is the list of namespace plugins NamespacePlugins = "plugins" // NamespaceTLSConfigName is the user-supplied name for the TLS Config NamespaceTLSConfigName = "name" // NamespaceTLSConfigs is the list of tls configs NamespaceTLSConfigs = "tlsConfigs" // NamespaceTLSConfigTLSSection is the section to provide the paths to CA , cert and key files NamespaceTLSConfigTLSSection = "tls" // NamespaceDefaultKey is the default signing key for blockchain transactions within this namespace NamespaceDefaultKey = "defaultKey" // NamespaceAssetKeyNormalization mechanism to normalize keys before using them. Valid options: "blockchain_plugin" - use blockchain plugin (default), "none" - do not attempt normalization NamespaceAssetKeyNormalization = "asset.manager.keyNormalization" // NamespaceMultiparty contains the multiparty configuration for a namespace NamespaceMultiparty = "multiparty" // NamespaceMultipartyEnabled specifies if multi-party mode is enabled for a namespace NamespaceMultipartyEnabled = "enabled" // NamespaceMultipartyNetworkNamespace is the shared namespace name to be used in off-chain messaging NamespaceMultipartyNetworkNamespace = "networknamespace" // NamespaceMultipartyOrgName is a short name for the local root org within a namespace NamespaceMultipartyOrgName = "org.name" // NamespaceMultipartyOrgDescription is a description for the local root org within a namespace NamespaceMultipartyOrgDescription = "org.description" // NamespaceMultipartyOrgKey is the signing key allocated to the local root org within a namespace NamespaceMultipartyOrgKey = "org.key" // NamespaceMultipartyNodeName is the name for the local node within a namespace NamespaceMultipartyNodeName = "node.name" // NamespaceMultipartyNodeName is a description for the local node within a namespace NamespaceMultipartyNodeDescription = "node.description" // NamespaceMultipartyContract is a list of firefly contract configurations for this namespace NamespaceMultipartyContract = "contract" // NamespaceMultipartyContractFirstEvent is the first event to process for this contract NamespaceMultipartyContractFirstEvent = "firstEvent" // NamespaceMultipartyContractLocation is an object specifying the blockchain-specific location of the contract NamespaceMultipartyContractLocation = "location" // NamespaceMultipartyContractOptions is an object of additional blockchain-specific configuration NamespaceMultipartyContractOptions = "options" )
Variables ¶
View Source
var ( // APIDefaultFilterLimit is the default limit that will be applied to filtered queries on the API APIDefaultFilterLimit = ffc("api.defaultFilterLimit") // APIMaxFilterLimit is the maximum limit that can be specified by an API call APIMaxFilterLimit = ffc("api.maxFilterLimit") // APIMaxFilterSkip is the maximum skip value that can be specified on the API APIMaxFilterSkip = ffc("api.maxFilterLimit") // APIRequestTimeout is the server side timeout for API calls (context timeout), to avoid the server continuing processing when the client gives up APIRequestTimeout = ffc("api.requestTimeout") // APIRequestMaxTimeout is the maximum timeout an application can set using a Request-Timeout header APIRequestMaxTimeout = ffc("api.requestMaxTimeout") // APIDynamicPublicURLHeader is a header that can be used on requests to generate Swagger to influence the PublicURL on a per-request basis APIDynamicPublicURLHeader = ffc("api.dynamicPublicURLHeader") // APIOASPanicOnMissingDescription controls whether the OpenAPI Spec generator will strongly enforce descriptions on every field or not APIOASPanicOnMissingDescription = ffc("api.oas.panicOnMissingDescription") // APIPassThroughHeaders is a list of HTTP request headers to pass through to requests made to dependency microservices APIPassthroughHeaders = ffc("api.passthroughHeaders") // BatchManagerReadPageSize is the size of each page of messages read from the database into memory when assembling batches BatchManagerReadPageSize = ffc("batch.manager.readPageSize") // BatchManagerReadPollTimeout is how long without any notifications of new messages to wait, before doing a page query BatchManagerReadPollTimeout = ffc("batch.manager.pollTimeout") // BatchManagerMinimumPollDelay is the minimum time the batch manager waits between polls on the DB - to prevent thrashing BatchManagerMinimumPollDelay = ffc("batch.manager.minimumPollDelay") // BatchRetryFactor is the retry backoff factor for database operations performed by the batch manager BatchRetryFactor = ffc("batch.retry.factor") // BatchRetryInitDelay is the retry initial delay for database operations BatchRetryInitDelay = ffc("batch.retry.initDelay") // BatchRetryMaxDelay is the maximum delay between retry attempts BatchRetryMaxDelay = ffc("batch.retry.maxDelay") // BlobReceiverRetryInitDelay is the initial retry delay BlobReceiverRetryInitDelay = ffc("blobreceiver.retry.initialDelay") // BlobReceiverRetryMaxDelay is the maximum retry delay BlobReceiverRetryMaxDelay = ffc("blobreceiver.retry.maxDelay") // BlobReceiverRetryFactor is the backoff factor to use for retries BlobReceiverRetryFactor = ffc("blobreceiver.retry.factor") // BlobReceiverWorkerCount BlobReceiverWorkerCount = ffc("blobreceiver.worker.count") // BlobReceiverWorkerBatchTimeout BlobReceiverWorkerBatchTimeout = ffc("blobreceiver.worker.batchTimeout") // BlobReceiverWorkerBatchMaxInserts BlobReceiverWorkerBatchMaxInserts = ffc("blobreceiver.worker.batchMaxInserts") // BroadcastBatchAgentTimeout how long to keep around a batching agent for a sending identity before disposal BroadcastBatchAgentTimeout = ffc("broadcast.batch.agentTimeout") // BroadcastBatchSize is the maximum number of messages that can be packed into a batch BroadcastBatchSize = ffc("broadcast.batch.size") // BroadcastBatchPayloadLimit is the maximum payload size of a batch for broadcast messages BroadcastBatchPayloadLimit = ffc("broadcast.batch.payloadLimit") // BroadcastBatchTimeout is the timeout to wait for a batch to fill, before sending BroadcastBatchTimeout = ffc("broadcast.batch.timeout") // ConfigAutoReload starts a filesystem listener against the config file, and if it changes analyzes the config file for changes that require individual namespaces to restart ConfigAutoReload = ffc("config.autoReload") // CacheEnabled determines whether cache will be enabled or not, default to true CacheEnabled = ffc("cache.enabled") // AddressResolver cache config CacheAddressResolverLimit = ffc("cache.addressresolver.limit") CacheAddressResolverTTL = ffc("cache.addressresolver.ttl") // Batch cache config CacheBatchLimit = ffc("cache.batch.limit") CacheBatchTTL = ffc("cache.batch.ttl") // Transaction - BlockchainEvent cache config CacheBlockchainEventLimit = ffc("cache.blockchainevent.limit") CacheBlockchainEventTTL = ffc("cache.blockchainevent.ttl") // Transaction cache config CacheTransactionSize = ffc("cache.transaction.size") CacheTransactionTTL = ffc("cache.transaction.ttl") // EventListenerTopic cache config CacheEventListenerTopicLimit = ffc("cache.eventlistenertopic.limit") CacheEventListenerTopicTTL = ffc("cache.eventlistenertopic.ttl") // Group cache config CacheGroupLimit = ffc("cache.group.limit") CacheGroupTTL = ffc("cache.group.ttl") // IdentityManager identity cache config CacheIdentityLimit = ffc("cache.identity.limit") CacheIdentityTTL = ffc("cache.identity.ttl") // DataManager Message cache config CacheMessageSize = ffc("cache.message.size") CacheMessageTTL = ffc("cache.message.ttl") // Token pool cache config CacheTokenPoolTTL = ffc("cache.tokenpool.ttl") CacheTokenPoolLimit = ffc("cache.tokenpool.limit") // DataManager Validator cache config CacheValidatorSize = ffc("cache.validator.size") CacheValidatorTTL = ffc("cache.validator.ttl") // Blockchain cache config CacheBlockchainTTL = ffc("cache.blockchain.ttl") CacheBlockchainLimit = ffc("cache.blockchain.limit") // Operations cache config CacheOperationsLimit = ffc("cache.operations.limit") CacheOperationsTTL = ffc("cache.operations.ttl") // Invoke methods cache config CacheMethodsLimit = ffc("cache.methods.limit") CacheMethodsTTL = ffc("cache.methods.ttl") // DownloadWorkerCount is the number of download workers created to pull data from shared storage to the local DX DownloadWorkerCount = ffc("download.worker.count") // DownloadWorkerQueueLength is the length of the work queue in the channel to the workers - defaults to 2x the worker count DownloadWorkerQueueLength = ffc("download.worker.queueLength") // DownloadRetryMaxAttempts is the maximum number of automatic attempts to make for each shared storage download before failing the operation DownloadRetryMaxAttempts = ffc("download.retry.maxAttempts") // DownloadRetryInitDelay is the initial retry delay DownloadRetryInitDelay = ffc("download.retry.initialDelay") // DownloadRetryMaxDelay is the maximum retry delay DownloadRetryMaxDelay = ffc("download.retry.maxDelay") // DownloadRetryFactor is the backoff factor to use for retries DownloadRetryFactor = ffc("download.retry.factor") // PrivateMessagingBatchAgentTimeout how long to keep around a batching agent for a sending identity before disposal PrivateMessagingBatchAgentTimeout = ffc("privatemessaging.batch.agentTimeout") // PrivateMessagingBatchSize is the maximum size of a batch for broadcast messages PrivateMessagingBatchSize = ffc("privatemessaging.batch.size") // PrivateMessagingBatchPayloadLimit is the maximum payload size of a private message data exchange payload PrivateMessagingBatchPayloadLimit = ffc("privatemessaging.batch.payloadLimit") // PrivateMessagingBatchTimeout is the timeout to wait for a batch to fill, before sending PrivateMessagingBatchTimeout = ffc("privatemessaging.batch.timeout") // PrivateMessagingRetryFactor the backoff factor to use for retry of database operations PrivateMessagingRetryFactor = ffc("privatemessaging.retry.factor") // PrivateMessagingRetryInitDelay the initial delay to use for retry of data base operations PrivateMessagingRetryInitDelay = ffc("privatemessaging.retry.initDelay") // PrivateMessagingRetryMaxDelay the maximum delay to use for retry of data base operations PrivateMessagingRetryMaxDelay = ffc("privatemessaging.retry.maxDelay") // DatabaseType the type of the database interface plugin to use HistogramsMaxChartRows = ffc("histograms.maxChartRows") // TokensList is the root key containing a list of supported token connectors TokensList = ffc("tokens") // PluginsTokensList is the key containing a list of supported tokens plugins PluginsTokensList = ffc("plugins.tokens") // PluginsAuthList is the key containing a list of supported auth plugins PluginsAuthList = ffc("plugins.auth") // PluginsBlockchainList is the key containing a list of configured blockchain plugins PluginsBlockchainList = ffc("plugins.blockchain") PluginsSharedStorageList = ffc("plugins.sharedstorage") // PluginsDatabaseList is the key containing a list of configured database plugins PluginsDatabaseList = ffc("plugins.database") // PluginsDataExchangeList is the key containing a list of configured database plugins PluginsDataExchangeList = ffc("plugins.dataexchange") // PluginsIdentityList is the key containing a list of configured identity plugins PluginsIdentityList = ffc("plugins.identity") // DebugPort a HTTP port on which to enable the go debugger DebugPort = ffc("debug.port") // DebugAddress the HTTP interface for the debugger to listen on DebugAddress = ffc("debug.address") // EventTransportsDefault the default event transport for new subscriptions EventTransportsDefault = ffc("event.transports.default") // EventTransportsEnabled which event interface plugins are enabled EventTransportsEnabled = ffc("event.transports.enabled") // EventAggregatorFirstEvent the first event the aggregator should process, if no previous offest is stored in the DB EventAggregatorFirstEvent = ffc("event.aggregator.firstEvent") // EventAggregatorBatchSize the maximum number of records to read from the DB before performing an aggregation run EventAggregatorBatchSize = ffc("event.aggregator.batchSize") // EventAggregatorBatchTimeout how long to wait for new events to arrive before performing aggregation on a page of events EventAggregatorBatchTimeout = ffc("event.aggregator.batchTimeout") // EventAggregatorPollTimeout the time to wait without a notification of new events, before trying a select on the table EventAggregatorPollTimeout = ffc("event.aggregator.pollTimeout") // EventAggregatorRewindTimeout the minimum time to wait for rewinds to accumulate before resolving them EventAggregatorRewindTimeout = ffc("event.aggregator.rewindTimeout") // EventAggregatorRewindQueueLength the size of the queue into the rewind dispatcher EventAggregatorRewindQueueLength = ffc("event.aggregator.rewindQueueLength") // EventAggregatorRewindQueryLimit safety limit on the maximum number of records to search when performing queries to search for rewinds EventAggregatorRewindQueryLimit = ffc("event.aggregator.rewindQueryLimit") // EventAggregatorRetryFactor the backoff factor to use for retry of database operations EventAggregatorRetryFactor = ffc("event.aggregator.retry.factor") // EventAggregatorRetryInitDelay the initial delay to use for retry of data base operations EventAggregatorRetryInitDelay = ffc("event.aggregator.retry.initDelay") // EventAggregatorRetryMaxDelay the maximum delay to use for retry of data base operations EventAggregatorRetryMaxDelay = ffc("event.aggregator.retry.maxDelay") // EventDispatcherPollTimeout the time to wait without a notification of new events, before trying a select on the table EventDispatcherPollTimeout = ffc("event.dispatcher.pollTimeout") // EventDispatcherBufferLength the number of events + attachments an individual dispatcher should hold in memory ready for delivery to the subscription EventDispatcherBufferLength = ffc("event.dispatcher.bufferLength") // EventDispatcherBatchTimeout a short time to wait for new events to arrive before re-polling for new events EventDispatcherBatchTimeout = ffc("event.dispatcher.batchTimeout") // EventDispatcherRetryFactor the backoff factor to use for retry of database operations EventDispatcherRetryFactor = ffc("event.dispatcher.retry.factor") // EventDispatcherRetryInitDelay he initial delay to use for retry of data base operations EventDispatcherRetryInitDelay = ffc("event.dispatcher.retry.initDelay") // EventDispatcherRetryMaxDelay he maximum delay to use for retry of data base operations EventDispatcherRetryMaxDelay = ffc("event.dispatcher.retry.maxDelay") // EventDBEventsBufferSize the size of the buffer of change events EventDBEventsBufferSize = ffc("event.dbevents.bufferSize") // LegacyAdminEnabled is the deprecated key that pre-dates spi.enabled LegacyAdminEnabled = ffc("admin.enabled") // SPIEnabled determines whether the admin interface will be enabled or not SPIEnabled = ffc("spi.enabled") // SPIWebSocketEventQueueLength is the maximum number of events that will queue up on the server side of each WebSocket connection before events start being dropped SPIWebSocketEventQueueLength = ffc("spi.ws.eventQueueLength") // SPIWebSocketBlockedWarnInterval how often to emit a warning if an admin.ws is blocked and not receiving events SPIWebSocketBlockedWarnInterval = ffc("spi.ws.blockedWarnInterval") // SPIWebSocketReadBufferSize is the WebSocket read buffer size for the admin change-event WebSocket SPIWebSocketReadBufferSize = ffc("spi.ws.readBufferSize") // SPIWebSocketWriteBufferSize is the WebSocket write buffer size for the admin change-event WebSocket SPIWebSocketWriteBufferSize = ffc("spi.ws.writeBufferSize") // MessageWriterCount MessageWriterCount = ffc("message.writer.count") // MessageWriterBatchTimeout MessageWriterBatchTimeout = ffc("message.writer.batchTimeout") // MessageWriterBatchMaxInserts MessageWriterBatchMaxInserts = ffc("message.writer.batchMaxInserts") // MetricsEnabled determines whether metrics will be instrumented and if the metrics server will be enabled or not MetricsEnabled = ffc("metrics.enabled") // MetricsPath determines what path to serve the Prometheus metrics from MetricsPath = ffc("metrics.path") // NamespacesDefault is the default namespace - must be in the predefines list NamespacesDefault = ffc("namespaces.default") // NamespacesPredefined is a list of namespaces to ensure exists, without requiring a broadcast from the network NamespacesPredefined = ffc("namespaces.predefined") // NamespacesRetryFactor is the retry backoff factor for starting/restarting individual namespaces NamespacesRetryFactor = ffc("namespaces.retry.factor") // NamespacesRetryInitDelay is the retry initial delay for starting/restarting individual namespaces NamespacesRetryInitDelay = ffc("namespaces.retry.initDelay") // NamespacesRetryMaxDelay is the maximum delay between retry attempts NamespacesRetryMaxDelay = ffc("namespaces.retry.maxDelay") // NodeName is the short name for the node NodeName = ffc("node.name") // NodeDescription is a description for the node NodeDescription = ffc("node.description") // OpUpdateRetryInitDelay is the initial retry delay OpUpdateRetryInitDelay = ffc("opupdate.retry.initialDelay") // OpUpdatedRetryMaxDelay is the maximum retry delay OpUpdateRetryMaxDelay = ffc("opupdate.retry.maxDelay") // OpUpdateRetryFactor is the backoff factor to use for retries OpUpdateRetryFactor = ffc("opupdate.retry.factor") // OpUpdateWorkerCount OpUpdateWorkerCount = ffc("opupdate.worker.count") // OpUpdateWorkerBatchTimeout OpUpdateWorkerBatchTimeout = ffc("opupdate.worker.batchTimeout") // OpUpdateWorkerBatchMaxInserts OpUpdateWorkerBatchMaxInserts = ffc("opupdate.worker.batchMaxInserts") // OpUpdateWorkerQueueLength OpUpdateWorkerQueueLength = ffc("opupdate.worker.queueLength") // OrgName is the short name for the org OrgName = ffc("org.name") // OrgKey is the signing identity allocated to the organization (can be the same as the nodes) OrgKey = ffc("org.key") // OrgDescription is a description for the org OrgDescription = ffc("org.description") // OrchestratorStartupAttempts is how many time to attempt to connect to core infrastructure on startup OrchestratorStartupAttempts = ffc("orchestrator.startupAttempts") // SubscriptionDefaultsBatchSize default read ahead to enable for subscriptions that do not explicitly configure readahead SubscriptionDefaultsBatchSize = ffc("subscription.defaults.batchSize") // SubscriptionDefaultsBatchTimeout default batch timeout SubscriptionDefaultsBatchTimeout = ffc("subscription.defaults.batchTimeout") // SubscriptionMax maximum number of pre-defined subscriptions that can exist (note for high fan-out consider connecting a dedicated pub/sub broker to the dispatcher) SubscriptionMax = ffc("subscription.max") // SubscriptionsRetryInitialDelay is the initial retry delay SubscriptionsRetryInitialDelay = ffc("subscription.retry.initDelay") // SubscriptionsRetryMaxDelay is the initial retry delay SubscriptionsRetryMaxDelay = ffc("subscription.retry.maxDelay") // SubscriptionsRetryFactor the backoff factor to use for retry of database operations SubscriptionsRetryFactor = ffc("subscription.retry.factor") // SubscriptionMaxHistoricalEventScanLength the maximum amount of historical events we scan for in the DB when indexing through old events against a subscription SubscriptionMaxHistoricalEventScanLength = ffc("subscription.events.maxScanLength") // TransactionWriterCount TransactionWriterCount = ffc("transaction.writer.count") // TransactionWriterBatchTimeout TransactionWriterBatchTimeout = ffc("transaction.writer.batchTimeout") // TransactionWriterBatchMaxTransactions TransactionWriterBatchMaxTransactions = ffc("transaction.writer.batchMaxTransactions") // AssetManagerKeyNormalization mechanism to normalize keys before using them. Valid options: "blockchain_plugin" - use blockchain plugin (default), "none" - do not attempt normalization AssetManagerKeyNormalization = ffc("asset.manager.keyNormalization") // UIEnabled set to false to disable the UI (default is true, so UI will be enabled if ui.path is valid) UIEnabled = ffc("ui.enabled") // UIPath the path on which to serve the UI UIPath = ffc("ui.path") )
The following keys can be access from the root configuration. Plugins are responsible for defining their own keys using the Config interface
Functions ¶
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.