osp-rabbitmq
Overview
RabbitMQ is the messaging broker used by OnSphere. It is mandatory to have communication between modules and so mandatory for OnSphere usage.
List of configuration files
Filename |
Short description |
Format |
Documentation |
|---|---|---|---|
module.service |
Each service is described in its own file and then assembled |
yaml |
See the Swarm administration or Official documentation |
rabbitmq.conf |
The configuration of the module |
conf |
Warning
The following field define on rabbitmq.conf are mandatory for OnSphere:
default_user : Must be swissdotnet
default_pass : Changed by the dispatcher
ssl_options : Must point to the certificate
auth_mechanisms : External is needed for the certificate auth
ssl_cert_login_from : Use to identify the module
Hint
The following option need to be customize depending on your node configuration:
disk_free_limit.absolute : The minimum free space remaining before blocking the message processing
total_memory_available_override_value : The real ram size allowed to use. When running on a container RabbitMQ might not be able to determine the RAM usable.
When using a resource limit on the container this value must be set to the same value.
vm_memory_high_watermark.relative : The maximum allowed ram usage before blocking the connection. Set at 80% by default.
A invalid configuration of these value can lead to RabbitMQ refusing to process message and request.
You can diagnose it with One or more module start but hang.
Environment Variables
All modules env variables
Variable Name |
Default Value |
Usage |
|---|---|---|
PROMETHEUS_PORT |
9100 |
The internal port used for Openmetrics exposition. |
DISPATCHER_HOST |
modules_configuration-dispatcher_main |
The hostname on which the modules can fetch the configuration. |
DISPATCHER_PORT |
10000 |
The port used by the module to listen for configuration request. |
USE_LEGACY_RESTART |
Not set |
When this flag is enabled, the container will terminate itself whenever a restart is needed (for example, after a configuration change). This is the legacy restart (before version 2.1.0). Otherwise, the system will simply restart the process running inside the container. |
CUSTOM_JVM_OPTIONS |
Not set |
Allow to inject JVM options. See Configuration changes for more information. |
ALLOW_VERSION_MISMATCH |
Not set |
Allow to disable the version check when a new configuration is published to a module. By default, a module will not be restarted if its configuration does not match its version. |
Dedicated variables
See docker official documentation