AMQP Directives
RealityServer contains integrations for AMQP message brokers such as RabbitMQ. These may be used by RealityServer features such as the queue manager. Since these integrations can be used by multiple RealityServer features they are defined in their own <user aws> section. Here is an example configuration:
<user amqp> <user queue> name my_amqp_queue host localhost port 5672 queue_name test_queue connect_method tls sasl_method external <user tls> ca_cert_path ca_certificate.pem cert_path client_certificate.pem key_path client_key.pem key_password ITS_A_SECRET verify_peer on verify_hostname on min_tls_version latest max_tls_version latest </user> </user> </user>
This example defines an AMQP queue to allow submitting jobs and listening for jobs (if defined in the listen_queue directive of the queue manager).
The available configuration directives are defined below. Pay particular attention to the context of each option since many of these configuration directives are nested several levels deep in different user sections. For example, the tls directive in the example above is in the amqp/queue/tls context.
Note: You can define multiple <user queue> sections inside the <user amqp> section. This allows you to have multiple named AMQP queues defined which are then used by name. As described in queue manager directives section, only a single queue may be listened to at a time.
name
Description | Name of the queue |
Syntax | name string |
Context | user amqp/queue |
Defines the name of the AMQP queue used in RealityServer. This is the internal name used by RealityServer commands and other configuration directives to reference the queue and is not related to the name of the queue in the message broker.
host
Description | Host name of the AMQP message broker. |
Syntax | host string |
Context | user amqp/queue |
This can be a hostname or IP address. Both IPv4 and IPv6 are acceptable.
port
Description | The port that the AMQP message broker is listening on. |
Syntax | port number |
Context | user amqp/queue |
The port to connect on. RabbitMQ brokers typically listen on port 5672, and 5671 for SSL/TLS.
virtual_host
Description | The virtual host to connect to on the broker. |
Syntax | virtual_host string |
Context | user amqp/queue |
The virtual host to connect to on the broker. The default on most brokers is "/".
exchange
Description | The exchange on the broker to publish to. |
Syntax | exchange string |
Context | user amqp/queue |
The exchaange used when publishing messages to the broker.
exchange
Description | The exchange on the broker to publish to. |
Syntax | exchange string |
Context | user amqp/queue |
The exchaange used when publishing messages to the broker.
routing_key
Description | The routing key used when publishing messages. |
Syntax | routing_key string |
Context | user amqp/queue |
The routing key used when publishing messages. When using a direct exchange this refers to the name of the queue to publish to.
username
Description | Username used to log in to the message broker. |
Syntax | username string |
Context | user amqp/queue |
The username used to log in when plain authentication is used.
password
Description | Password used to log in to the message broker. |
Syntax | password string |
Context | user amqp/queue |
The password used to log in when plain authentication is used.
sasl_method
Description | The SASL method used for authentication. |
Syntax | sasl_method string (plain|external) |
Context | user amqp/queue |
The SASL method used for authentication. This may be either plain if username and password are specified or external if TLS based authentication is used.
connect_method
Description | The method used to connect to the message broker. |
Syntax | connect_method string (tcp|tls) |
Context | user amqp/queue |
Whether a secure TLS connection or plain TCP connection should be made to the message broker.
ca_cert_path
Description | The path to CA certificate. |
Syntax | ca_cert_path string |
Context | user amqp/queue/tls |
The path to the CA bundle file in PEM format.
cert_path
Description | The path to the client certificate. |
Syntax | cert_path string |
Context | user amqp/queue/tls |
The path to the client certificate file in PEM format.
key_path
Description | The path to the client private key file. |
Syntax | key_path string |
Context | user amqp/queue/tls |
The path to the client private key file in PEM format.
key_password
Description | The password used for the client private key file. |
Syntax | key_password string |
Context | user amqp/queue/tls |
This entry allows you to provide the password for password-proetected private key files.
verify_peer
Description | Enable or disable peer verification. |
Syntax | verify_peer string |
Context | user amqp/queue/tls |
If peer verification is enabled then the common name in the server certificate must match the server name. Peer verification is enabled by default.
verify_hostname
Description | Enable or disable hostname verification. |
Syntax | verify_hostname string |
Context | user amqp/queue/tls |
Hostname verification checks the broker certificate for a CN or SAN that matches the server hostname.
min_tls_version
Description | Sets a minimum tls version requirement for the connection. |
Syntax | min_tls_version string (1.0|1.1|1.2|latest) |
Context | user amqp/queue/tls |
Sets the oldest acceptable TLS version that is acceptable when connecting to the broker.
max_tls_version
Description | Sets a maximum tls version requirement for the connection. |
Syntax | max_tls_version string (1.0|1.1|1.2|latest) |
Context | user amqp/queue/tls |
Sets the newest acceptable TLS version that is acceptable when connecting to the broker.