forked from sony/nmos-cpp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconfig.json
137 lines (96 loc) · 7.29 KB
/
config.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
// Note: C++/JavaScript-style single and multi-line comments are permitted and ignored in nmos-cpp config files
// Configuration settings and defaults for the NMOS Node and Registration APIs, and the Connection API
{
// error_log [registry, node]: filename for the error log or an empty string to write to stderr
//"error_log": "",
// access_log [registry, node]: filename for the access log (in Common Log Format) or an empty string to discard
//"access_log": "",
// logging_level [registry, node]: integer value, between 40 (least verbose, only fatal messages) and -40 (most verbose)
//"logging_level": 0,
// host_name [registry, node]: the host name for which to advertise services, also used to construct response headers and fields in the data model
//"host_name": "",
// domain [registry, node]: the domain on which to browse for services or an empty string to use the default domain (local/mDNS)
//"domain": "",
// host_address/host_addresses [registry, node]: IP addresses used to construct response headers (e.g. 'Link' or 'Location'), and host and URL fields in the data model
//"host_address": "127.0.0.1",
//"host_addresses": array-of-ip-address-strings,
// is04_versions [registry, node]: used to specify the enabled API versions (advertised via 'api_ver') for a version-locked configuration
//"is04_versions": ["v1.1", "v1.2"],
// is05_versions [node]: used to specify the enabled API versions for a version-locked configuration
//"is05_versions": ["v1.0"],
// pri [registry, node]: used for the 'pri' TXT record; specifying nmos::service_priorities::no_priority (maximum value) disables advertisement completely
//"pri": 100,
// highest_pri, lowest_pri [node]: used to specify the (inclusive) range of suitable 'pri' values of discovered APIs, to avoid development and live systems colliding
//"highest_pri": 0,
//"lowest_pri": 2147483647,
// discovery_backoff_min/discovery_backoff_max/discovery_backoff_factor [node]: used to back-off after errors interacting with all discoverable Registration APIs
//"discovery_backoff_min": 1,
//"discovery_backoff_max": 30,
//"discovery_backoff_factor": 1.5,
// registry_address [node]: IP address or host name used to construct request URLs for registry APIs (if not discovered via DNS-SD)
//"registry_address": ip-address-string,
// registry_version [node]: used to construct request URLs for registry APIs (if not discovered via DNS-SD)
//"registry_version": "v1.2",
// port numbers [registry, node]: ports to which clients should connect for each API
// http_port [registry, node]: if specified, used in preference to the individual defaults for each HTTP API
//"http_port": 0,
// registration_port [node]: used to construct request URLs for the registry's Registration API (if not discovered via DNS-SD)
//"registration_port": 3210,
//"node_port": 3212,
//"connection_port": 3215,
// listen_backlog [registry, node]: the maximum length of the queue of pending connections, or zero for the implementation default (the implementation may not honour this value)
//"listen_backlog": 0,
// registration_heartbeat_interval [node]:
// "Nodes are expected to peform a heartbeat every 5 seconds by default."
// See https://github.com/AMWA-TV/nmos-discovery-registration/blob/v1.2/docs/4.1.%20Behaviour%20-%20Registration.md#heartbeating
//"registration_heartbeat_interval": 5,
// registration_request_max [node]: timeout for interactions with the Registration API /resource endpoint
//"registration_request_max": 30,
// registration_heartbeat_max [node]: timeout for interactions with the Registration API /health/nodes endpoint
// Note that the node needs to be able to get a response to heartbeats (if not other requests) within the garbage collection interval of the Registration API on average,
// but the worst case which could avoid triggering garbage collection is (almost) twice this value... see registration_expiry_interval
//"registration_heartbeat_max": 24,
// immediate_activation_max [node]: timeout for immediate activations within the Connection API /staged endpoint
//"immediate_activation_max": 30,
// Configuration settings and defaults for experimental extensions
// seed id [registry, node]: optional, used to generate repeatable id values when running with the same configuration
//"seed_id": uuid-string,
// label [registry, node]: used in resource description/label fields
//"label": "",
// port numbers [registry, node]: ports to which clients should connect for each API
// see http_port
//"settings_port": 3209,
//"logging_port": 5106,
// addresses [registry, node]: addresses on which to listen for each API, or empty string for the wildcard address
//"settings_address": "127.0.0.1",
//"logging_address": "",
// logging_limit [registry, node]: maximum number of log events cached for the Logging API
//"logging_limit": 1234,
// logging_paging_default/logging_paging_limit [registry, node]: default/maximum number of results per "page" when using the Logging API (a client may request a lower limit)
//"logging_paging_default": 100,
//"logging_paging_limit": 100,
// proxy_map [registry, node]: mapping between the port numbers to which the client connects, and the port numbers on which the server should listen, if different
// for use with a reverse proxy; each element of the array is an object like { "client_port": 80, "server_port": 8080 }
//"proxy_map": array-of-mappings,
// proxy_address [registry, node]: address of the forward proxy to use when making HTTP requests or WebSocket connections, or an empty string for no proxy
//"proxy_address": "127.0.0.1",
// proxy_port [registry, node]: forward proxy port
//"proxy_port": 8080,
// client_secure [registry, node]: whether clients should use a secure connection for communication (https and wss)
//"client_secure": false,
// ca_certificate_file [registry, node]: full path of certification authorities file in PEM format
//"ca_certificate_file": "ca.pem",
// server_secure [registry, node]: whether server should listen for secure connection for communication (https and wss)
// e.g. typically false when using a reverse proxy, or the same as client_secure otherwise
//"server_secure": false,
// private_key_files [registry, node]: full paths of private key files in PEM format
//"private_key_files": ["server-ecdsa-key.pem", "server-rsa-key.pem"],
// certificate_chain_files [registry, node]: full paths of server certificate chain files which must be in PEM format and must be sorted
// starting with the server's certificate, followed by any intermediate CA certificates, and ending with the highest level (root) CA
//"certificate_chain_files": ["server-ecdsa-chain.pem", "server-rsa-chain.pem"],
// validate_certificates [registry, node]: boolean value, false (ignore all server certificate validation errors), or true (do not ignore, the default behaviour)
//"validate_certificates": true,
// dh_param_file [registry, node]: Diffie-Hellman parameters file in PEM format for ephemeral key exchange support, or empty string for no support
//"dh_param_file": "dhparam.pem",
"don't worry": "about trailing commas"
}