com.digitalasset.canton.participant.config
LedgerApiServerConfig
Companion object LedgerApiServerConfig
final case class LedgerApiServerConfig(address: String = "127.0.0.1", internalPort: Option[Port] = None, maxEventCacheWeight: Long = 0L, maxContractCacheWeight: Long = 0L, tls: Option[TlsServerConfig] = None, configurationLoadTimeout: NonNegativeFiniteDuration = LedgerApiServerConfig.DefaultConfigurationLoadTimeout, bufferedEventsProcessingParallelism: Int = LedgerApiServerConfig.DefaultEventsProcessingParallelism, bufferedStreamsPageSize: Int = LedgerIndexServiceConfig.DefaultBufferedStreamsPageSize, activeContractsService: ActiveContractsServiceConfig = ActiveContractsServiceConfig(), transactionTreeStreams: TreeTransactionStreamsConfig = TreeTransactionStreamsConfig(), transactionFlatStreams: FlatTransactionStreamsConfig = FlatTransactionStreamsConfig(), globalMaxEventIdQueries: Int = LedgerIndexServiceConfig().globalMaxEventIdQueries, globalMaxEventPayloadQueries: Int = LedgerIndexServiceConfig().globalMaxEventPayloadQueries, commandService: CommandServiceConfig = CommandServiceConfig(), userManagementService: UserManagementServiceConfig = UserManagementServiceConfig(), managementServiceTimeout: NonNegativeFiniteDuration = LedgerApiServerConfig.DefaultManagementServiceTimeout, postgresDataSource: PostgresDataSourceConfigCanton = PostgresDataSourceConfigCanton(), authServices: Seq[AuthServiceConfig] = Seq.empty, keepAliveServer: Option[KeepAliveServerConfig] = Some(KeepAliveServerConfig()), maxContractStateCacheSize: Long = LedgerApiServerConfig.DefaultMaxContractStateCacheSize, maxContractKeyStateCacheSize: Long = LedgerApiServerConfig.DefaultMaxContractKeyStateCacheSize, maxInboundMessageSize: NonNegativeInt = ServerConfig.defaultMaxInboundMessageSize, databaseConnectionTimeout: NonNegativeFiniteDuration = LedgerApiServerConfig.DefaultDatabaseConnectionTimeout, apiStreamShutdownTimeout: NonNegativeFiniteDuration = LedgerApiServerConfig.DefaultApiStreamShutdownTimeout, maxTransactionsInMemoryFanOutBufferSize: Int = LedgerApiServerConfig.DefaultMaxTransactionsInMemoryFanOutBufferSize, additionalMigrationPaths: Seq[String] = Seq.empty, inMemoryStateUpdaterParallelism: Int = LedgerApiServerConfig.DefaultInMemoryStateUpdaterParallelism, inMemoryFanOutThreadPoolSize: Option[Int] = None, rateLimit: Option[RateLimitingConfig] = Some(DefaultRateLimit), preparePackageMetadataTimeOutWarning: NonNegativeFiniteDuration = LedgerApiServerConfig.DefaultPreparePackageMetadataTimeOutWarning, completionsPageSize: Int = LedgerApiServerConfig.DefaultCompletionsPageSize, explicitDisclosureUnsafe: Boolean = false, adminToken: Option[String] = None, unsafeEnableEventsByContractKeyCache: EnableEventsByContractKeyCache = EnableEventsByContractKeyCache.Disabled) extends CommunityServerConfig with Product with Serializable
Canton configuration case class to pass-through configuration options to the ledger api server
- address
ledger api server host name.
- internalPort
ledger api server port.
- maxEventCacheWeight
ledger api server event cache maximum weight (caffeine cache size)
- maxContractCacheWeight
ledger api server contract cache maximum weight (caffeine cache size)
- tls
tls configuration setting from ledger api server.
- configurationLoadTimeout
ledger api server startup delay if no timemodel has been sent by canton via ReadService
- bufferedEventsProcessingParallelism
parallelism for loading and decoding ledger events for populating Ledger API internal buffers
- activeContractsService
configurations pertaining to the ledger api server's "active contracts service"
- transactionTreeStreams
configurations pertaining to the ledger api server's streams of flat transactions
- transactionFlatStreams
configurations pertaining to the ledger api server's streams of transaction trees
- commandService
configurations pertaining to the ledger api server's "command service"
- managementServiceTimeout
ledger api server management service maximum duration. Duration has to be finite as the ledger api server uses java.time.duration that does not support infinite scala durations.
- postgresDataSource
config for ledger api server when using postgres
- authServices
type of authentication services used by ledger-api server. If empty, we use a wildcard. Otherwise, the first service response that does not say "unauthenticated" will be used.
- keepAliveServer
keep-alive configuration for ledger api requests
- maxContractStateCacheSize
maximum caffeine cache size of mutable state cache of contracts
- maxContractKeyStateCacheSize
maximum caffeine cache size of mutable state cache of contract keys
- maxInboundMessageSize
maximum inbound message size on the ledger api
- databaseConnectionTimeout
database connection timeout
- maxTransactionsInMemoryFanOutBufferSize
maximum number of transactions to hold in the "in-memory fanout" (if enabled)
- additionalMigrationPaths
Optional extra paths for the database migrations
- inMemoryStateUpdaterParallelism
The processing parallelism of the Ledger API server in-memory state updater
- inMemoryFanOutThreadPoolSize
Size of the thread-pool backing the Ledger API in-memory fan-out. If not set, defaults to ((number of thread)/4 + 1)
- rateLimit
limit the ledger api server request rates based on system metrics
- preparePackageMetadataTimeOutWarning
Timeout for package metadata preparation after which a warning will be logged
- completionsPageSize
database / akka page size for batching of ledger api server index ledger completion queries
- explicitDisclosureUnsafe
enable usage of explicitly disclosed contracts in command submission and transaction validation. This feature is deemed unstable and unsafe. Should NOT be enabled in production!
- Alphabetic
- By Inheritance
- LedgerApiServerConfig
- CommunityServerConfig
- ServerConfig
- Serializable
- Product
- Equals
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new LedgerApiServerConfig(address: String = "127.0.0.1", internalPort: Option[Port] = None, maxEventCacheWeight: Long = 0L, maxContractCacheWeight: Long = 0L, tls: Option[TlsServerConfig] = None, configurationLoadTimeout: NonNegativeFiniteDuration = LedgerApiServerConfig.DefaultConfigurationLoadTimeout, bufferedEventsProcessingParallelism: Int = LedgerApiServerConfig.DefaultEventsProcessingParallelism, bufferedStreamsPageSize: Int = LedgerIndexServiceConfig.DefaultBufferedStreamsPageSize, activeContractsService: ActiveContractsServiceConfig = ActiveContractsServiceConfig(), transactionTreeStreams: TreeTransactionStreamsConfig = TreeTransactionStreamsConfig(), transactionFlatStreams: FlatTransactionStreamsConfig = FlatTransactionStreamsConfig(), globalMaxEventIdQueries: Int = LedgerIndexServiceConfig().globalMaxEventIdQueries, globalMaxEventPayloadQueries: Int = LedgerIndexServiceConfig().globalMaxEventPayloadQueries, commandService: CommandServiceConfig = CommandServiceConfig(), userManagementService: UserManagementServiceConfig = UserManagementServiceConfig(), managementServiceTimeout: NonNegativeFiniteDuration = LedgerApiServerConfig.DefaultManagementServiceTimeout, postgresDataSource: PostgresDataSourceConfigCanton = PostgresDataSourceConfigCanton(), authServices: Seq[AuthServiceConfig] = Seq.empty, keepAliveServer: Option[KeepAliveServerConfig] = Some(KeepAliveServerConfig()), maxContractStateCacheSize: Long = LedgerApiServerConfig.DefaultMaxContractStateCacheSize, maxContractKeyStateCacheSize: Long = LedgerApiServerConfig.DefaultMaxContractKeyStateCacheSize, maxInboundMessageSize: NonNegativeInt = ServerConfig.defaultMaxInboundMessageSize, databaseConnectionTimeout: NonNegativeFiniteDuration = LedgerApiServerConfig.DefaultDatabaseConnectionTimeout, apiStreamShutdownTimeout: NonNegativeFiniteDuration = LedgerApiServerConfig.DefaultApiStreamShutdownTimeout, maxTransactionsInMemoryFanOutBufferSize: Int = LedgerApiServerConfig.DefaultMaxTransactionsInMemoryFanOutBufferSize, additionalMigrationPaths: Seq[String] = Seq.empty, inMemoryStateUpdaterParallelism: Int = LedgerApiServerConfig.DefaultInMemoryStateUpdaterParallelism, inMemoryFanOutThreadPoolSize: Option[Int] = None, rateLimit: Option[RateLimitingConfig] = Some(DefaultRateLimit), preparePackageMetadataTimeOutWarning: NonNegativeFiniteDuration = LedgerApiServerConfig.DefaultPreparePackageMetadataTimeOutWarning, completionsPageSize: Int = LedgerApiServerConfig.DefaultCompletionsPageSize, explicitDisclosureUnsafe: Boolean = false, adminToken: Option[String] = None, unsafeEnableEventsByContractKeyCache: EnableEventsByContractKeyCache = EnableEventsByContractKeyCache.Disabled)
- address
ledger api server host name.
- internalPort
ledger api server port.
- maxEventCacheWeight
ledger api server event cache maximum weight (caffeine cache size)
- maxContractCacheWeight
ledger api server contract cache maximum weight (caffeine cache size)
- tls
tls configuration setting from ledger api server.
- configurationLoadTimeout
ledger api server startup delay if no timemodel has been sent by canton via ReadService
- bufferedEventsProcessingParallelism
parallelism for loading and decoding ledger events for populating Ledger API internal buffers
- activeContractsService
configurations pertaining to the ledger api server's "active contracts service"
- transactionTreeStreams
configurations pertaining to the ledger api server's streams of flat transactions
- transactionFlatStreams
configurations pertaining to the ledger api server's streams of transaction trees
- commandService
configurations pertaining to the ledger api server's "command service"
- managementServiceTimeout
ledger api server management service maximum duration. Duration has to be finite as the ledger api server uses java.time.duration that does not support infinite scala durations.
- postgresDataSource
config for ledger api server when using postgres
- authServices
type of authentication services used by ledger-api server. If empty, we use a wildcard. Otherwise, the first service response that does not say "unauthenticated" will be used.
- keepAliveServer
keep-alive configuration for ledger api requests
- maxContractStateCacheSize
maximum caffeine cache size of mutable state cache of contracts
- maxContractKeyStateCacheSize
maximum caffeine cache size of mutable state cache of contract keys
- maxInboundMessageSize
maximum inbound message size on the ledger api
- databaseConnectionTimeout
database connection timeout
- maxTransactionsInMemoryFanOutBufferSize
maximum number of transactions to hold in the "in-memory fanout" (if enabled)
- additionalMigrationPaths
Optional extra paths for the database migrations
- inMemoryStateUpdaterParallelism
The processing parallelism of the Ledger API server in-memory state updater
- inMemoryFanOutThreadPoolSize
Size of the thread-pool backing the Ledger API in-memory fan-out. If not set, defaults to ((number of thread)/4 + 1)
- rateLimit
limit the ledger api server request rates based on system metrics
- preparePackageMetadataTimeOutWarning
Timeout for package metadata preparation after which a warning will be logged
- completionsPageSize
database / akka page size for batching of ledger api server index ledger completion queries
- explicitDisclosureUnsafe
enable usage of explicitly disclosed contracts in command submission and transaction validation. This feature is deemed unstable and unsafe. Should NOT be enabled in production!
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- val activeContractsService: ActiveContractsServiceConfig
- val additionalMigrationPaths: Seq[String]
- val address: String
The address of the interface to be listening on
The address of the interface to be listening on
- Definition Classes
- LedgerApiServerConfig → ServerConfig
- val adminToken: Option[String]
- val apiStreamShutdownTimeout: NonNegativeFiniteDuration
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- val authServices: Seq[AuthServiceConfig]
- val bufferedEventsProcessingParallelism: Int
- val bufferedStreamsPageSize: Int
- lazy val clientConfig: ClientConfig
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- val commandService: CommandServiceConfig
- val completionsPageSize: Int
- val configurationLoadTimeout: NonNegativeFiniteDuration
- val databaseConnectionTimeout: NonNegativeFiniteDuration
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- val explicitDisclosureUnsafe: Boolean
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- val globalMaxEventIdQueries: Int
- val globalMaxEventPayloadQueries: Int
- val inMemoryFanOutThreadPoolSize: Option[Int]
- val inMemoryStateUpdaterParallelism: Int
- def instantiateServerInterceptors(tracingConfig: TracingConfig, apiLoggingConfig: ApiLoggingConfig, metricsPrefix: MetricName, metrics: MetricsFactory, loggerFactory: NamedLoggerFactory, grpcMetrics: GrpcServerMetrics): CantonServerInterceptors
Use the configuration to instantiate the interceptors for this server
Use the configuration to instantiate the interceptors for this server
- Definition Classes
- CommunityServerConfig → ServerConfig
- val internalPort: Option[Port]
Port to be listening on (must be greater than 0).
Port to be listening on (must be greater than 0). If the port is None, a default port will be assigned on startup.
NOTE: If you rename this field, adapt the corresponding product hint for config reading. In the configuration the field is still called
port
for usability reasons.- Definition Classes
- LedgerApiServerConfig → ServerConfig
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val keepAliveServer: Option[KeepAliveServerConfig]
server keep alive settings
server keep alive settings
- Definition Classes
- LedgerApiServerConfig → ServerConfig
- val managementServiceTimeout: NonNegativeFiniteDuration
- val maxContractCacheWeight: Long
- val maxContractKeyStateCacheSize: Long
- val maxContractStateCacheSize: Long
- val maxEventCacheWeight: Long
- val maxInboundMessageSize: NonNegativeInt
maximum inbound message size in bytes on the ledger api and the admin api
maximum inbound message size in bytes on the ledger api and the admin api
- Definition Classes
- LedgerApiServerConfig → ServerConfig
- val maxTransactionsInMemoryFanOutBufferSize: Int
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def port: Port
Returns the configured or the default port that must be assigned after config loading and before config usage.
Returns the configured or the default port that must be assigned after config loading and before config usage.
We split between
port
andinternalPort
to offer a clean API to users of the config in the form ofport
, which must always return a configured or default port, and the internal representation that may be None before being assigned a default port.- Definition Classes
- ServerConfig
- val postgresDataSource: PostgresDataSourceConfigCanton
- val preparePackageMetadataTimeOutWarning: NonNegativeFiniteDuration
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- val rateLimit: Option[RateLimitingConfig]
- def serverCertChainFile: Option[ExistingFile]
server cert chain file if TLS is defined
server cert chain file if TLS is defined
Used for domain internal GRPC sequencer connections
- Definition Classes
- LedgerApiServerConfig → ServerConfig
- def sslContext: Option[SslContext]
If defined, dictates to use TLS when connecting to this node through the given
address
andport
.If defined, dictates to use TLS when connecting to this node through the given
address
andport
. Server authentication is always enabled. Subclasses may decide whether to support client authentication.- Definition Classes
- LedgerApiServerConfig → ServerConfig
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- val tls: Option[TlsServerConfig]
- def toSequencerConnectionConfig: Grpc
- Definition Classes
- ServerConfig
- val transactionFlatStreams: FlatTransactionStreamsConfig
- val transactionTreeStreams: TreeTransactionStreamsConfig
- val unsafeEnableEventsByContractKeyCache: EnableEventsByContractKeyCache
- val userManagementService: UserManagementServiceConfig
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])