Configuring deployed apps
All the apps have an extended set of configuration options which might need tuning based on different scenarios. These configurations are accepted in the HOCON format.
Adding ad-hoc configuration
Every app accepts extra configuration through environment variables. All the environment variables passed to the apps, that start with ADDITIONAL_CONFIG will be processed and the configuration will be applied when the app starts.
Note
Example env: ADDITIONAL_CONFIG_EXAMPLE=”canton.example.key=value”
The full configuration for each app can be observed in the scala code, with the configuration key being kebab case compared to the camel case in the scala code:
Furthermore, the participant and other synchronizer components can be configured independently as well. Further info on such configurations can be found in the daml docs.
Custom bootstrap scripts
Both Canton and splice support bootstrap scripts during
initialization. While this usually should not be needed as the
validator app takes care of initializing the node, in some scenarios
it can be useful. To do so, you need to set the
OVERRIDE_BOOTSTRAP_SCRIPT
environment variable to the content of your bootstrap script.
Note that the script must be wrapped in a main
function, e.g.,
def main() {
logger.info(s"Participant id from bootstrap script: ${participant.id}")
}
You can set this environment variable through additionalEnvVars
as described below.
Note that this overwrites any bootstrap scripts baked into the container image. So if you added custom functionality there, you will need to replicate this in the overwrite.
Helm charts support
The helm charts can be configured through the value additionalEnvVars
, which passes the values as environment variables to the apps.
additionalEnvVars:
- name: ADDITIONAL_CONFIG_EXAMPLE
value: canton.example.key=value
Comments