Startup properties

The Atoti FRTB uses Spring Boot to manage some configuration properties. Typically these are properties that may change between environments and deployments, for example, development, CI, QA/UAT, and production.

The properties are spread over several files, they are located in the folder frtb-starter/src/main/resources, and loaded from the classpath:

  • application.yaml
  • application.properties
  • frtb-cloud.properties
  • jwt.properties

While application.yaml is specified as part of Spring Boot, the other files are specified using the @PropertySource annotation.

note

For details on the external configuration in Spring Boot, including how properties may be changed for different environments, see the Spring Boot documentation.

Web Server

Key Value Description Default Definition in File
server.port 8080 The port used for the application external services. application.yaml
server.servlet.context-path “/frtb-starter” The context path of the application. application.yaml
server.servlet.session.cookie.name “FRTB_JSESSIONID” Customize cookie name application.yaml
server.servlet.session.cookie.secure “true” Whether to always mark the cookie as secure application.yaml
server.servlet.session.cookie.http-only “true” Whether to use “HttpOnly” attribute for the cookie application.yaml
server.servlet.session.cookie.same-site “none” SameSite setting for the cookie application.yaml

Deployment

Key Value Description Default Definition in File
starter.deployment.type “in-memory” The nature of the database used for the cube. It can take three values:
  • in-memory (default): The in-memory datastore is used.
  • direct-query: An external database is used.

    note

    Note: An in-memory datastore is still used for configuration data.

  • query-node: No database is used.
application.yaml
starter.deployment.transport “local” The messenger to use for communication between cubes. It can take three values:
  • local (default): For communication only within a single machine. It cannot be used for distribution, but is faster if distribution isn’t needed.
  • netty: For jgroups communication between machines in a distributed deployment.
  • none: For data cubes that use no communication bus. This configuration cannot be used with query-nodes and the FRTBCombinedCube must be disabled.
application.yaml

Datastore partitioning

Key Value Description Default Definition in File
partitioning.TradeId 8 Datastore partitioning configuration option. Sets the number of partitions to use based on the hash value of the Trade Id. application.properties
partitioning.AsOfDate true Datastore partitioning configuration option. Enables and disables partitioning based on the AsOfDate. application.properties

Config files

Key Value Description Default Definition in File
measure.descriptions measure-descriptions.json The configuration file containing measure descriptions. application.properties
drillIn.data drillInConfig.json The configuration file containing drill-in data. application.properties
logging.config classpath:logback-stdout.xml Location of the logging configuration file. application.yaml

CSV loading

Key Value Description Default Definition in File
csvSource.parserThreads 16 The number of threads used to parse the files. application.properties
csvSource.bufferSize 1024 Sets the size of a byte buffer, in kilobytes. application.properties

FX rates service

Key Value Description Default Definition in File
fx-rates.common-currency EUR Sets the currency to use for indirect FX rate look-ups (e.g AUD/SGD as AUD/EUR * EUR/SGD) application.properties

Content server

tip

For details on the Content Server in Atoti Server, see Content Server.

Key Value Description Default Definition in File
contentServer.security.calculatedMemberRole ROLE_USER The role users must have to create calculated members in the content server. application.properties
contentServer.security.kpiRole ROLE_USER The role users must have to create KPIs in the content server. application.properties
contentServer.security.cache.entitlementsTTL 3600 The time to live (in seconds or duration string) of the entitlement cache. application.properties
contentServer.remote false Specifies whether FRTB should use the remote or the local configuration. true uses the remote configuration, while false uses the local configuration. application.properties
contentServer.remote.api.uri localhost:9091/ The URI of the content server used by RemoteContentServiceConfig. application.properties
contentServer.factory-reset false Resets the contents of the content server to those provided in the Atoti FRTB release. Valid values are false, true, file, folder (case-agnostic). true defaults to the file-based implementation.

note

Development only. Turn this off in production.

