com.digitalasset.canton.participant.config
LedgerApiServerConfig
Companion object LedgerApiServerConfig
final case class LedgerApiServerConfig(address: String = "127.0.0.1", internalPort: Option[Port] = None, tls: Option[TlsServerConfig] = None, authServices: Seq[AuthServiceConfig] = Seq.empty, adminToken: Option[String] = None, jwtTimestampLeeway: Option[JwtTimestampLeeway] = None, keepAliveServer: Option[LedgerApiKeepAliveServerConfig] = Some( LedgerApiKeepAliveServerConfig() ), maxInboundMessageSize: NonNegativeInt = ServerConfig.defaultMaxInboundMessageSize, rateLimit: Option[RateLimitingConfig] = Some(DefaultRateLimit), postgresDataSource: PostgresDataSourceConfig = PostgresDataSourceConfig(), databaseConnectionTimeout: NonNegativeFiniteDuration = LedgerApiServerConfig.DefaultDatabaseConnectionTimeout, indexService: IndexServiceConfig = LedgerIndexServiceConfig(), commandService: CommandServiceConfig = CommandServiceConfig(), userManagementService: UserManagementServiceConfig = UserManagementServiceConfig(), partyManagementService: PartyManagementServiceConfig = PartyManagementServiceConfig(), managementServiceTimeout: NonNegativeFiniteDuration = LedgerApiServerConfig.DefaultManagementServiceTimeout, enableCommandInspection: Boolean = true, identityProviderManagement: IdentityProviderManagementConfig = LedgerApiServerConfig.DefaultIdentityProviderManagementConfig, interactiveSubmissionService: InteractiveSubmissionServiceConfig = InteractiveSubmissionServiceConfig.Default, topologyAwarePackageSelection: TopologyAwarePackageSelectionConfig = TopologyAwarePackageSelectionConfig.Default) extends ServerConfig 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.
- tls
tls configuration setting from ledger api server.
- 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.
- adminToken
token that should grant admin access when presented by a client on the ledger api
- jwtTimestampLeeway
leeway parameters for JWTs
- keepAliveServer
keep-alive configuration for ledger api requests
- maxInboundMessageSize
maximum inbound message size on the ledger api
- rateLimit
limit the ledger api server request rates based on system metrics
- postgresDataSource
config for ledger api server when using postgres
- databaseConnectionTimeout
database connection timeout
- indexService
configurations pertaining to the ledger api server's internal "index service"
- commandService
configurations pertaining to the ledger api server's "command service"
- userManagementService
configurations pertaining to the ledger api server's "user management service"
- partyManagementService
configurations pertaining to the ledger api server's "party management 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.
- enableCommandInspection
enable command inspection service over the ledger api
- identityProviderManagement
configurations pertaining to the ledger api server's "identity provider management service"
- Alphabetic
- By Inheritance
- LedgerApiServerConfig
- 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, tls: Option[TlsServerConfig] = None, authServices: Seq[AuthServiceConfig] = Seq.empty, adminToken: Option[String] = None, jwtTimestampLeeway: Option[JwtTimestampLeeway] = None, keepAliveServer: Option[LedgerApiKeepAliveServerConfig] = Some(
LedgerApiKeepAliveServerConfig()
), maxInboundMessageSize: NonNegativeInt = ServerConfig.defaultMaxInboundMessageSize, rateLimit: Option[RateLimitingConfig] = Some(DefaultRateLimit), postgresDataSource: PostgresDataSourceConfig = PostgresDataSourceConfig(), databaseConnectionTimeout: NonNegativeFiniteDuration = LedgerApiServerConfig.DefaultDatabaseConnectionTimeout, indexService: IndexServiceConfig = LedgerIndexServiceConfig(), commandService: CommandServiceConfig = CommandServiceConfig(), userManagementService: UserManagementServiceConfig = UserManagementServiceConfig(), partyManagementService: PartyManagementServiceConfig = PartyManagementServiceConfig(), managementServiceTimeout: NonNegativeFiniteDuration = LedgerApiServerConfig.DefaultManagementServiceTimeout, enableCommandInspection: Boolean = true, identityProviderManagement: IdentityProviderManagementConfig = LedgerApiServerConfig.DefaultIdentityProviderManagementConfig, interactiveSubmissionService: InteractiveSubmissionServiceConfig = InteractiveSubmissionServiceConfig.Default, topologyAwarePackageSelection: TopologyAwarePackageSelectionConfig = TopologyAwarePackageSelectionConfig.Default)
- address
ledger api server host name.
- internalPort
ledger api server port.
- tls
tls configuration setting from ledger api server.
- 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.
- adminToken
token that should grant admin access when presented by a client on the ledger api
- jwtTimestampLeeway
leeway parameters for JWTs
- keepAliveServer
keep-alive configuration for ledger api requests
- maxInboundMessageSize
maximum inbound message size on the ledger api
- rateLimit
limit the ledger api server request rates based on system metrics
- postgresDataSource
config for ledger api server when using postgres
- databaseConnectionTimeout
database connection timeout
- indexService
configurations pertaining to the ledger api server's internal "index service"
- commandService
configurations pertaining to the ledger api server's "command service"
- userManagementService
configurations pertaining to the ledger api server's "user management service"
- partyManagementService
configurations pertaining to the ledger api server's "party management 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.
- enableCommandInspection
enable command inspection service over the ledger api
- identityProviderManagement
configurations pertaining to the ledger api server's "identity provider management service"
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 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]
If defined, the admin-token based authoriztion will be supported when accessing this node through the given
address
andport
.If defined, the admin-token based authoriztion will be supported when accessing this node through the given
address
andport
.- Definition Classes
- LedgerApiServerConfig → ServerConfig
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- val authServices: Seq[AuthServiceConfig]
If any defined, enforces token based authorization when accessing this node through the given
address
andport
.If any defined, enforces token based authorization when accessing this node through the given
address
andport
.- Definition Classes
- LedgerApiServerConfig → ServerConfig
- lazy val clientConfig: FullClientConfig
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
- val commandService: CommandServiceConfig
- val databaseConnectionTimeout: NonNegativeFiniteDuration
- val enableCommandInspection: Boolean
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- val identityProviderManagement: IdentityProviderManagementConfig
- val indexService: IndexServiceConfig
- def instantiateServerInterceptors(tracingConfig: TracingConfig, apiLoggingConfig: ApiLoggingConfig, loggerFactory: NamedLoggerFactory, grpcMetrics: GrpcServerMetrics, authServices: Seq[AuthServiceConfig], adminToken: Option[CantonAdminToken], jwtTimestampLeeway: Option[JwtTimestampLeeway], telemetry: Telemetry): CantonServerInterceptors
Use the configuration to instantiate the interceptors for this server
Use the configuration to instantiate the interceptors for this server
- Definition Classes
- ServerConfig
- val interactiveSubmissionService: InteractiveSubmissionServiceConfig
- 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 jwtTimestampLeeway: Option[JwtTimestampLeeway]
Leeway parameters for the jwt processing algorithms used in the authorization services
Leeway parameters for the jwt processing algorithms used in the authorization services
- Definition Classes
- LedgerApiServerConfig → ServerConfig
- val keepAliveServer: Option[LedgerApiKeepAliveServerConfig]
server keep alive settings
server keep alive settings
- Definition Classes
- LedgerApiServerConfig → ServerConfig
- val managementServiceTimeout: NonNegativeFiniteDuration
- 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
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- val partyManagementService: PartyManagementServiceConfig
- 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: PostgresDataSourceConfig
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- val rateLimit: Option[RateLimitingConfig]
- def serverCertChainFile: Option[PemFileOrString]
server cert chain file if TLS is defined
server cert chain file if TLS is defined
Used for synchronizer 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]
- val topologyAwarePackageSelection: TopologyAwarePackageSelectionConfig
- 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])