emqx_gateway_schema.hocon 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. emqx_gateway_schema {
  2. dtls_listener_acceptors.desc:
  3. """Size of the acceptor pool."""
  4. dtls_listener_dtls_opts.desc:
  5. """DTLS socket options"""
  6. gateway_common_authentication.desc:
  7. """Default authentication configs for all the gateway listeners. For per-listener overrides see <code>authentication</code>
  8. in listener configs"""
  9. gateway_common_clientinfo_override.desc:
  10. """ClientInfo override."""
  11. gateway_common_clientinfo_override_clientid.desc:
  12. """Template for overriding clientid."""
  13. gateway_common_clientinfo_override_password.desc:
  14. """Template for overriding password."""
  15. gateway_common_clientinfo_override_username.desc:
  16. """Template for overriding username."""
  17. gateway_common_enable.desc:
  18. """Whether to enable this gateway"""
  19. gateway_common_enable_stats.desc:
  20. """Whether to enable client process statistic"""
  21. gateway_common_idle_timeout.desc:
  22. """The idle time of the client connection process. It has two purposes:
  23. 1. A newly created client process that does not receive any client requests after that time will be closed directly.
  24. 2. A running client process that does not receive any client requests after this time will go into hibernation to save resources."""
  25. gateway_common_listener_access_rules.desc:
  26. """The access control rules for this listener.
  27. See: https://github.com/emqtt/esockd#allowdeny"""
  28. gateway_common_listener_bind.desc:
  29. """The IP address and port that the listener will bind."""
  30. gateway_common_listener_enable.desc:
  31. """Enable the listener."""
  32. gateway_common_listener_enable_authn.desc:
  33. """Set <code>true</code> (default) to enable client authentication on this listener.
  34. When set to <code>false</code> clients will be allowed to connect without authentication."""
  35. gateway_common_listener_max_conn_rate.desc:
  36. """Maximum connections per second."""
  37. gateway_common_listener_max_connections.desc:
  38. """Maximum number of concurrent connections."""
  39. gateway_mountpoint.desc:
  40. """When publishing or subscribing, prefix all topics with a mountpoint string.
  41. The prefixed string will be removed from the topic name when the message is delivered to the subscriber.
  42. The mountpoint is a way that users can use to implement isolation of message routing between different listeners.
  43. For example if a client A subscribes to `t` with `listeners.tcp.\<name>.mountpoint` set to `some_tenant`,
  44. then the client actually subscribes to the topic `some_tenant/t`.
  45. Similarly, if another client B (connected to the same listener as the client A) sends a message to topic `t`,
  46. the message is routed to all the clients subscribed `some_tenant/t`,
  47. so client A will receive the message, with topic name `t`. Set to `""` to disable the feature.
  48. Supported placeholders in mountpoint string:<br/>
  49. - <code>${clientid}</code>: clientid<br/>
  50. - <code>${username}</code>: username<br/>
  51. - <code>${endpoint_name}</code>: endpoint name"""
  52. listener_name_to_settings_map.desc:
  53. """A map from listener names to listener settings."""
  54. ssl_listener_options.desc:
  55. """SSL Socket options."""
  56. tcp_listener_acceptors.desc:
  57. """Size of the acceptor pool."""
  58. tcp_listener_proxy_protocol.desc:
  59. """Enable the Proxy Protocol V1/2 if the EMQX cluster is deployed behind HAProxy or Nginx.
  60. See: https://www.haproxy.com/blog/haproxy/proxy-protocol/"""
  61. tcp_listener_proxy_protocol_timeout.desc:
  62. """Timeout for proxy protocol.
  63. EMQX will close the TCP connection if proxy protocol packet is not received within the timeout."""
  64. tcp_listener_tcp_opts.desc:
  65. """Setting the TCP socket options."""
  66. tcp_listeners.desc:
  67. """Settings for the TCP listeners."""
  68. tcp_udp_listeners.desc:
  69. """Settings for the listeners."""
  70. udp_listener_active_n.desc:
  71. """Specify the {active, N} option for the socket.
  72. See: https://erlang.org/doc/man/inet.html#setopts-2"""
  73. udp_listener_buffer.desc:
  74. """Size of the user-space buffer for the socket."""
  75. udp_listener_recbuf.desc:
  76. """Size of the kernel-space receive buffer for the socket."""
  77. udp_listener_reuseaddr.desc:
  78. """Allow local reuse of port numbers."""
  79. udp_listener_sndbuf.desc:
  80. """Size of the kernel-space send buffer for the socket."""
  81. udp_listener_udp_opts.desc:
  82. """Settings for the UDP sockets."""
  83. udp_listeners.desc:
  84. """Settings for the UDP listeners."""
  85. fields_ws_opts_path.desc:
  86. """WebSocket's MQTT protocol path. So the address of EMQX Broker's WebSocket is:
  87. <code>ws://{ip}:{port}/mqtt</code>"""
  88. fields_ws_opts_path.label:
  89. """WS MQTT Path"""
  90. fields_ws_opts_piggyback.desc:
  91. """Whether a WebSocket message is allowed to contain multiple MQTT packets."""
  92. fields_ws_opts_piggyback.label:
  93. """MQTT Piggyback"""
  94. fields_ws_opts_compress.desc:
  95. """If <code>true</code>, compress WebSocket messages using <code>zlib</code>.<br/>
  96. The configuration items under <code>deflate_opts</code> belong to the compression-related parameter configuration."""
  97. fields_ws_opts_compress.label:
  98. """Ws compress"""
  99. fields_ws_opts_idle_timeout.desc:
  100. """Close transport-layer connections from the clients that have not sent MQTT CONNECT message within this interval."""
  101. fields_ws_opts_idle_timeout.label:
  102. """WS idle timeout"""
  103. fields_ws_opts_max_frame_size.desc:
  104. """The maximum length of a single MQTT packet."""
  105. fields_ws_opts_max_frame_size.label:
  106. """Max frame size"""
  107. fields_ws_opts_fail_if_no_subprotocol.desc:
  108. """If <code>true</code>, the server will return an error when
  109. the client does not carry the <code>Sec-WebSocket-Protocol</code> field.
  110. <br/>Note: WeChat applet needs to disable this verification."""
  111. fields_ws_opts_fail_if_no_subprotocol.label:
  112. """Fail if no subprotocol"""
  113. fields_ws_opts_supported_subprotocols.desc:
  114. """Comma-separated list of supported subprotocols."""
  115. fields_ws_opts_supported_subprotocols.label:
  116. """Supported subprotocols"""
  117. fields_ws_opts_check_origin_enable.desc:
  118. """If <code>true</code>, <code>origin</code> HTTP header will be
  119. validated against the list of allowed origins configured in <code>check_origins</code>
  120. parameter."""
  121. fields_ws_opts_check_origin_enable.label:
  122. """Check origin"""
  123. fields_ws_opts_allow_origin_absence.desc:
  124. """If <code>false</code> and <code>check_origin_enable</code> is
  125. <code>true</code>, the server will reject requests that don't have <code>origin</code>
  126. HTTP header."""
  127. fields_ws_opts_allow_origin_absence.label:
  128. """Allow origin absence"""
  129. fields_ws_opts_check_origins.desc:
  130. """List of allowed origins.<br/>See <code>check_origin_enable</code>."""
  131. fields_ws_opts_check_origins.label:
  132. """Allowed origins"""
  133. fields_ws_opts_proxy_port_header.desc:
  134. """HTTP header used to pass information about the client port. Relevant when the EMQX cluster is deployed behind a load-balancer."""
  135. fields_ws_opts_proxy_port_header.label:
  136. """Proxy port header"""
  137. fields_ws_opts_proxy_address_header.desc:
  138. """HTTP header used to pass information about the client IP address.
  139. Relevant when the EMQX cluster is deployed behind a load-balancer."""
  140. fields_ws_opts_proxy_address_header.label:
  141. """Proxy address header"""
  142. }