application.properties
contentServer.factory-reset.filename frtb-content-server.json The filename of the release version of the content server contents. application.properties
contentServer.factory-reset.folder-name bookmarks The folder containing the release version of the content server contents. application.properties
contentServer.bookmarks.default-owners ROLE_ADMIN The default owners for any bookmark. application.properties
contentServer.bookmarks.default-readers ROLE_USER The default readers for any bookmark. application.properties
contentServer.root.user pivot The root user of the content server, used by RemoteContentServiceConfig. application.properties
contentServer.remote.max-connection-time PT5M The max time to wait for Remote Content Service (in seconds or duration string), used by RemoteContentServiceConfig. application.properties

FRTB parameter retriever selection

Key Value Description Default Definition in File
parameter.retriever This property is not in use. application.properties

Maturity converter

Key Value Description Default Definition in File
maturity-converter.sa.sbm legacy Maturity Converter to be used for SBM calculations. Currently available values are “legacy” and “simple”. application.properties
maturity-converter.drc simple Maturity Converter to be used for DRC calculations. Currently available values are “legacy” and “simple”. application.properties
maturity-converter.day-count A/365 The default day count convention to use with the “simple” maturity converter. Currently available values are:
- A/360
- A/365F
- A/365

note

This option is ignored by the legacy maturity converter.

application.properties

Discovery requests

Key Value Description Default Definition in File
activeviam.distribution.maxPendingDiscoveries 5 The number of outstanding discovery requests in the query node. For a smooth startup, set this to the number of data cubes across all instances. application.properties

Data Load Controller

Key Value Description Default Definition in File
dlc.audit-logging.enabled false Enable or disable additional logging of DLC. application.properties
csvSource.dataset data Path to the directory containing the files to load. application.properties
crif-reporting-currency USD The reporting currency used for FX sensitivities loaded from CRIF files. application.properties
auto-cleanup.upon.summary.data true When loading data into a cube, the presence of summary data for an AsOfDate automatically erases the corresponding full dataset. application.properties
optionality-service.auto-run “none” The Optionality Service can automatically set the “optionality” flag on the delta sensitivities, by matching them with curvature sensitivities during the ETL. It can be run explicitly as a topic through the DLC, or automatically after loading sensitivities for “delta”, “curvature”, “crif”, “all”, or “none”. application.yaml

Data Extraction Engine

Required properties

Key Value Description Default Definition in File
data.extraction.service.base.dir.path ./ Path to the folder in which the files will be generated for regular extractions. application.properties
data.extraction.service.http.base.url http://localhost:8080 URL mount point to access the folder as a Web File Server for regular extractions. application.properties
enhanced.drillthrough.base.dir.path ./src/main/resources/DEEDrillthroughs Path to the folder in which the files will be generated for the Enhanced Drillthrough extractions. application.properties
enhanced.drillthrough.http.base.url http://localhost:8080 URL mount point to access the folder as a Web File Server for the Enhanced Drillthrough extractions. application.properties

Additional properties

Key Value Description Default Definition in File
data.extraction.templates.base.dir.path ./src/main/resources/DEETemplateOrders Path to the folder holding the JSON order template files. application.properties
data.extraction.service.with.user.folders false Include the user name in the folder path generated. For example: /Output/User1/extraction.csv application.properties

Feature selection properties

Key Value Description Default Definition in File
ima.disable false Set to true to disable IMA cubes:
InternalModelApproachCube, IMADRCCube, PLCube & StressedCalibrationCube.
application.properties
ima.es.disable false Set to true to disable IMA ES cubes:
InternalModelApproachCube.
application.properties
ima.drc.disable false Set to true to disable IMA DRC cubes:
IMADRCCube
application.properties
ima.plat-backtesting.disable false Set to true to disable IMA PLAT & Backtesting cubes:
PLCube
application.properties
ima.stress-calibration.disable false Set to true to disable StressedCalibrationCube. application.properties
combined.disable false Set to true to disable FRTBCombinedCube. application.properties
springdoc.swagger.enabled false Enables Swagger UI. application.yaml
springdoc.swagger.path Path to Swagger UI. application.yaml
categories-hierarchy.enabled false Enables the Categories hierarchy.

Spring boot actuator properties

Key Value Description Default Definition in File
management.endpoints.web.exposure.include “health” The endpoint IDs to include. application.yaml
management.endpoints.web.exposure.exclude “env,beans” The endpoint IDs to exclude. application.yaml
management.endpoint.env.additional-keys-to-sanitize “activeviam.jwt.key.*” Values to sanitize in the env endpoint (if enabled) application.yaml

User Detail Service Properties

Key Value Description Default Definition in File
user-detail-filename Specify the csv file for describing userDetailService. If the property is not set, use hardcoded user details. If property is set, load from file. application.properties

Sign-Off

Key Value Description Default Definition in File
signoff.extraction.templates DEFAULT:CubeAdjustmentExport;StandardisedApproachCube:CrifExtraction;InternalModelApproachCube:IMACubeExport;InternalModelApproachCube ES (Basic):IMACubeExportESBasic;PLCube:PLCubeExport;IMADRCCube:IMADRCCubeExport Extraction templates used for signoff.
Format : cubeName1:templateName11,templateName12;cubeName2:templateName21
and optionally: cubeName1
generated.files.base.dir.path ${java.io.tmpdir} The base directory path where all the generated files will be generated. This property is needed by the Download service. application.properties
asofdate.level AsOfDate@Date@Dates The level containing the AsOfDates, used by the Sign-Off service for filtering. application.properties

What-If Engine

Key Value Description Default Definition in File
what-if.db.*
what-if.db:
hibernate:
dialect: org.hibernate.dialect.H2Dialect
hbm2ddl.auto: create
current_session_context_class: thread
connection.url: jdbc:h2:mem:what-if;DB_CLOSE_DELAY=-1
connection.driver_class: org.h2.Driver
The properties used to define the hibernate JDBC database for persisting the what-if engine simulation statuses.

See the hibernate documentation for details on individual properties.

application.yaml

What-If File Upload

Key Value Description Default Definition in File
input.data.root.dir.path ./src/test/resources/data The directory where the files for the File Upload are located.
csvSource.subdirectory.dataset.stage /stage The staging directory for the File Upload.
csvSource.subdirectory.dataset.whatif /whatif The directory of files on which the What-If is executed.

Cloud Storage properties

Key Value Description Default Definition in File
cloudSource.dataset “data” Path to the Cloud directory containing the files to load. frtb-cloud.properties
cloud.fetch.thread 12 Maximum number of threads that will download in parallel. frtb-cloud.properties
aws.bucket Bucket of the directory (access point alias). frtb-cloud.properties
aws.region Region to be used by the client. frtb-cloud.properties
aws.accessKeyId Access key ID. frtb-cloud.properties
aws.secretKey Secret access key. frtb-cloud.properties
azure.container Container name. frtb-cloud.properties
azure.connection.string Connection string of the storage account. frtb-cloud.properties

JWT properties

Key Value Description Default Definition in File
activeviam.jwt.key.public * RSA public key (Base64 encoding) jwt.properties
activeviam.jwt.key.private * RSA private key (Base64 encoding) jwt.properties
activeviam.jwt.expiration 43200 Lifetime of JWT token in seconds jwt.properties

Distribution properties

Key Value Description Default Definition in File
activeviam.distribution.gossip.router.enable Enable TCP GOSSIP router (query node) none
activeviam.distribution.gossip.router.port TCP GOSSIP router port (query node) none
activeviam.distribution.endpoint.protocol “http” Protocol to use when connecting to the server’s REST endpoints.
Defaults to “http”.
Since 5.1.4
application.yaml
activeviam.distribution.endpoint.host Host name to use when connecting to the server’s REST endpoints.
Defaults to server’s IP address
Since 5.1.4
activeviam.distribution.endpoint.port ${server.port} Port to use when connecting to the server’s REST endpoints.
Must match server.port
application.yaml
activeviam.distribution.endpoint.suffix “frtb-starter” Servlet context path for connecting to the server’s REST endpoints.
Must be compatible with the path in server.servlet.context-path.
application.yaml

DirectQuery

DirectQuery’s startup properties can be found in the dedicated DirectQuery Configuration Properties page.

Tracing

Key Value Description Default Definition in File
tracing.enabled true Enable OpenTelemetry Configuration application.properties
open-telemetry.zipkin-span-exporter.url URL to use for zipkin SpanProcessor bean application.properties
open-telemetry.logging-span-exporter.enabled Enable SpanProcessor bean with LoggingSpanExporter application.properties