Initializing a Software Event Broker Container

When you initialize a container, you pass the configuration information for the container to the runtime engine. There are different mechanisms for doing this, depending on your runtime environment. For example, for Docker, you can pass command line parameters to the docker create command to set the container name, port assignments, and so on.

One of the configuration items you can set for the container is its environment variables (for the docker create command, you use the -env parameter). You can pass configuration keys to the software event broker by setting corresponding environment variables. Configuration keys are only evaluated upon initial startup of a software event broker Docker Container or after a reload to the default configuration.

Passing Configuration Keys as Environment Variables

You can specify broker-specific configuration by passing configuration keys as environment variables. Configuration keys only take effect when the container is booted for the first time, and the database is absent.

To pass a configuration key as an environment variable, set the variable name to the configuration key hierarchy concatenated with the underscore character. For example, to set the value of the username/<name>/globalaccesslevel configuration key, use the following environment variable:

username_<name>_globalaccesslevel

To set the username/<name>/globalaccesslevel and username/<name>/password configuration keys to assign the password admin to the admin user, add the following lines to the docker create command:

--env 'username_admin_globalaccesslevel=admin'
--env 'username_admin_password=admin'

For configuration keys where portions of the key are passed to a container, those portions cannot contain an underscore. For example, configuration keys that contain <name> as a key (for instance, as in redundancy/group/node/<name>/connectvia) cannot contain underscore characters in <name>.

Configuration Keys for the Software Event Broker

To learn more about the configuration keys that you can use with the software event broker, see Configuration Keys.

Acceptable Values for the <name> Key

For configuration keys that specify a <name> value, such as the username, messagevpn, and redundancy configuration keys, the name must consist only of lowercase letters and numbers.

Assigning Port Numbers

Before you assign port numbers for configuration keys, consult the Default Configuration for Software Event Brokers regarding the default port assignment for the various software event broker services to help prevent port assignment conflicts.

Other Environment Variables

In addition to configuration keys, there are other environment variables that can be set. These environment variables are processed by the container's operating system. Unlike configuration keys, these environment variables take effect whenever the container is rebooted. In the following example, UMASK and TZ (timezone) environment variables are set through the docker create command. This configuration will take effect every time the container is restarted.

--env 'TZ=Canada/Eastern'
--env 'umask=0022'

The table below lists the available environment variables.

Environment Variables

Environment Variable Description Value
TZ=<timezone> Timezone configuration for software event broker Docker images.

<timezone>

For more information, see Setting the Timezone.

UMASK

Umask for all files and directories created by the application.

<umask>

The default umask will be 077.

The umask only affects the permissions on new files that are created, and existing files in volumes will continue to have the same permissions as before. Note that the umask is only supported in the 9.4.0 release onwards.