Packages

package config

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. Protected

Type Members

  1. trait AdminServerConfig extends ServerConfig

    A variant of ServerConfig that by default listens to connections only on the loopback interface.

  2. final case class ApiLoggingConfig(messagePayloads: Option[Boolean] = None, maxMethodLength: Int = ApiLoggingConfig.defaultMaxMethodLength, maxMessageLines: Int = ApiLoggingConfig.defaultMaxMessageLines, maxStringLength: Int = ApiLoggingConfig.defaultMaxStringLength, maxMetadataSize: Int = ApiLoggingConfig.defaultMaxMetadataSize) extends Product with Serializable

    Control logging of the ApiRequestLogger

    Control logging of the ApiRequestLogger

    Every GRPC service invocation is logged through the ApiRequestLogger. This allows to monitor all incoming traffic to a node (ledger API, sequencer API, admin API).

    messagePayloads

    Indicates whether to log message payloads. (To be disabled in production!) Also applies to metadata. None is equivalent to false.

    maxMethodLength

    indicates how much to abbreviate the name of the called method. E.g. "com.digitalasset.canton.MyMethod" may get abbreviated to "c.d.c.MyMethod". The last token will never get abbreviated.

    maxMessageLines

    maximum number of lines to log for a message

    maxStringLength

    maximum number of characters to log for a string within a message

    maxMetadataSize

    maximum size of metadata

  3. sealed trait ApiType extends PrettyPrinting
  4. sealed trait BaseTlsArguments extends AnyRef
  5. sealed trait BatchAggregatorConfig extends Product with Serializable

    Parameters for that batcher that batches queries (e.g., to a DB).

  6. final case class CacheConfig(maximumSize: PositiveNumeric[Long], expireAfterAccess: NonNegativeFiniteDuration = NonNegativeFiniteDuration.ofMinutes(10)) extends Product with Serializable

    Configurations settings for a single cache

    Configurations settings for a single cache

    maximumSize

    the maximum size of the cache

    expireAfterAccess

    how quickly after last access items should be expired from the cache

  7. final case class CachingConfigs(indexedStrings: CacheConfig = CachingConfigs.defaultStaticStringCache, contractStore: CacheConfig = CachingConfigs.defaultContractStoreCache, topologySnapshot: CacheConfig = CachingConfigs.defaultTopologySnapshotCache, partyCache: CacheConfig = CachingConfigs.defaultPartyCache, participantCache: CacheConfig = CachingConfigs.defaultParticipantCache, keyCache: CacheConfig = CachingConfigs.defaultKeyCache, packageVettingCache: CacheConfig = CachingConfigs.defaultPackageVettingCache, mySigningKeyCache: CacheConfig = CachingConfigs.defaultMySigningKeyCache) extends Product with Serializable

    Configuration settings for various internal caches

    Configuration settings for various internal caches

    indexedStrings

    cache size configuration for the static string index cache

    contractStore

    cache size configuration for the contract store

    topologySnapshot

    cache size configuration for topology snapshots

  8. case class CantonCommunityConfig(domains: Map[InstanceName, CommunityDomainConfig] = Map.empty, participants: Map[InstanceName, CommunityParticipantConfig] = Map.empty, remoteDomains: Map[InstanceName, RemoteDomainConfig] = Map.empty, remoteParticipants: Map[InstanceName, RemoteParticipantConfig] = Map.empty, monitoring: MonitoringConfig = MonitoringConfig(), parameters: CantonParameters = CantonParameters(), features: CantonFeatures = CantonFeatures()) extends CantonConfig with ConfigDefaults[CantonCommunityConfig] with Product with Serializable
  9. trait CantonConfig extends AnyRef

    Root configuration parameters for a single Canton process.

  10. final case class CantonEnterpriseConfig(sequencers: Map[InstanceName, SequencerNodeConfig] = Map.empty, domains: Map[InstanceName, EnterpriseDomainConfig] = Map.empty, domainManagers: Map[InstanceName, DomainManagerConfig] = Map.empty, mediators: Map[InstanceName, MediatorNodeConfig] = Map.empty, participants: Map[InstanceName, EnterpriseParticipantConfig] = Map.empty, remoteSequencers: Map[InstanceName, RemoteSequencerConfig] = Map.empty, remoteMediators: Map[InstanceName, RemoteMediatorConfig] = Map.empty, remoteDomains: Map[InstanceName, RemoteDomainConfig] = Map.empty, remoteDomainManagers: Map[InstanceName, RemoteDomainManagerConfig] = Map.empty, remoteParticipants: Map[InstanceName, RemoteParticipantConfig] = Map.empty, monitoring: MonitoringConfig = MonitoringConfig(), parameters: CantonParameters = CantonParameters(), features: CantonFeatures = CantonFeatures()) extends CantonConfig with ConfigDefaults[CantonEnterpriseConfig] with Product with Serializable
  11. case class CantonFeatures(enablePreviewCommands: Boolean = false, enableTestingCommands: Boolean = false, enableRepairCommands: Boolean = false) extends Product with Serializable

    Control which features are turned on / off in Canton

    Control which features are turned on / off in Canton

    enablePreviewCommands

    Feature flag to enable the set of commands that use functionality which we don't deem stable.

    enableTestingCommands

    Feature flag to enable the set of commands used by Canton developers for testing purposes.

    enableRepairCommands

    Feature flag to enable the set of commands used by Canton operators for manual repair purposes.

  12. final case class CantonParameters(clock: ClockConfig = ClockConfig.WallClock(), enableAdditionalConsistencyChecks: Boolean = false, manualStart: Boolean = false, nonStandardConfig: Boolean = false, portsFile: Option[String] = None, timeouts: TimeoutSettings = TimeoutSettings(), retentionPeriodDefaults: RetentionPeriodDefaults = RetentionPeriodDefaults(), console: AmmoniteConsoleConfig = AmmoniteConsoleConfig()) extends Product with Serializable

    Parameters for testing Canton.

    Parameters for testing Canton. Use default values in a production environment.

    enableAdditionalConsistencyChecks

    if true, run additional consistency checks. This will degrade performance.

    manualStart

    If set to true, the nodes have to be manually started via console (default false)

    nonStandardConfig

    don't fail config validation on non-standard configuration settings

    portsFile

    A ports file name, where the ports of all participants will be written to after startup

    timeouts

    Sets the timeouts used for processing and console

  13. sealed trait CheckConfig extends AnyRef

    Configuration for a check

  14. case class ClientConfig(address: String = "127.0.0.1", port: Port, tls: Option[TlsClientConfig] = None, keepAliveClient: Option[KeepAliveClientConfig] = Some(KeepAliveClientConfig())) extends Product with Serializable

    A client configuration to a corresponding server configuration

  15. sealed trait ClockConfig extends Product with Serializable
  16. case class CommunityAdminServerConfig(address: String = defaultAddress, internalPort: Option[Port] = None, tls: Option[TlsServerConfig] = None, keepAliveServer: Option[KeepAliveServerConfig] = Some(KeepAliveServerConfig()), maxInboundMessageSize: NonNegativeInt = ServerConfig.defaultMaxInboundMessageSize) extends AdminServerConfig with CommunityServerConfig with Product with Serializable
  17. sealed trait CommunityDbConfig extends CommunityStorageConfig with DbConfig
  18. trait CommunityLocalNodeConfig extends LocalNodeConfig
  19. trait CommunityServerConfig extends ServerConfig
  20. sealed trait CommunityStorageConfig extends StorageConfig

    Determines how a node stores persistent data.

  21. sealed trait ConcurrencyLimitConfig extends AnyRef

    Use Netflix's https://github.com/Netflix/concurrency-limits to cap the number of concurrent requests.

  22. trait ConfigDefaults[Self] extends AnyRef
  23. final case class ConsoleCommandTimeout(bounded: TimeoutDuration = ConsoleCommandTimeout.defaultBoundedTimeout, unbounded: TimeoutDuration = ConsoleCommandTimeout.defaultUnboundedTimeout, ledgerCommand: TimeoutDuration = ConsoleCommandTimeout.defaultLedgerCommandsTimeout, ping: TimeoutDuration = ConsoleCommandTimeout.defaultPingTimeout, testingBong: TimeoutDuration = ConsoleCommandTimeout.defaultTestingBongTimeout) extends Product with Serializable

    Configuration for console command timeouts

    Configuration for console command timeouts

    bounded

    timeout on how long "bounded" operations, i.e. operations which normally are supposed to conclude in a fixed timeframe can run before the console considers them as failed.

    unbounded

    timeout on how long "unbounded" operations can run, potentially infinite.

    ledgerCommand

    default timeout used for ledger commands

    ping

    default ping timeout

    testingBong

    default bong timeout

  24. case class CryptoConfig(provider: CryptoProvider = CryptoProvider.Tink, signing: CryptoSchemeConfig[SigningKeyScheme] = CryptoSchemeConfig(), encryption: CryptoSchemeConfig[EncryptionKeyScheme] = CryptoSchemeConfig(), symmetric: CryptoSchemeConfig[SymmetricKeyScheme] = CryptoSchemeConfig(), hash: CryptoSchemeConfig[HashAlgorithm] = CryptoSchemeConfig()) extends Product with Serializable

    Cryptography configuration.

    Cryptography configuration.

    provider

    The crypto provider implementation to use.

    signing

    The signing key scheme configuration.

    encryption

    The encryption key scheme configuration.

    symmetric

    The symmetric key scheme configuration.

    hash

    The hash algorithm configuration.

  25. sealed trait CryptoProvider extends PrettyPrinting
  26. case class CryptoProviderScheme[S](default: S, supported: NonEmpty[Set[S]]) extends Product with Serializable
  27. case class CryptoSchemeConfig[S](default: Option[S] = None, allowed: Option[NonEmpty[Set[S]]] = None) extends Product with Serializable

    Configures the optional default and allowed schemes of kind S.

    Configures the optional default and allowed schemes of kind S.

    default

    The optional scheme to use. If none is specified, use the provider's default scheme of kind S.

    allowed

    The optional allowed schemes to use. If none is specified, all the provider's supported schemes of kind S are allowed.

  28. final case class DbCacheConfig(maximumCacheSize: PositiveNumeric[Long] = DbCacheConfig.defaultMaximumCacheSize) extends Product with Serializable

    Parameters for the in-memory cache that can be used in front of a db-based data provider.

    Parameters for the in-memory cache that can be used in front of a db-based data provider.

    maximumCacheSize

    Maximum number of elements of the cache.

  29. trait DbConfig extends StorageConfig with PrettyPrinting

    Dictates that persistent data is stored in a database.

  30. final case class DeadlockDetectionConfig(enabled: Boolean = true, interval: NonNegativeFiniteDuration = NonNegativeFiniteDuration.ofSeconds(3), maxReports: Int = 10, reportAsWarnings: Boolean = true) extends Product with Serializable

    Deadlock detection configuration

    Deadlock detection configuration

    A simple deadlock detection method. Using a background scheduler, we schedule a trivial future on the EC. If the Future is not executed until we check again, we alert.

    enabled

    if true, we'll monitor the EC for deadlocks (or slow processings)

    interval

    how often we check the EC

    maxReports

    after how many warnings are we going to shut up.

    reportAsWarnings

    if false, the deadlock detector will report using debug messages

  31. case class DomainCcfConfig(memberKeyStore: KeyStoreConfig, memberKeyName: String) extends Product with Serializable

    Configuration for the domain that uses a CCF-based sequencer.

    Configuration for the domain that uses a CCF-based sequencer.

    memberKeyStore

    Key store with the member's private key and certificate to use for governance operations.

    memberKeyName

    Name of the member's key name in the member key store to sign governance requests with.

  32. case class EnterpriseAdminServerConfig(address: String = AdminServerConfig.defaultAddress, internalPort: Option[Port] = None, tls: Option[TlsServerConfig] = None, keepAliveServer: Option[KeepAliveServerConfig] = Some(KeepAliveServerConfig()), maxInboundMessageSize: NonNegativeInt = ServerConfig.defaultMaxInboundMessageSize, concurrencyLimit: Option[ConcurrencyLimitConfig] = None) extends AdminServerConfig with EnterpriseServerConfig with Product with Serializable
  33. sealed trait EnterpriseDbConfig[A <: EnterpriseDbConfig[A]] extends EnterpriseStorageConfig with DbConfig
  34. trait EnterpriseLocalNodeConfig extends LocalNodeConfig
  35. trait EnterpriseServerConfig extends ServerConfig
  36. sealed trait EnterpriseStorageConfig extends StorageConfig
  37. case class FixedLimit(limit: Int) extends LimitConfig with Product with Serializable

    A constant concurrency limit.

  38. case class Gradient2Limit(maxConcurrency: Option[Int], smoothing: Option[Double], rttTolerance: Option[Double]) extends LimitConfig with Product with Serializable

    Gradient-based algorithm to estimate the ideal limit.

  39. trait H2DbConfig extends DbConfig
  40. final case class HealthConfig(server: HealthServerConfig, check: CheckConfig) extends Product with Serializable

    Configuration to expose a health endpoint on the given server running the configured check

    Configuration to expose a health endpoint on the given server running the configured check

    server

    Server details for hosting the health endpoint

    check

    Check for determining whether this canton process is healthy

  41. final case class HealthServerConfig(address: String = "0.0.0.0", port: Port) extends Product with Serializable

    Configuration of health server backend.

  42. case class InitConfig(autoInit: Boolean = true, instanceIdHint: Option[String36] = None, startupFailFast: Boolean = true) extends InitConfigBase with Product with Serializable

    Configuration for the node's init process

    Configuration for the node's init process

    autoInit

    if true, the node will automatically initialize itself. In particular, it will create a new namespace, and initialize its member id and its keys for signing and encryption. If false, the user has to manually perform these steps.

    instanceIdHint

    if an instance id hint is provided it will be used during initialization to set the instance-id. otherwise a UUID will be used.

    startupFailFast

    if true, the node will fail-fast when resources such as the database cannot be connected to if false, the node will wait indefinitely for resources such as the database to come up

  43. trait InitConfigBase extends AnyRef
  44. case class KeepAliveClientConfig(time: NonNegativeFiniteDuration = NonNegativeFiniteDuration.ofSeconds(40), timeout: NonNegativeFiniteDuration = NonNegativeFiniteDuration.ofSeconds(20)) extends Product with Serializable

    GRPC keep alive client configuration

    time

    Sets the time without read activity before sending a keepalive ping. Do not set to small numbers (default is 40s)

    timeout

    Sets the time waiting for read activity after sending a keepalive ping (default is 20s)

  45. case class KeepAliveServerConfig(time: NonNegativeFiniteDuration = NonNegativeFiniteDuration.ofSeconds(40), timeout: NonNegativeFiniteDuration = NonNegativeFiniteDuration.ofSeconds(20), permitKeepAliveTime: NonNegativeFiniteDuration = NonNegativeFiniteDuration.ofSeconds(20)) extends Product with Serializable

    GRPC keep alive server configuration

    GRPC keep alive server configuration

    time

    Sets the time without read activity before sending a keepalive ping. Do not set to small numbers (default is 40s) Corresponds to https://grpc.github.io/grpc-java/javadoc/io/grpc/netty/NettyServerBuilder.html#keepAliveTime-long-java.util.concurrent.TimeUnit-

    timeout

    Sets the time waiting for read activity after sending a keepalive ping (default is 20s) Corresponds to https://grpc.github.io/grpc-java/javadoc/io/grpc/netty/NettyServerBuilder.html#keepAliveTimeout-long-java.util.concurrent.TimeUnit-

    permitKeepAliveTime

    Sets the most aggressive keep-alive time that clients are permitted to configure (default is 20s) Corresponds to https://grpc.github.io/grpc-java/javadoc/io/grpc/netty/NettyServerBuilder.html#permitKeepAliveTime-long-java.util.concurrent.TimeUnit-

  46. case class KeyStoreConfig(path: File, password: Password) extends Product with Serializable

    Configuration for Java keystore with optional password protection.

  47. sealed trait LimitConfig extends ConcurrencyLimitConfig

    Corresponds to https://javadoc.io/doc/com.netflix.concurrency-limits/concurrency-limits-core/latest/com/netflix/concurrency/limits/Limit.html

  48. trait LocalNodeConfig extends NodeConfig
  49. trait LocalNodeParameters extends AnyRef
  50. final case class LoggingConfig(api: ApiLoggingConfig = ApiLoggingConfig(), eventDetails: Boolean = false) extends Product with Serializable

    Detailed logging configurations

    Detailed logging configurations

    This section allows to configure additional data such as transaction details to be logged to the standard logback system

    api

    Configuration settings for the ApiRequestLogger

    eventDetails

    If set to true, we will log substantial details of internal messages being processed. To be disabled in production!

  51. trait MemoryStorageConfig extends StorageConfig
  52. final case class MonitoringConfig(deadlockDetection: DeadlockDetectionConfig = DeadlockDetectionConfig(), health: Option[HealthConfig] = None, metrics: MetricsConfig = MetricsConfig(), delayLoggingThreshold: NonNegativeFiniteDuration = NonNegativeFiniteDuration.ofSeconds(20), tracing: TracingConfig = TracingConfig(), logMessagePayloads: Option[Boolean] = None, logQueryCost: Option[QueryCostMonitoringConfig] = None, logSlowFutures: Boolean = false, logging: LoggingConfig = LoggingConfig()) extends LazyLogging with Product with Serializable

    Configuration for metrics and tracing

    Configuration for metrics and tracing

    deadlockDetection

    Should we regularly check our environment EC for deadlocks?

    health

    Optional Health check to expose an http server to monitor is the canton process is healthy

    metrics

    Optional Metrics Reporter used to expose internally captured metrics

    delayLoggingThreshold

    Logs a warning message once the sequencer client falls behind in processing messages from the sequencer (based on the sequencing timestamp).

    tracing

    Tracing configuration

    logMessagePayloads

    Determines whether message payloads (as well as metadata) sent through GRPC are logged.

    logQueryCost

    Determines whether to log the 15 most expensive db queries

    logSlowFutures

    Whether we should active log slow futures (where instructed)

  53. trait NodeConfig extends AnyRef
  54. final case class Password(pw: String) extends AnyVal with Product with Serializable

    Password wrapper for keystores to prevent the values being printed in logs.

    Password wrapper for keystores to prevent the values being printed in logs.

    pw

    password value - public for supporting PureConfig parsing but callers should prefer accessing through unwrap

  55. trait PostgresDbConfig extends DbConfig
  56. final case class ProcessingTimeout(unbounded: TimeoutDuration = DefaultProcessingTimeouts.unbounded, io: TimeoutDuration = DefaultProcessingTimeouts.io, default: TimeoutDuration = DefaultProcessingTimeouts.default, network: TimeoutDuration = DefaultProcessingTimeouts.network, shutdownProcessing: TimeoutDuration = DefaultProcessingTimeouts.shutdownProcessing, shutdownNetwork: TimeoutDuration = DefaultProcessingTimeouts.shutdownNetwork, shutdownShort: TimeoutDuration = DefaultProcessingTimeouts.shutdownShort, closing: TimeoutDuration = DefaultProcessingTimeouts.closing, inspection: TimeoutDuration = DefaultProcessingTimeouts.inspection, storageMaxRetryInterval: TimeoutDuration = DefaultProcessingTimeouts.maxRetryInterval, verifyActive: TimeoutDuration = DefaultProcessingTimeouts.verifyActive, activeInit: TimeoutDuration = DefaultProcessingTimeouts.activeInit, slowFutureWarn: TimeoutDuration = DefaultProcessingTimeouts.slowFutureWarn) extends Product with Serializable

    Configuration for internal await timeouts

    Configuration for internal await timeouts

    unbounded

    timeout on how long "unbounded" operations can run. should be infinite in theory.

    io

    timeout for disk based operations

    default

    default finite processing timeout

    network

    timeout for things related to networking

    shutdownProcessing

    timeout used for shutdown of some processing where we'd like to keep the result (long)

    shutdownNetwork

    timeout used for shutdown where we interact with some remote system

    shutdownShort

    everything else shutdown releated (default)

    closing

    our closing time (which should be strictly larger than any of the shutdown values)

    inspection

    timeout for the storage inspection commands (can run a long long time)

    storageMaxRetryInterval

    max retry interval for storage

    verifyActive

    how long should we wait for the domain to tell us whether we are active or not

    activeInit

    how long a passive replica should wait for the initialization by the active replica

    slowFutureWarn

    when using future supervision, when should we start to warn about a slow future

  57. final case class QueryCostMonitoringConfig(every: NonNegativeFiniteDuration, resetOnOutput: Boolean = true) extends Product with Serializable

    Configuration for monitoring the cost of db queries.

    Configuration for monitoring the cost of db queries.

    every

    determines the duration between reports

    resetOnOutput

    determines whether the statistics will be reset after creating a report

  58. case class ReplicationConfig(enabled: Option[Boolean] = None, connectionPool: DbLockedConnectionPoolConfig = DbLockedConnectionPoolConfig()) extends Product with Serializable

    Configuration of node replication for high availability

    Configuration of node replication for high availability

    enabled

    Needs to be set to true for a replicated node, which shares the database with other replicas.

    connectionPool

    Configuration for the write connection pool.

  59. final case class RetentionPeriodDefaults(sequencer: NonNegativeFiniteDuration = NonNegativeFiniteDuration.ofDays(7), mediator: NonNegativeFiniteDuration = NonNegativeFiniteDuration.ofDays(7), unauthenticatedMembers: NonNegativeFiniteDuration = NonNegativeFiniteDuration.ofHours(1)) extends Product with Serializable

    Default retention periods used by pruning commands where no values are explicitly specified.

    Default retention periods used by pruning commands where no values are explicitly specified. Although by default the commands will retain enough data to remain operational, however operators may like to retain more than this to facilitate possible disaster recovery scenarios or retain evidence of completed transactions.

  60. sealed trait SequencerConnectionConfig extends AnyRef

    Definition provided by the domain node to members with details on how to connect to the domain sequencer.

    Definition provided by the domain node to members with details on how to connect to the domain sequencer. *

  61. sealed trait ServerAuthRequirementConfig extends AnyRef

    Configuration on whether server requires auth, requests auth, or no auth

  62. trait ServerConfig extends Product with Serializable

    Configuration for hosting a server api

  63. trait StorageConfig extends AnyRef
  64. case class TestSequencerClientFor(environmentId: String, memberName: String, domainName: String) extends Product with Serializable

    environmentId

    ID used to disambiguate tests running in parallel

    memberName

    The name of the member that should use a delayed sequencer client

    domainName

    The name of the domain for which the member should use a delayed sequencer client

  65. case class TestingConfigInternal(testSequencerClientFor: Set[TestSequencerClientFor] = Set.empty, useCausalityTracking: Boolean = false) extends Product with Serializable

    Used to set parameters for testing when these don't need to be exposed in a config file.

  66. case class TimeoutDuration(duration: Duration) extends Product with Serializable

    Duration class used for timeouts.

    Duration class used for timeouts.

    There are two options: either it's a non-negative duration or an infinite duration

  67. final case class TimeoutSettings(console: ConsoleCommandTimeout = ConsoleCommandTimeout(), processing: ProcessingTimeout = ProcessingTimeout()) extends Product with Serializable

    Timeout settings configuration

  68. case class TlsBaseServerConfig(certChainFile: ExistingFile, privateKeyFile: ExistingFile, minimumServerProtocolVersion: Option[String] = Some( TlsServerConfig.defaultMinimumServerProtocol ), ciphers: Option[Seq[String]] = TlsServerConfig.defaultCiphers) extends BaseTlsArguments with Product with Serializable

    A wrapper for TLS server parameters supporting only server side authentication

    A wrapper for TLS server parameters supporting only server side authentication

    Same parameters as the more complete TlsServerConfig

  69. case class TlsClientCertificate(certChainFile: File, privateKeyFile: File) extends Product with Serializable

  70. case class TlsClientConfig(trustCollectionFile: Option[ExistingFile], clientCert: Option[TlsClientCertificate]) extends Product with Serializable

    A wrapper for TLS related client configurations

    A wrapper for TLS related client configurations

    trustCollectionFile

    a file containing certificates of all nodes the client trusts. If none is specified, defaults to the JVM trust store

    clientCert

    the client certificate

  71. case class TlsServerConfig(certChainFile: ExistingFile, privateKeyFile: ExistingFile, trustCollectionFile: Option[ExistingFile] = None, secretsUrl: Option[String] = None, clientAuth: ServerAuthRequirementConfig = ServerAuthRequirementConfig.Optional, minimumServerProtocolVersion: Option[String] = Some( TlsServerConfig.defaultMinimumServerProtocol ), ciphers: Option[Seq[String]] = TlsServerConfig.defaultCiphers, enableCertRevocationChecking: Boolean = false) extends BaseTlsArguments with Product with Serializable

    A wrapper for TLS related server parameters supporting mutual authentication.

    A wrapper for TLS related server parameters supporting mutual authentication.

    Certificates and keys must be provided in the PEM format. It is recommended to create them with OpenSSL. Other formats (such as GPG) may also work, but have not been tested.

    certChainFile

    a file containing a certificate chain, containing the certificate chain from the server to the root CA. The certificate chain is used to authenticate the server. The order of certificates in the chain matters, i.e., it must start with the server certificate and end with the root certificate.

    privateKeyFile

    a file containing the server's private key. The key must not use a password.

    trustCollectionFile

    a file containing certificates of all nodes the server trusts. Used for client authentication. It depends on the enclosing configuration whether client authentication is mandatory, optional or unsupported. If client authentication is enabled and this parameter is absent, the certificates in the JVM trust store will be used instead.

    secretsUrl

    URL of a secrets service that provide parameters needed to decrypt the private key. Required when private key is encrypted (indicated by '.enc' filename suffix).

    clientAuth

    indicates whether server requires, requests, does does not request auth from clients. Normally the ledger api server requires client auth under TLS, but using this setting this requirement can be loosened. See https://github.com/digital-asset/daml/commit/edd73384c427d9afe63bae9d03baa2a26f7b7f54

    minimumServerProtocolVersion

    minimum supported TLS protocol. Set None (or null in config file) to default to JVM settings.

    ciphers

    supported ciphers. Set to None (or null in config file) to default to JVM settings.

    enableCertRevocationChecking

    whether to enable certificate revocation checking per https://tersesystems.com/blog/2014/03/22/fixing-certificate-revocation/ TODO(#4881): implement cert-revocation at the participant and domain admin endpoints Ledger api server reference PR: https://github.com/digital-asset/daml/pull/7965

  72. case class VegasLimit(maxConcurrency: Option[Int], smoothing: Option[Double]) extends LimitConfig with Product with Serializable

    Uses an algorithm inspired by TCP-Vegas to estimate ideal limit.

  73. case class WindowedLimit(windowSize: Option[Int] = None, delegate: LimitConfig) extends ConcurrencyLimitConfig with Product with Serializable

    Use a deligate concurrency limiter, supplying it data averaged over windows of at least windowSize

    Use a deligate concurrency limiter, supplying it data averaged over windows of at least windowSize

    Corresponds to https://javadoc.io/static/com.netflix.concurrency-limits/concurrency-limits-core/0.3.6/com/netflix/concurrency/limits/limit/WindowedLimit.html

