It looks that the directive defined in lib/fluent/plugin/mqtt_proxy.rb like securityis not loadable from fluentd. I suppose that this is because this directive is imported from output plugin through mixin.
I confirmed that parameters are not loaded by adding unittest.
@toyokazu Does this parameter work on your environment?
2018-01-05 02:19:51 +0000 [info]: parsing config file is succeeded path="/fluentd/etc/fluent.conf"
2018-01-05 02:19:51 +0000 [info]: using configuration file: <ROOT>
<source>
@type forward
@id input1
@label @mainstream
port 24224
</source>
<label @mainstream>
<match **>
@type mqtt
host "localhost"
port 8883
<format>
@type "json"
add_newline false
</format>
<security>
use_tls true
<tls>
ca_file /cert/cacert.pem
key_file /cert/private.key
cert_file /cert/cert.pem
</tls>
</security>
</match>
</label>
</ROOT>
2018-01-05 02:19:51 +0000 [info]: starting fluentd-0.14.25 pid=5 ruby="2.3.3"
2018-01-05 02:19:51 +0000 [info]: spawn command to main: cmdline=["/usr/bin/ruby2.3", "-Eascii-8bit:ascii-8bit", "/usr/local/bin/fluentd", "-c", "/fluentd/etc/fluent.conf", "-p", "/fluentd/plugins", "--under-supervisor"]
2018-01-05 02:19:51 +0000 [info]: gem 'fluent-plugin-mqtt-io' version '0.3.8'
2018-01-05 02:19:51 +0000 [info]: gem 'fluentd' version '0.14.25'
2018-01-05 02:19:51 +0000 [info]: gem 'fluentd' version '0.12.42'
2018-01-05 02:19:51 +0000 [info]: adding match in @mainstream pattern="**" type="mqtt"
2018-01-05 02:19:51 +0000 [info]: adding source type="forward"
2018-01-05 02:19:51 +0000 [warn]: parameter 'use_tls' in <security>
use_tls true
<tls>
ca_file /cert/cacert.pem
key_file /cert/private.key
cert_file /cert/cert.pem
</tls>
</security> is not used.
2018-01-05 02:19:51 +0000 [warn]: section <tls> is not used in <security> of mqtt plugin
2018-01-05 02:19:51 +0000 [warn]: section <tls> is not used in <security> of mqtt plugin
2018-01-05 02:19:51 +0000 [warn]: section <tls> is not used in <security> of mqtt plugin
It looks that the directive defined in
lib/fluent/plugin/mqtt_proxy.rb
likesecurity
is not loadable from fluentd. I suppose that this is because this directive is imported from output plugin through mixin. I confirmed that parameters are not loaded by adding unittest.@toyokazu Does this parameter work on your environment?