chore: update config's changelog and emqx_conf.template

This commit is contained in:
Zhongwen Deng 2023-04-18 14:24:08 +08:00 committed by 某文
parent d0a7e7c406
commit e3d6fa1f21
8 changed files with 28 additions and 21 deletions

View File

@ -1,11 +1,14 @@
## NOTE:
## Configs in this file might be overridden by:
## 1. Environment variables which start with 'EMQX_' prefix
## 2. File $EMQX_NODE__DATA_DIR/configs/cluster-override.conf
## 3. File $EMQX_NODE__DATA_DIR/configs/local-override.conf
##
## The *-override.conf files are overwritten at runtime when changes
## are made from EMQX dashboard UI, management HTTP API, or CLI.
## The order of priority for configuration is:
## environment variables, 'etc/emqx.conf', and 'data/configs/cluster.hocon'.
## 1. Settings in environment variables starting with 'EMQX_' are given the highest priority.
## 2. Configuration settings in the 'etc/emqx.conf' file may be overwritten by environment variables.
## 3. Changes made through the EMQX dashboard UI, management HTTP API, or CLI
## overwrite the 'data/configs/cluster.hocon' file at runtime.
## 4. If you modify a configuration setting using the API, the change takes effect immediately.
## 5. However, if the same setting is configured differently in the 'etc/emqx.conf' file,
## 'etc/emqx.conf' takes priority after a reboot.
## All configuration details can be found in emqx.conf.example
node {

View File

@ -1,2 +0,0 @@
Hide `flapping_detect/conn_congestion/stats` configuration.
Deprecate `flapping_detect.enable`.

View File

@ -1 +0,0 @@
Hide the `auto_subscribe` configuration items so that they can be modified later only through the HTTP API.

View File

@ -1 +0,0 @@
Hide data items(rule_engine/bridge/authz/authn) from configuration files and documentation.

View File

@ -1 +0,0 @@
hide exhook/rewrite/topic_metric/persistent_session_store/overload_protection from the docs and configuration file.

View File

@ -0,0 +1,10 @@
1. Changes in configuration priority:
For new EMQX installations, configuration priority is `ENV > emqx.conf > HTTP API`.
For upgrades from an older version with cluster-override.conf, configuration priority remains the same: `HTTP API > ENV > emqx.conf`.
2. Deprecation of `data/configs/local-override.conf`.
3. Simplified configuration items, hidden some advanced items
The hidden configurations include: exhook,rewrite,topic_metric,persistent_session_store,overload_protection,
flapping_detect,conn_congestion,stats,auto_subscribe,broker_perf,rule_engine,bridge,shared_subscription_group,slow_subs
and some advance items in node/dashboard.
4. This hidden update doesn't change the functionality of the original configuration,
but it sets the stage for an improved presentation of configuration documentation in future versions.

View File

@ -9,18 +9,18 @@ From bottom up:
1. Immutable base: `emqx.conf` + `EMQX_` prefixed environment variables.<br/>
Changes in this layer require a full node restart to take effect.
1. Cluster overrides: `$EMQX_NODE__DATA_DIR/configs/cluster-override.conf`
2. Cluster overrides: `$EMQX_NODE__DATA_DIR/configs/cluster.hocon`
When environment variable `$EMQX_NODE__DATA_DIR` is not set, config `node.data_dir`
is used.
The `cluster-override.conf` file is overwritten at runtime when changes
The `cluster.hocon` file is overwritten at runtime when changes
are made from dashboard UI, management HTTP API, or CLI. When clustered,
after EMQX restarts, it copies the file from the node which has the greatest `uptime`.
:::tip Tip
Some of the configs (such as `node.name`) are boot-only configs and not overridable.
Config values from `*-override.conf` are **not** mapped to boot configs for
Config values from `cluster.hocon` are **not** mapped to boot configs for
the config fields attributed with `mapping: path.to.boot.config.key`
:::
@ -226,7 +226,7 @@ Arrays in EMQX config have two different representations
Dot-separated paths with number in it are parsed to indexed-maps
e.g. `authentication.1={...}` is parsed as `authentication={"1": {...}}`
This feature makes it easy to override array elment values. For example:
This feature makes it easy to override array element values. For example:
```
authentication=[{enable=true, backend="built_in_database", mechanism="password_based"}]
@ -322,4 +322,3 @@ ciphers =
"PSK-AES128-CBC-SHA"
]
```

View File

@ -7,18 +7,18 @@ EMQX的配置文件可分为二层自底向上依次是
1. 不可变的基础层 `emqx.conf` 加上 `EMQX_` 前缀的环境变量。<br/>
修改这一层的配置之后,需要重启节点来使之生效。
1. 集群范围重载层:`$EMQX_NODE__DATA_DIR/configs/cluster-override.conf`
2. 集群范围重载层:`$EMQX_NODE__DATA_DIR/configs/cluster.hocon`
如果环境变量 `$EMQX_NODE__DATA_DIR` 没有设置,那么该目录会从 `emqx.conf``node.data_dir` 配置中读取。
配置文件 `cluster-override.conf` 的内容会在运行时被EMQX重写。
配置文件 `cluster.hocon` 的内容会在运行时被EMQX重写。
这些重写发生在 dashboard UI管理HTTP API或者CLI对集群配置进行修改时。
当EMQX运行在集群中时一个EMQX节点重启之后会从集群中其他节点复制该文件内容到本地。
:::tip Tip
有些配置项是不能被重载的(例如 `node.name`)。
配置项如果有 `mapping: path.to.boot.config.key` 这个属性,
则不能被添加到重载文件 `*-override.conf` 中。
则不能被添加到重载文件 `cluster.hocon` 中。
:::
更多的重载规则,请参考下文 [配置重载规则](#配置重载规则)。