Core Configuration by Example
This example illustrates a minimal configuration using both single-file and multi-file formats. It highlights the general structure and the differences between the two modes and it covers the absolute minimal configuration that is required to get a Cadenza instance up and running.
Selecting Cadenza Features
Cadenza comes out of the box with all functionality enabled that does not require configuration and that is allowed by your license.
Functionality can be disabled by disabling the Cadenza feature. The names and purposes of all available Cadenza features are documented in Cadenza Editions and Features.
In our minimal example we will at least have to configure one database connection and select some way for our users to authenticate to Cadenza.
Defining Variables (Optional)
You can optionally define named variables that can be reused in later parts of the configuration.
-
Multi-File XML
-
Single-File YAML
variables.xml<?xml version="1.0" encoding="UTF-8"?>
<variables>
<variable name="FOOBAR">$SYSTEM{SOMEENVIRONMENTVARIABLE}</variable>
</variables>
singlefileconfig.yamlcadenzaconfig:
variables:
variable:
- name: "FOOBAR"
value: "$SYSTEM{SOMEENVIRONMENTVARIABLE}"
Configuring the System DB and License Key
Cadenza needs at least one database connection to store its own data necessary for operating Cadenza itself. This database is called the "System DB" and is configured in the core Configuration.
Note that these settings can sometimes require configuring a secret like a password. We have a dedicated page that describes how we deal with secrets in configuration.
You will also have to configure your license key in the same core configuration.
-
Multi-File XML
-
Single-File YAML
core-config.xml<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<licenseKey>base64 encoded licenses key goes here</licenseKey>
<systemDb>
<driverName>$VAR{FOOBAR}</driverName>
<jdbcURL>text</jdbcURL>
<user>text</user>
<password>text</password>
</systemDb>
</configuration>
singlefileconfig.yamlcadenzaconfig:
variables:
# Variables are configured here (omitted for clarity)
settings:
core:
licenseKey: "base64 encoded licenses key goes here"
systemDb:
driverName: "$VAR{FOOBAR}"
jdbcURL: "text"
user: "text"
password: "text"
Configuring the AccessManager_Embedded Cadenza Feature
Finally, we configure the AccessManager_Embedded Cadenza feature, which requires the accessmanagerembedded Configuration (see Cadenza Editions and Features) and requires enabling this authenticator in the accessmanager Configuration.
-
Multi-File XML
-
Single-File YAML
accessmanager-config.xml<?xml version="1.0" encoding="UTF-8"?>
<userRegistry>
<authenticators>
<authenticator refid="Embedded"/>
</authenticators>
</userRegistry>
accessmanagerembedded-config.xml<?xml version="1.0" encoding="UTF-8"?>
<embedded>
<users>
<user>
<loginName>johndoe</loginName>
<password>secretpassword</password>
<groups>
<group>Admin</group>
</groups>
</user>
</users>
</embedded>
singlefileconfig.yamlcadenzaconfig:
variables:
# Variables are configured here (omitted for clarity)
settings:
core:
# core configuration from above goes here (omitted for clarity)
accessmanager:
authenticators:
refid: "Embedded"
accessmanagerembedded:
users:
user:
- loginName: "johndoe"
password: "secretpassword"
groups:
group:
- "Admin"
Complete YAML Single-File Configuration Example
Here is the complete example YAML file for reference:
cadenzaconfig:
variables:
variable:
- name: "FOOBAR"
value: "$SYSTEM{SOMEENVIRONMENTVARIABLE}"
settings:
core:
licenseKey: "base64 encoded licenses key goes here"
systemDb:
driverName: "$VAR{FOOBAR}"
jdbcURL: "text"
user: "text"
password: "text"
accessmanager:
authenticators:
refid: "Embedded"
accessmanagerembedded:
users:
user:
- loginName: "johndoe"
password: "secretpassword"
groups:
group:
- "Admin"