Configuration
application.properties
Here you will find properties used to configure MTG CLM. The properties are defined in the application.properties file.
Property | Required | Default | Description |
---|---|---|---|
spring.profiles.active |
true |
mariadb |
This property defines the mode in which the application is started. Depending on the database to be used, one of Example: mariadb |
cara.api.url |
true |
- |
Points to the HTTP location where the MTG CARA WS server is running. Example: cara.example.com/cara-ws-server |
cara.application.name |
true |
- |
The application name, given to MTG Certificate Lifecycle Manager Server in the context of MTG CARA. It is used to identify the MTG Certificate Lifecycle Manager Server application when communicating with MTG CARA. If no customization is present, it should be Example: mtg-ra |
cara.application.secret |
true |
- |
The secret used by the MTG Certificate Lifecycle Manager Server application to authenticate itself when communicating with MTG CARA. It is created during the MTG CARA configuration. |
cara.ws.client.truststore.path |
false |
The default Java CA truststore |
The location of a keystore file containing certificates that are used to verify the TLS connection to MTG CARA. This can be used to overwrite the default Java CA truststore. Example: /tmp/trustore.jks |
cara.ws.client.truststore.password |
false |
- |
The password protecting the truststore (see property |
cara.ws.client.truststore.type |
false |
- |
The format of the truststore (see property |
cara.ws.client.tls.version |
false |
TLSv1.2 |
The version of the TLS protocol to use in the connection to MTG CARA. Valid values are |
cara.ws.client.timeout.seconds |
false |
60 |
An integer value specifying the seconds to time out the connection to MTG CARA. |
spring.datasource.url |
true |
- |
The JDBC URL of the database. Examples: |
spring.datasource.username |
true |
- |
The database user to connect to the database. |
spring.datasource.password |
true |
- |
The user password to connect to the database. |
spring.flyway.enabled |
false |
true |
If set to "true", then the database tables are generated automatically, as well as the future migrations by enabling the database migration tool, Flyway. If set to "false", then the database table and any migration are generated externally. IMPORTANT: Please consult the manufacturer before changing this value. |
spring.quartz.properties.org.quartz.jobStore.isClustered |
false |
true |
Boolean property, which is used to turn on the clustering features that allows multiple instances of Quartz that use the same set of database tables. |
purge.token.cron.expression |
false |
0 0 5 * * ? |
Cron expression, that is used by the application scheduler to regulate how often application tokens, like login refresh tokens, will be deleted from the database. This is a cleanup task. The property value is represented as [second minute hour day month weekday]. Example: 0 0 5 * * ? (which means that the scheduled job runs every day at 5 am) |
update.cert.status.cron.expression |
false |
30 0 */12 ? * * |
Cron expression, that is used by the application scheduler to regulate how often the application checks the validity of the certificates in the database and potentially updates their status to Example: 0 * * * * ? (which means that the scheduled job runs every minute) |
notify.cert.expiring.cron.expression |
false |
0 0 4 * * ? |
Cron expression, that is used by the application scheduler to regulate how often the application checks about sending email notifications regarding expiring certificates. This is a management task and should be executed, at least daily. The property value is represented as [second minute hour day month weekday]. Example: 0 * * * * ? (which means that the scheduled job runs every minute) |
logging.file.name |
false |
- |
Specifies the location where the application log files are stored. Names can be an exact location or relative to the current directory. |
logging.level.app |
false |
WARN |
Specifies the log level of the log messages which are created directly by the application. |
logging.level.sql |
false |
WARN |
This property sets the log level for the database layer. |
logging.level.web |
false |
WARN |
This property sets the log level for the webserver layer. |
tomcat.ajp.enable |
false |
false |
If set to true, this property enables the additional embedded tomcat ajp connector that is required by Apache HTTPd. |
tomcat.ajp.port |
false |
8701 |
Specifies the port for the ajp connector. It is used only if tomcat.ajp.enable is set to true. |
tomcat.ajp.secret.required |
false |
false |
If set to true, this property specified that an ajp secret is required by the ajp connector. It is used only if tomcat.ajp.enable is set to true. |
tomcat.ajp.secret |
false |
- |
Specifies the ajp secret to be used by the ajp connector. It is used only if tomcat.ajp.enable is set to true. |
server.servlet.context-path |
false |
/ |
Context path of the application. |
server.port |
false |
8501 |
Server HTTP port. |
mtg.clm.client.basic.client-id |
true |
- |
The associated with the MTG Certificate Lifecycle Manager Server Keycloak client id. |
mtg.clm.client.basic.client-secret |
true |
- |
The associated with the MTG Certificate Lifecycle Manager Server Keycloak client secret. |
mtg.clm.client.admin.base-url |
true |
- |
Keycloak ADMIN REST API base url. Example: example.com/auth/admin/realms/mtg-ers |
spring.security.oauth2.resourceserver.jwt.issuer-uri |
true |
- |
Keycloak OPENID base url. Example: example.com/auth/realms/mtg-ers. |
spring.security.oauth2.resourceserver.jwt.jwk-set-uri |
true |
- |
Keycloak public key endpoint, that returns the public keys enabled by the realm, encoded as a JSON Web Key (JWK). Example: example.com/auth/realms/mtg-ers/protocol/openid-connect/certs |
mtg.clm.client.trustStore.path |
false |
- |
The location of a keystore file containing trusted certificates that are used to verify all TLS connections that the application is initiating. This can be used to overwrite the default Java CA truststore. |
mtg.clm.client.trustStore.password |
false |
- |
The secret used for the keystore file above. |
mtg.clm.client.trustStore.type |
false |
- |
The format of the truststore (see property mtg.clm.client.truststore.path). Valid values are JKS, JCEKS or PKCS12. Must be set if mtg.clm.client.truststore.path is set. |
mtg.clm.client.timeout-in-seconds |
false |
120 |
An integer value specifying the seconds after which to timeout in all HTTP client connections. |
openid.client.truststore.path |
false |
Defaults to the value of |
The location of a keystore file containing certificates that are used to verify the TLS connection to Keycloak. This can be used to overwrite the default Java CA truststore. |
openid.client.truststore.password |
false |
Defaults to the value of |
The secret used by the MTG Certificate Lifecycle Manager Server application to authenticate itself when communicating with Keycloak. |
openid.client.truststore.type |
false |
Defaults to the value of |
The format of the truststore (see property openid.client.truststore.path). Valid values are JKS, JCEKS or PKCS12. |
mtg.clm.client.admin.timeout-in-seconds |
false |
Defaults to the value of |
An integer value specifying the seconds to time out the connection to Keycloak admin client. |
mtg.clm.client.basic.timeout-in-seconds |
false |
Defaults to the value of |
An integer value specifying the seconds to time out the connection to Keycloak client. |
mtg.clm.dbStartupValidator.intervalInSec |
false |
1 |
An integer value specifying the interval in seconds between validation of running database. |
mtg.clm.dbStartupValidator.timeoutInSec |
false |
60 |
An integer value specifying the timeout in second for the unsuccessful validation. |
billing.endpoints.enabled |
false |
false |
This property defines whether the billing endpoint(s) are available through the application |
management.elastic.metrics.export.enabled |
false |
false |
If set to true then metrics are sent to an OpenSearch server. Can be left empty. |
management.elastic.metrics.export.host |
false |
- |
Specifies the URL where the OpenSearch server can be accessed. Can be left empty. |
management.elastic.metrics.export.user-name |
false |
- |
Specifies the user who has access to the OpenSearch server. Can be left empty. |
management.elastic.metrics.export.password |
false |
- |
Specifies the password of the user of the OpenSearch server. Can be left empty. |
spring.profiles.include |
false |
- |
If set to value If set to value These values can be placed together separated by comma, to allow simultaneous use of different logging possibilities. |
crypto.module.builtin.default |
false |
false |
If set to true, then once the first crypto module is created automatically by CLM, the creation of the built-in crypto module is preferred over a CARA-based crypto module. |
crypto.module.builtin.password |
false |
- |
The password that protects the private key of the built-in crypto module. |
frontend.base.url |
true |
- |
Base URL for CLM UI - does not need to contain locale. |
notifications.creation.maxAttempts |
false |
24 |
Times the notification creation jobs will execute in case of failures. |
notifications.creation.intervalInHours |
false |
1 |
The interval, in hours, between a failed execution of a notification creation job and its next execution. |
notifications.processing.maxAttempts |
false |
50 |
Times the notification processing jobs will execute in case of failures. |
notifications.processing.intervalInHours |
false |
1 |
The interval, in hours, between a failed execution of a notification processing job and its next execution. |
Additional properties that can be configured can be found here: docs.spring.io/spring-boot/docs/current/reference/html/appendix-application-properties.html