1b56489dfb68a6fac2105ec88c7bb62c8e7312d4
[ric-plt/lib/rmr.git] / docs / config-deploy.rst
1  
2 .. This work is licensed under a Creative Commons Attribution 4.0 International License. 
3 .. SPDX-License-Identifier: CC-BY-4.0 
4 .. CAUTION: this document is generated from source in doc/src/rtd. 
5 .. To make changes edit the source and recompile the document. 
6 .. Do NOT make changes directly to .rst or .md files. 
7  
8  
9 RMR Configuration and Delpoyment 
10 ============================================================================================ 
11  
12 The RIC Message Router (RMR) is a library which applications 
13 use to send and receive messages where the message routing, 
14 endpoint selection, is based on the message type rather than 
15 on traditional DNS names or IP addresses. This document 
16 contains information regarding the configuration of RMR when 
17 it is embedded by a *user application* . RMR itself is not a 
18 deployable entity. 
19  
20 Configuration 
21 -------------------------------------------------------------------------------------------- 
22  
23 Several aspects of RMR behaviour is controlled via 
24 environment variables which are set at the time that a user 
25 application invokes the RMR initialisation function. This 
26 allows these variables to be set before the application is 
27 started as a function of the true environment, or set by the 
28 application as a means for the application to influence RMR's 
29 behaviour. The following is a list of RMR variables which RMR 
30 recognises (see the main RMR manual page in the development 
31 package for more details). 
32  
33  
34 RMR_ASYNC_CONN 
35    
36   Allows the asynch connection mode to be turned off (by 
37   setting the value to 0. When set to 1, or missing from the 
38   environment, RMR will invoke the connection interface in 
39   the transport mechanism using the non-blocking (asynch) 
40   mode. This will likely result in many "soft failures" 
41   (retry) until the connection is established, but allows 
42   the application to continue unimpeeded should the 
43   connection be slow to set up. 
44  
45 RMR_BIND_IF 
46    
47   This provides the interface that RMr will bind listen 
48   ports to allowing for a single interface to be used rather 
49   than listening across all interfaces. This should be the 
50   IP address assigned to the interface that RMr should 
51   listen on, and if not defined RMr will listen on all 
52   interfaces. 
53  
54 RMR_RTG_SVC 
55    
56   RMr opens a TCP listen socket using the port defined by 
57   this environment variable and expects that the route table 
58   generator process will connect to this port. If not 
59   supplied the port 4561 is used. 
60  
61 RMR_RTG_ISRAW 
62    
63   Is set to 1 if the route table generator is sending 
64   "plain" messages (not using RMr to send messages, 0 if the 
65   rtg is using RMr to send. The default is 1 as we don't 
66   expect the rtg to use RMr. 
67  
68 RMR_SEED_RT 
69    
70   This is used to supply a static route table which can be 
71   used for debugging, testing, or if no route table 
72   generator process is being used to supply the route table. 
73   If not defined, no static table is used and RMr will not 
74   report *ready* until a table is received. 
75  
76 RMR_SRC_ID 
77    
78   This is either the name or IP address which is placed into 
79   outbound messages as the message source. This will used 
80   when an RMR based application uses the rmr_rts_msg() 
81   function to return a response to the sender. If not 
82   supplied RMR will use the hostname which in some container 
83   environments might not be routable. 
84  
85 RMR_VCTL_FILE 
86    
87   This supplies the name of a verbosity control file. The 
88   core RMR functions do not produce messages unless there is 
89   a critical failure. However, the route table collection 
90   thread, not a part of the main message processing 
91   component, can write additional messages to standard 
92   error. If this variable is set, RMR will extract the 
93   verbosity level for these messages (0 is silent) from the 
94   first line of the file. Changes to the file are detected 
95   and thus the level can be changed dynamically, however RMR 
96   will only suss out this variable during initialisation, so 
97   it is impossible to enable verbosity after startup. 
98  
99 RMR_WARNINGS 
100    
101   If set to 1, RMR will write some warnings which are 
102   non-performance impacting. If the variable is not defined, 
103   or set to 0, RMR will not write these additional warnings. 
104