chore: update config's changelog and emqx_conf.template
This commit is contained in:
parent
d0a7e7c406
commit
e3d6fa1f21
|
@ -1,11 +1,14 @@
|
||||||
## NOTE:
|
## NOTE:
|
||||||
## Configs in this file might be overridden by:
|
## The order of priority for configuration is:
|
||||||
## 1. Environment variables which start with 'EMQX_' prefix
|
## environment variables, 'etc/emqx.conf', and 'data/configs/cluster.hocon'.
|
||||||
## 2. File $EMQX_NODE__DATA_DIR/configs/cluster-override.conf
|
## 1. Settings in environment variables starting with 'EMQX_' are given the highest priority.
|
||||||
## 3. File $EMQX_NODE__DATA_DIR/configs/local-override.conf
|
## 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
|
||||||
## The *-override.conf files are overwritten at runtime when changes
|
## overwrite the 'data/configs/cluster.hocon' file at runtime.
|
||||||
## are made from EMQX dashboard UI, management HTTP API, or CLI.
|
## 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
|
## All configuration details can be found in emqx.conf.example
|
||||||
|
|
||||||
node {
|
node {
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
Hide `flapping_detect/conn_congestion/stats` configuration.
|
|
||||||
Deprecate `flapping_detect.enable`.
|
|
|
@ -1 +0,0 @@
|
||||||
Hide the `auto_subscribe` configuration items so that they can be modified later only through the HTTP API.
|
|
|
@ -1 +0,0 @@
|
||||||
Hide data items(rule_engine/bridge/authz/authn) from configuration files and documentation.
|
|
|
@ -1 +0,0 @@
|
||||||
hide exhook/rewrite/topic_metric/persistent_session_store/overload_protection from the docs and configuration 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.
|
|
@ -9,18 +9,18 @@ From bottom up:
|
||||||
|
|
||||||
1. Immutable base: `emqx.conf` + `EMQX_` prefixed environment variables.<br/>
|
1. Immutable base: `emqx.conf` + `EMQX_` prefixed environment variables.<br/>
|
||||||
Changes in this layer require a full node restart to take effect.
|
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`
|
When environment variable `$EMQX_NODE__DATA_DIR` is not set, config `node.data_dir`
|
||||||
is used.
|
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,
|
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`.
|
after EMQX restarts, it copies the file from the node which has the greatest `uptime`.
|
||||||
|
|
||||||
:::tip Tip
|
:::tip Tip
|
||||||
Some of the configs (such as `node.name`) are boot-only configs and not overridable.
|
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`
|
the config fields attributed with `mapping: path.to.boot.config.key`
|
||||||
:::
|
:::
|
||||||
|
|
||||||
|
@ -148,7 +148,7 @@ export EMQX_LISTENERS__SSL__L1__AUTHENTICATION__SSL__CIPHERS='["TLS_AES_256_GCM_
|
||||||
However this also means a string value should be quoted if it happens to contain special
|
However this also means a string value should be quoted if it happens to contain special
|
||||||
characters such as `=` and `:`.
|
characters such as `=` and `:`.
|
||||||
|
|
||||||
For example, a string value `"localhost:1883"` would be
|
For example, a string value `"localhost:1883"` would be
|
||||||
parsed into object (struct): `{"localhost": 1883}`.
|
parsed into object (struct): `{"localhost": 1883}`.
|
||||||
|
|
||||||
To keep it as a string, one should quote the value like below:
|
To keep it as a string, one should quote the value like below:
|
||||||
|
@ -226,7 +226,7 @@ Arrays in EMQX config have two different representations
|
||||||
Dot-separated paths with number in it are parsed to indexed-maps
|
Dot-separated paths with number in it are parsed to indexed-maps
|
||||||
e.g. `authentication.1={...}` is parsed as `authentication={"1": {...}}`
|
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"}]
|
authentication=[{enable=true, backend="built_in_database", mechanism="password_based"}]
|
||||||
|
@ -322,4 +322,3 @@ ciphers =
|
||||||
"PSK-AES128-CBC-SHA"
|
"PSK-AES128-CBC-SHA"
|
||||||
]
|
]
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
@ -7,18 +7,18 @@ EMQX的配置文件可分为二层,自底向上依次是:
|
||||||
|
|
||||||
1. 不可变的基础层 `emqx.conf` 加上 `EMQX_` 前缀的环境变量。<br/>
|
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` 配置中读取。
|
如果环境变量 `$EMQX_NODE__DATA_DIR` 没有设置,那么该目录会从 `emqx.conf` 的 `node.data_dir` 配置中读取。
|
||||||
|
|
||||||
配置文件 `cluster-override.conf` 的内容会在运行时被EMQX重写。
|
配置文件 `cluster.hocon` 的内容会在运行时被EMQX重写。
|
||||||
这些重写发生在 dashboard UI,管理HTTP API,或者CLI对集群配置进行修改时。
|
这些重写发生在 dashboard UI,管理HTTP API,或者CLI对集群配置进行修改时。
|
||||||
当EMQX运行在集群中时,一个EMQX节点重启之后,会从集群中其他节点复制该文件内容到本地。
|
当EMQX运行在集群中时,一个EMQX节点重启之后,会从集群中其他节点复制该文件内容到本地。
|
||||||
|
|
||||||
:::tip Tip
|
:::tip Tip
|
||||||
有些配置项是不能被重载的(例如 `node.name`)。
|
有些配置项是不能被重载的(例如 `node.name`)。
|
||||||
配置项如果有 `mapping: path.to.boot.config.key` 这个属性,
|
配置项如果有 `mapping: path.to.boot.config.key` 这个属性,
|
||||||
则不能被添加到重载文件 `*-override.conf` 中。
|
则不能被添加到重载文件 `cluster.hocon` 中。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
更多的重载规则,请参考下文 [配置重载规则](#配置重载规则)。
|
更多的重载规则,请参考下文 [配置重载规则](#配置重载规则)。
|
||||||
|
|
Loading…
Reference in New Issue