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.resources.documentation | null |
The optional resource location of the offline documentation. For example, “classpath:/static/documentation/”. Since 5.3.2 |
none |
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:
|
application.yaml |
starter.deployment.transport | “local” | The messenger to use for communication between cubes. It can take three values:
|
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: |
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 |