##==================================================================== ## Configuration for EMQ X MQTT Broker Bridge ##==================================================================== ##-------------------------------------------------------------------- ## Bridges to aws ##-------------------------------------------------------------------- ## Bridge address: node name for local bridge, host:port for remote. ## ## Value: String ## Example: emqx@127.0.0.1, "127.0.0.1:1883" bridge.mqtt.aws.address = "127.0.0.1:1883" ## Protocol version of the bridge. ## ## Value: Enum ## - mqttv5 ## - mqttv4 ## - mqttv3 bridge.mqtt.aws.proto_ver = mqttv4 ## Start type of the bridge. ## ## Value: enum ## manual ## auto bridge.mqtt.aws.start_type = manual ## Whether to enable bridge mode for mqtt bridge ## ## This option is prepared for the mqtt broker which does not ## support bridge_mode such as the mqtt-plugin of the rabbitmq ## ## Value: boolean #bridge.mqtt.aws.bridge_mode = false ## The ClientId of a remote bridge. ## ## Placeholders: ## ${node}: Node name ## ## Value: String bridge.mqtt.aws.clientid = bridge_aws ## The Clean start flag of a remote bridge. ## ## Value: boolean ## Default: true ## ## NOTE: Some IoT platforms require clean_start ## must be set to 'true' bridge.mqtt.aws.clean_start = true ## The username for a remote bridge. ## ## Value: String bridge.mqtt.aws.username = user ## The password for a remote bridge. ## ## Value: String bridge.mqtt.aws.password = passwd ## Topics that need to be forward to AWS IoTHUB ## ## Value: String ## Example: "topic1/#,topic2/#" bridge.mqtt.aws.forwards = "topic1/#,topic2/#" ## Forward messages to the mountpoint of an AWS IoTHUB ## ## Value: String bridge.mqtt.aws.forward_mountpoint = "bridge/aws/${node}/" ## Need to subscribe to AWS topics ## ## Value: String ## bridge.mqtt.aws.subscription.1.topic = "cmd/topic1" ## Need to subscribe to AWS topics QoS. ## ## Value: Number ## bridge.mqtt.aws.subscription.1.qos = 1 ## A mountpoint that receives messages from AWS IoTHUB ## ## Value: String ## bridge.mqtt.aws.receive_mountpoint = "receive/aws/" ## Bribge to remote server via SSL. ## ## Value: on | off bridge.mqtt.aws.ssl = off ## PEM-encoded CA certificates of the bridge. ## ## Value: File bridge.mqtt.aws.cacertfile = "{{ platform_etc_dir }}/certs/cacert.pem" ## Client SSL Certfile of the bridge. ## ## Value: File bridge.mqtt.aws.certfile = "{{ platform_etc_dir }}/certs/client-cert.pem" ## Client SSL Keyfile of the bridge. ## ## Value: File bridge.mqtt.aws.keyfile = "{{ platform_etc_dir }}/certs/client-key.pem" ## SSL Ciphers used by the bridge. ## ## Value: String bridge.mqtt.aws.ciphers = "TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256,TLS_CHACHA20_POLY1305_SHA256,TLS_AES_128_CCM_SHA256,TLS_AES_128_CCM_8_SHA256,ECDHE-ECDSA-AES256-GCM-SHA384,ECDHE-RSA-AES256-GCM-SHA384,ECDHE-ECDSA-AES256-SHA384,ECDHE-RSA-AES256-SHA384,ECDHE-ECDSA-DES-CBC3-SHA,ECDH-ECDSA-AES256-GCM-SHA384,ECDH-RSA-AES256-GCM-SHA384,ECDH-ECDSA-AES256-SHA384,ECDH-RSA-AES256-SHA384,DHE-DSS-AES256-GCM-SHA384,DHE-DSS-AES256-SHA256,AES256-GCM-SHA384,AES256-SHA256,ECDHE-ECDSA-AES128-GCM-SHA256,ECDHE-RSA-AES128-GCM-SHA256,ECDHE-ECDSA-AES128-SHA256,ECDHE-RSA-AES128-SHA256,ECDH-ECDSA-AES128-GCM-SHA256,ECDH-RSA-AES128-GCM-SHA256,ECDH-ECDSA-AES128-SHA256,ECDH-RSA-AES128-SHA256,DHE-DSS-AES128-GCM-SHA256,DHE-DSS-AES128-SHA256,AES128-GCM-SHA256,AES128-SHA256,ECDHE-ECDSA-AES256-SHA,ECDHE-RSA-AES256-SHA,DHE-DSS-AES256-SHA,ECDH-ECDSA-AES256-SHA,ECDH-RSA-AES256-SHA,AES256-SHA,ECDHE-ECDSA-AES128-SHA,ECDHE-RSA-AES128-SHA,DHE-DSS-AES128-SHA,ECDH-ECDSA-AES128-SHA,ECDH-RSA-AES128-SHA,AES128-SHA" ## Ciphers for TLS PSK. ## Note that 'bridge.${BridgeName}.ciphers' and 'bridge.${BridgeName}.psk_ciphers' cannot ## be configured at the same time. ## See 'https://tools.ietf.org/html/rfc4279#section-2'. #bridge.mqtt.aws.psk_ciphers = "PSK-AES128-CBC-SHA,PSK-AES256-CBC-SHA,PSK-3DES-EDE-CBC-SHA,PSK-RC4-SHA" ## Ping interval of a down bridge. ## ## Value: Duration ## Default: 10 seconds bridge.mqtt.aws.keepalive = 60s ## TLS versions used by the bridge. ## ## NOTE: Do not use tlsv1.3 if emqx is running on OTP-22 or earlier ## Value: String bridge.mqtt.aws.tls_versions = "tlsv1.3,tlsv1.2,tlsv1.1,tlsv1" ## Bridge reconnect time. ## ## Value: Duration ## Default: 30 seconds bridge.mqtt.aws.reconnect_interval = 30s ## Retry interval for bridge QoS1 message delivering. ## ## Value: Duration bridge.mqtt.aws.retry_interval = 20s ## Publish messages in batches, only RPC Bridge supports ## ## Value: Integer ## default: 32 bridge.mqtt.aws.batch_size = 32 ## Inflight size. ## 0 means infinity (no limit on the inflight window) ## ## Value: Integer bridge.mqtt.aws.max_inflight_size = 32 ## Base directory for replayq to store messages on disk ## If this config entry is missing or set to undefined, ## replayq works in a mem-only manner. ## ## Value: String bridge.mqtt.aws.queue.replayq_dir = "{{ platform_data_dir }}/replayq/emqx_aws_bridge/" ## Replayq segment size ## ## Value: Bytesize bridge.mqtt.aws.queue.replayq_seg_bytes = 10MB ## Replayq max total size ## ## Value: Bytesize bridge.mqtt.aws.queue.max_total_size = 5GB