Value Members

  1. object AdminServerConfig extends Serializable
  2. object ApiLoggingConfig extends Serializable
  3. object ApiType
  4. object BatchAggregatorConfig extends Serializable
  5. object CachingConfigs extends Serializable
  6. object CantonCommunityConfig extends Serializable
    Annotations
    @nowarn()
  7. object CantonConfig
    Annotations
    @nowarn()
  8. object CantonConfigUtil
  9. object CantonEnterpriseConfig extends Serializable
    Annotations
    @nowarn() @nowarn()
  10. object CheckConfig
  11. object ClockConfig extends Serializable
  12. object CommunityConfigValidations extends ConfigValidations[CantonCommunityConfig] with NamedLogging
  13. object CommunityDbConfig
  14. object CommunityStorageConfig
  15. object ConcurrencyLimitConfig
  16. object ConfigDefaults
  17. object ConfigErrors extends ConfigErrorGroup

    * Trait which acts as a wrapper around

    * Trait which acts as a wrapper around

    1. lightbend ConfigExceptions which are caught when attempting to read or parse a configuration file 2. pureconfig ConfigReaderFailures which are returned when attempting to convert a given com.typesafe.config.Config instance (basically a valid HOCON-file) to one of the Canton configs
  18. object ConsoleCommandTimeout extends Serializable
  19. object CryptoProvider
  20. object DbCacheConfig extends Serializable
  21. object DbConfig extends NoTracing
  22. object DefaultProcessingTimeouts

    Reasonable default timeouts

  23. object EnterpriseConfigValidations extends ConfigValidations[CantonEnterpriseConfig]
  24. object EnterpriseDbConfig
  25. object EnterpriseStorageConfig
  26. object Generate
  27. object Password extends Serializable
  28. object ReplicationConfig extends Serializable
  29. object RequireTypes

    Encapsulates those classes and their utility methods which enforce a given invariant via the use of require.

  30. object SequencerConnectionConfig
  31. object ServerAuthRequirementConfig
  32. object ServerConfig extends Serializable
  33. object TimeoutDuration extends Serializable
  34. object TlsServerConfig extends Serializable

Ungrouped