Skip to content

Fortified IDDocs

Configuration

Operational guidance for Configuration in Fortified ID Access deployments.

There are two ways to provide system properties and JVM options to the JVM process running inside a Docker container.

Select from a set of predefined scenarios by setting the environment variable JVM_CONFIG to a comma-separated list of scenario IDs. See table below for available scenarios.

Pay attention to environment variables in the property sets, since they must be provided at runtime.

Scenario IDProperties
JMX_REMOTE

com.sun.management.jmxremote=true

com.sun.management.jmxremote.port=7091

com.sun.management.jmxremote.rmi.port=7091

com.sun.management.jmxremote.local.port=7092

com.sun.management.jmxremote.authenticate=false

com.sun.management.jmxremote.ssl=false

java.rmi.server.hostname=$RMI_SERVER_HOSTNAME

JMXfortifiedid.metrics.jmx.enabled=true
fortified.vertx.config.path=config/jmx/vertx-config.json
PROMETHEUSfortifiedid.metrics.prometheus.enabled=true
fortified.vertx.config.path=config/prometheus/vertx-config.json

Example:

docker run -e JVM_CONFIG=jmx,jmx_remote -e RMI_SERVER_HOSTNAME=192.168.0.10 -p 8080:8080 -p 7091:7091 --detach --name integrity fortifiedid.jfrog.io/docker/fortifiedid/integrity-access:<version> -c Node config/config.json

Define a custom set of system properties and JVM options. To accomplish this, use the docker volumes to override the file
/opt/fortifiedid/integrity/bin/default/java.config
at runtime. In this case, all mandatory properties and options must be provided, since no other items will be provided by the system.

Example:

docker run -v /path/to/java.config:/opt/fortifiedid/integrity/bin/default/java.config -p 8080:8080 --detach --name integrity fortifiedid.jfrog.io/docker/fortifiedid/integrity:<version> -c Node config/config.json

The application uses Log4J2 logging. Default configuration is embedded in the Docker image, in the file /opt/fortifiedid/integrity/config/log4j2.xml.

As a convenience, it is possible to set the default log level of this configuration by providing the environment variable LOG_LEVEL at runtime. This variable can be any valid Log4j log level: ALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF. This log level will affect all loggers.

For finer control over the logging configuration, use docker volumes to override the log configuration file at runtime. Example:

docker run -v /path/to/log4j2.xml:/opt/fortifiedid/integrity/config/log4j2.xml -p 8080:8080 --detach --name integrity fortifiedid.jfrog.io/docker/fortifiedid/integrity:<version> -c Node config/config.json

The preferred way to manage application logging from a Docker container is by using an appropriate Docker logging driver.