EMQX5.0.20开启redis授权报错

image: emqx:5.0.20

环境变量:
EMQX_AUTHORIZATION__DENY_ACTION:
EMQX_AUTHORIZATION__SOURCES__1__TYPE:
EMQX_AUTHORIZATION__SOURCES__1__SERVER:
EMQX_AUTHORIZATION__SOURCES__1__REDIS_TYPE:
EMQX_AUTHORIZATION__SOURCES__1__PASSWORD:
EMQX_AUTHORIZATION__SOURCES__1__CMD:

开启redis授权运行报错:
2023-03-28T13:51:41.560492+00:00 [error] #{kind => validation_error,matched_type => “authz:redis_single”,path => “authorization.sources.1”,reason => unknown_fields,unknown => “path”,unmatched => “auto_reconnect,database,…”}
ERROR: call_hocon_failed: -v -t 2023.03.28.13.51.41 -s emqx_conf_schema -c /opt/emqx/etc/emqx.conf -d /opt/emqx/data/configs generate

「sources」是一个数组,关于数组的如何通过环境变量设置,你可以看下这里的文档:

我将下标 1 改成 2 就正常了,是不是下标1的配置是不可覆盖的?只能下标1只能是file类型授权?

能提供一份完整配置么,我来复现下看看,谢谢

emqx-1.zip (1.6 KB)
这里是k8s完整部署yaml文件

似乎是一个 bug,我们这边先调查下

@1063944784
出现这个问题的原因是:配置文件中默认已经有一个鉴权器 X 了,当你使用索引 1 进行写入时,字段会被合并到 X 的配置中,导致出错。
有两种设置方法,
1: 先清空默认的鉴权器列表

EMQX_AUTHORIZATION__SOURCES=[]

然后再进行设置
2: 直接删除默认的鉴权器

EMQX_AUTHORIZATION__SOURCES__1=null

然后再进行设置

:handshake: