Commit Graph

294 Commits

Author SHA1 Message Date
zhongwencool
049f988642
chore: update apps/emqx_conf/src/emqx_conf_schema.erl
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2022-10-25 22:07:48 +08:00
Zhongwen Deng
6710736243 feat: add prometheus collectors config 2022-10-25 09:41:58 +08:00
Zaiming (Stone) Shi
e3240b52a8 chore: bump app versions 2022-10-24 11:48:17 +02:00
ieQu1
d0120e1edc chore(gen_rpc): Bump version to 3.0.0 2022-10-20 16:32:06 +02:00
Shawn
4135910b42 chore: merge master into dev/ee5.0 2022-09-26 09:52:33 +08:00
JimMoen
2984397e73 chore: apps vsn bump 2022-09-23 17:09:15 +08:00
JimMoen
85835256f1 Merge tag 'v5.0.8' into merge-release-v5.0.8-into-master 2022-09-23 16:06:44 +08:00
Zhongwen Deng
0241185225 chore: Add test coverage for listeners API 2022-09-19 18:25:25 +08:00
Zhongwen Deng
386110ae1e fix: /listeners API crash when some nodes still in init configuration 2022-09-19 15:24:36 +08:00
Zhongwen Deng
56c1ac5a82 chore: deprecated etc_dir since 5.0.8 2022-09-13 18:38:36 +08:00
Zaiming (Stone) Shi
4534966e36 Merge remote-tracking branch 'origin/master' into dev/ee5.0 2022-09-13 12:16:54 +02:00
zhongwencool
2943cbc261
Merge pull request #8857 from zhongwencool/cluster-rpc-when-node-down
feat: cluster-rpc failed fast when some nodes is down
2022-09-07 14:34:36 +08:00
Zhongwen Deng
33341011d8 chore: improve wait_for_nodes_commit/4 function 2022-09-07 10:19:46 +08:00
zhongwencool
758b1979ab chore: Apply suggestions from code review
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2022-09-07 10:19:46 +08:00
Zhongwen Deng
1175008a74 feat: cluster-rpc failed fast when some nodes is down 2022-09-07 10:19:46 +08:00
Zaiming (Stone) Shi
befc4acced Merge remote-tracking branch 'origin/master' into merge-master-to-ee50-a 2022-09-06 20:31:38 +02:00
Zaiming (Stone) Shi
ac840e318e refactor(cookie): Warning message when boot with default Erlang cookie 2022-09-06 18:58:35 +02:00
Zhongwen Deng
ed4e890db9 chore: bump emqx_conf to 0.1.4 2022-09-05 16:15:31 +08:00
Zhongwen Deng
6de7881569 feat: remove node.etc_dir config 2022-09-05 16:11:11 +08:00
Zaiming (Stone) Shi
5a3fb4a011 Merge remote-tracking branch 'origin/master' into dev/ee5.0 2022-08-31 17:11:15 +02:00
ieQu1
f323e3cb79 refactor(emqx_conf): Extract transactions 2022-08-22 19:52:37 +02:00
Shawn
aea8c77b49 refactor: new config structure for mqtt bridge 2022-08-22 18:24:59 +08:00
Zhongwen Deng
07933e3638 feat: translate map to object in schema.json 2022-08-10 17:45:34 +08:00
Zhongwen Deng
a05b7bf555 fix: dialyzer warning 2022-07-19 10:07:01 +08:00
ieQu1
f5d63c1555 fix(conf): Wait for the cluster RPC shard 2022-07-18 15:58:32 +02:00
JimMoen
2ad99fca7a chore: update appup.src 2022-07-01 21:07:33 +08:00
Zhongwen Deng
cbf467ee3d chore: update emqx_conf.appup.src 2022-07-01 16:44:29 +08:00
Zhongwen Deng
3d6f98e5f6 fix: filter data's dir 2022-07-01 15:32:12 +08:00
Zhongwen Deng
aabdb07447 chore: always delete data zip file 2022-07-01 14:18:03 +08:00
Zhongwen Deng
8ba2b6cc18 fix: bpapi chekc failed 2022-07-01 14:08:16 +08:00
Zhongwen Deng
740ff3587c fix: sync data's authz and certs 2022-07-01 12:01:32 +08:00
Zhongwen Deng
92019e4d4c chore: don't copy i18n.conf 2022-07-01 09:33:35 +08:00
Zhongwen Deng
9768e302c2 chore: mv i18n.conf to emqx_dashboard/priv/ 2022-06-30 21:15:57 +08:00
zhongwencool
f947aa2d77
Merge pull request #8331 from zmstone/0627-docs-add-cn-vsn-config-doc
docs: add zh version config doc template
2022-06-29 11:06:50 +08:00
Zaiming Shi
a548b82bc9 docs: add zh version config doc template 2022-06-28 22:34:24 +02:00
Zhongwen Deng
c3cd36f610 fix: elvis warning 2022-06-28 15:29:26 +08:00
Zhongwen Deng
130d1f7d9c chore: choose core node's max tnxid as source conf 2022-06-28 10:11:52 +08:00
Xinyu Liu
e1b458a641
Merge branch 'master' into gen_api_schema_json_for_connector_and_bridge 2022-06-22 12:03:58 +08:00
Shawn
613a13e5e4 chore: add appup.src for emqx_conf 2022-06-22 09:18:36 +08:00
Shawn
1e6b3b51c0 feat: generate API schema files for connectors and bridges 2022-06-22 09:18:36 +08:00
Zaiming (Stone) Shi
54f3dd3ddc chore(appup): add appup for emqx_conf 2022-06-22 00:06:26 +02:00
Zaiming (Stone) Shi
717d5869a1 docs: remove root namespace
The root namespace was set to 'cluster' which is not very
accurate since not all the root level configs are 'cluster'
configs
2022-06-21 21:33:39 +02:00
Zaiming (Stone) Shi
7d49d1ee5c feat: add dns.record_type config for cluster discovery 2022-06-16 08:59:09 +02:00
Zaiming (Stone) Shi
67b8e6c3bd test: add a script to test dns cluster node discovery 2022-06-16 01:34:16 +02:00
Zaiming (Stone) Shi
d35b95d00f refactor: remove dns.app config 2022-06-16 00:11:41 +02:00
Zaiming (Stone) Shi
05782c4e4e refactor: delete k8s.app_name config 2022-06-16 00:11:41 +02:00
Zhongwen Deng
be7724b4e7 chore: add emqx-example-en.conf in release 2022-06-15 22:45:43 +08:00
William Yang
219f159fe7
Merge pull request #8219 from qzhuyan/dev/william/emqx-conf-vm-args
chore(conf): mv some default val of vmargs to emqx_conf
2022-06-15 14:14:57 +02:00
Zaiming (Stone) Shi
c371dd2464
Merge pull request #8202 from zmstone/0613-fix-no-alarm-when-init-rpc-call-failed
fix(cluster_rpc): no alarm when failed to initiate RPC call
2022-06-15 11:36:58 +01:00
William Yang
efed970aab chore(conf): mv some default val of vmargs to emqx_conf 2022-06-15 09:06:06 +02:00
William Yang
7961f9206b
Merge pull request #8205 from qzhuyan/dev/william/emqx-conf-vm-args
fix(emqx_conf): add missing vm.args
2022-06-14 23:23:07 +02:00
William Yang
2ec1a5bdb8 fix(emqx_conf): add missing vm.args
- process_limit
- max_ports
- dist_buffer_size
- max_ets_tables
2022-06-14 10:31:29 +02:00
Shawn
c72a0c386f fix: set retry interval to 1s in test cases 2022-06-14 10:34:33 +08:00
Shawn
f4f263f91e fix: change the default retry_interval of cluster_rpc call to 1min 2022-06-13 22:52:51 +08:00
Zaiming (Stone) Shi
e2ba1f1538 refactor: refuse initiating cluster call from stale node 2022-06-13 16:50:19 +02:00
Zaiming (Stone) Shi
7e98bd7d2f fix(cluster_rpc): no alarm when failed to initiate a new cluster call 2022-06-13 15:56:00 +02:00
Zaiming (Stone) Shi
8518e71db1
Merge pull request #8182 from zmstone/0611-fix-config-update-race-condition
fix(cluster_rpc): config update race condition
2022-06-13 11:46:08 +01:00
Zaiming (Stone) Shi
2065be569e fix(emqx_cluster_rpc): fail fast on stale state
Due to:

* Cluster RPC MFA is not idempotent!
* There is a lack of rollback for callback's side-effects

For instance, when two nodes try to add a cluster-singleton
concurrently, one of them will have to wait for the table lock
then try to catch-up, then try to apply MFA.
The catch-up will have the singleton created, but the initiated
initiated multicall apply will fail causing the commit to rollback,
but not to 'undo' the singleton creation.
Later, the retries will fail indefinitely.
2022-06-12 20:18:48 +02:00
Zaiming (Stone) Shi
0e06e4acaa fix(emqx_conf): throw exception on clusetr_call falure
Not all callers handle error, some even ignore errors!
2022-06-12 20:18:48 +02:00
Zaiming (Stone) Shi
4fdd793071 refactor: move config template file to rel dir 2022-06-12 19:57:08 +02:00
Shawn
b0cd83254d fix: schema and desc for time_offset of the log handlers 2022-06-09 17:59:35 +08:00
Zhongwen Deng
c7cc2e85b2 fix: add default&example for schema 2022-06-06 09:52:10 +08:00
Zhongwen Deng
6c9b959651 fix: ct failed 2022-05-31 19:20:27 +08:00
Zhongwen Deng
1345b7e993 chore: bump hocon to 0.28.0 2022-05-31 19:20:27 +08:00
Zhongwen Deng
86113f3494 chore: don't gen example.conf in v5.0.0 2022-05-31 19:20:27 +08:00
Zhongwen Deng
9ec804ae03 feat: generate example.conf from schemas 2022-05-31 19:20:27 +08:00
Zhongwen Deng
8aa60cc0a5 feat: generate a minimized emqx.conf 2022-05-31 19:20:27 +08:00
Zhongwen Deng
b456ef711c fix: always commit to TargetTnxId when init 2022-05-30 16:35:14 +08:00
Thales Macedo Garitezi
d0c5de1da6
chore(config): move db configs under cluster/node keys 2022-05-26 14:02:22 -03:00
Thales Macedo Garitezi
e0054f6a4e
Merge pull request #7906 from thalesmg/doc-hide-per-shard
docs: hide shard transport config from docs
2022-05-11 11:02:48 -03:00
Thales Macedo Garitezi
135cf4fac2
docs: hide shard transport config from docs
Those configurations are too "magical" for the average user, and
keeping them in the docs might confuse users.
2022-05-10 11:40:49 -03:00
Zhongwen Deng
7c34c8a8b1 fix: retry if init_disaptch failed 2022-05-10 09:38:48 +08:00
Thales Macedo Garitezi
1be9d4f48f
Merge pull request #7731 from thalesmg/fix-copy-conf-override-startup
fix(emqx_conf): avoid crash/deadlock depending on node startup order
2022-04-27 10:01:06 -03:00
Zhongwen Deng
55be66a5eb feat: add self node to /cluster 2022-04-27 13:55:42 +08:00
Zhongwen Deng
a99c49e75f fix: limit file ^[/\_a-zA-Z0-9\.\-]*$ 2022-04-27 13:55:42 +08:00
Zhongwen Deng
8cfcb10c7e fix: make logger config options more specific 2022-04-27 13:55:42 +08:00
Thales Macedo Garitezi
67ed7ba7b8
refactor: do not differentiate node roles 2022-04-26 12:14:38 -03:00
Thales Macedo Garitezi
8519948742
refactor: use macro to denote initial transaction id 2022-04-26 12:03:53 -03:00
Thales Macedo Garitezi
6b969c5c84
fix(emqx_conf): avoid crash/deadlock depending on node startup order
Depending on the order that a cluster of core nodes might be stopped
and then restarted, there might be a deadlock or crash during the
configuration loading.  The nodes try to check with each other which
has the latest cluster overrides and copy that info.  However, in some
cases, Mnesia on node A might still think that it needs to consult
another node C that is still down, so that this node proceeds with its
boot sequence but `mnesia:wait_for_tables` in `emqx_cluster_rpc` is
stuck.  Meanwhile, a node B can come up, try to copy from the sole
online node A, and fail because it's not ready yet.
2022-04-26 12:03:53 -03:00
zhongwencool
4b763a3a12
Merge pull request #7742 from zhongwencool/schema-namespace
fix: add namespace to schema
2022-04-26 09:26:04 +08:00
Zaiming (Stone) Shi
a4feb3e6e9 style: reformat emqx_auto_subscribe and emqx_conf 2022-04-25 18:05:10 +02:00
Zhongwen Deng
7d9403d056 fix: add namespace to schema 2022-04-24 15:47:23 +08:00
Shawn
984a26945c docs: add i18n ids 2022-04-23 03:51:38 +08:00
JimMoen
14e0296221
Merge pull request #7728 from zhongwencool/fix-swagger
fix: swagger crash/ copy conf failed from core node
2022-04-22 20:49:21 +08:00
Zaiming (Stone) Shi
ce902b5405 refactor(bin/emqx): speed up boot
The main slow-down is the overheads of booting up beam with the
'start_clean' boot file (which loads all modules).

Prior to this change, beam is started multiple times in order to
resolve configuration values.

After this change:
* For boot commands such as 'start', 'console' and
  'foreground', it starts beam twice:
  - 1st is to check platform compatibility
  - 2nd is to resolve all configs required for boot in a batch
* For non-boot commands, such as 'ctl' and 'ping', it does not
  require to start beam for config resolution at all
2022-04-22 11:35:50 +02:00
Zhongwen Deng
908019fff3 fix: only copy conf from ready node 2022-04-22 17:28:28 +08:00
Zhongwen Deng
05b4ed58e0 feat: add emqx_conf_schema i18n conf 2022-04-21 22:17:59 +08:00
EMQ-YangM
216ebade6d feat(emqx_conf_schema): log config add i18n support 2022-04-20 17:04:30 +08:00
Thales Macedo Garitezi
f691d9ef9d
Merge pull request #7598 from thalesmg/gen-rpc-oc
feat: use gen_rpc ordered cast for `emqx_rpc:cast/5`
2022-04-19 09:06:51 -03:00
Zhongwen Deng
700c2cfb39 feat: move *i18n.conf from etc to i18n dir 2022-04-15 10:43:37 +08:00
Zhongwen Deng
630cc8ee34 feat: support i18n with desc struct. 2022-04-15 08:42:13 +08:00
Thales Macedo Garitezi
3602e7552d
feat: use gen_rpc ordered cast for emqx_rpc:cast/5
From: https://github.com/emqx/emqx/pull/6554
2022-04-12 17:22:03 -03:00
Zaiming (Stone) Shi
356fbf6ce1
Merge pull request #7519 from zmstone/0405-5.0-sync-ssl-lib-from-4.3
5.0 refactor: delete deprecated emqx_plugin_libs_ssl module
2022-04-05 22:57:56 +01:00
Zaiming (Stone) Shi
32694e601a refactor: rename RUNNER_ETC_DIR to EMQX_ETC_DIR 2022-04-05 23:08:45 +02:00
ieQu1
99b3f2f83e docs(schema): Document missing records and fields 2022-04-04 23:58:43 +02:00
Thales Macedo Garitezi
59d5478d4e
Merge pull request #7463 from thalesmg/mria-shard-transport
feat: allow customizing per-shard transaction log transport
2022-04-01 13:16:28 -03:00
Thales Macedo Garitezi
5748b9b492
feat: allow customizing per-shard transaction log transport 2022-03-30 11:11:30 -03:00
ieQu1
d23a88d0a9 docs(schema): Minor improvements to spelling and formatting. 2022-03-30 13:05:56 +02:00
Dmitrii
fcc99b484f
docs(schema): Apply suggestions from code review
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2022-03-30 10:12:04 +02:00
ieQu1
fff6bffa0c docs(schema): Add descriptions of the records 2022-03-29 14:09:32 +02:00
Zhongwen Deng
86f455fd3a fix: cluster conf must be readonly; add dashboard listener update hook 2022-03-25 18:43:15 +08:00
Dmitrii
f4125fbe0d
Merge pull request #7386 from ieQu1/doc-schema-3
docs(schema): Add descriptions to the schema
2022-03-24 14:05:38 +01:00
Zaiming (Stone) Shi
0a5d1b0f52 chore: delete epmd related ports and settings 2022-03-23 22:16:10 +01:00
ieQu1
077ef073e5 docs(schema): Add descriptions to the schema 2022-03-23 19:05:25 +01:00
ieQu1
8967e13eee docs(schema): Move descriptions from emqx.conf.all 2022-03-23 13:52:54 +01:00
ieQu1
ee805f12a6 docs(schema): Add documentation for prometheus and logger 2022-03-23 13:52:54 +01:00
ieQu1
6f4e7dc118 docs(schema): Formatting 2022-03-22 20:19:18 +01:00
Zhongwen Deng
be0c26130a feat: add transate_to meta to root schema. 2022-03-21 17:56:22 +08:00
Zhongwen Deng
18886f657b feat: add emqx_config_logger. 2022-03-21 17:56:22 +08:00
ieQu1
960c5ad0d5 ci: Run spellcheck 2022-03-14 22:27:46 +01:00
ieQu1
4116d01bfb chore(schema): Fix code style 2022-03-14 14:38:37 +01:00
ieQu1
a36a494373 docs(cluster): Fix some definitions 2022-03-14 10:36:09 +01:00
ieQu1
b79ef3f0d9 docs: Add documentation for the cluster 2022-03-14 10:36:09 +01:00
Zaiming (Stone) Shi
4bc8f0d44b feat: allow enable/disable an existing logger file handler 2022-03-11 13:34:54 +01:00
JimMoen
f5caf66253 refactor(api): unified api name style 2022-03-11 11:07:55 +08:00
zhongwencool
f7ec74d367
Merge pull request #7248 from zhongwencool/improve-ct-coverage
test: Improve test coverage
2022-03-10 09:47:10 +08:00
Zhongwen Deng
3aa7c3a8dd fix: elvis warning 2022-03-09 22:29:21 +08:00
Zhongwen Deng
7beaa91814 fix: schema mod error 2022-03-09 19:24:33 +08:00
Zhongwen Deng
0ec8c528a0 test: add more test for cluster_rpc_handler/api_configs/api_trace 2022-03-09 16:03:28 +08:00
Thales Macedo Garitezi
a85d636a68
feat(rlog): use rlog as the default db backend 2022-03-08 13:34:05 -03:00
Thales Macedo Garitezi
14f7216033
style: please elvis checks 2022-03-08 13:34:03 -03:00
zhongwencool
2d9a086bbb
Merge pull request #7198 from zhongwencool/emqx-conf-ct-coverage
chore: add more test for emqx_config_handler
2022-03-08 10:04:02 +08:00
Zhongwen Deng
6ff2db6180 fix: elvis warning 2022-03-04 15:10:10 +08:00
Zhongwen Deng
e2f386383d fix: replace local ref by remote ref 2022-03-04 09:13:56 +08:00
Thales Macedo Garitezi
4aa15c1e78
docs: fix a few typos 2022-03-02 16:21:07 -03:00
Zaiming (Stone) Shi
d029a73b99 refactor: make release edition static info at compile time 2022-02-28 16:37:47 +01:00
Zaiming (Stone) Shi
29a898cc2e feat: parameterise schema module for schema dump 2022-02-28 09:59:56 +01:00
Zaiming (Stone) Shi
e22104476a fix(data_dir): get data_dir config in the right way
now data_dir config is respected by boot script as well as
EMQX application after booted
2022-02-28 09:59:56 +01:00
Zhongwen Deng
1667a03c18 chore: rename hot-config-schema.json; keep schema.json for spellcheck. 2022-02-25 16:04:30 +08:00
Zhongwen Deng
db584f79d6 feat: upgrade hocon to 0.25.0 to replace nullable with required. 2022-02-24 22:39:03 +08:00
Zhongwen Deng
334d315838 feat: gen hot conf schema.json. 2022-02-24 15:46:51 +08:00
zhongwencool
b7f808db9e
Merge pull request #7027 from DDDHuang/error_code
feat: support http error code & error code api
2022-02-23 16:12:20 +08:00
DDDHuang
ea860f1ca6 fix: emqx_cluster_rpc start link 2022-02-22 17:14:35 +08:00
ieQu1
2b2c6a4d1b docs(node): Add documentation for the node 2022-02-21 19:53:11 +01:00
k32
5638bcb92b docs: Fix typos 2022-02-17 23:22:31 +01:00
Zaiming (Stone) Shi
2a6d11c7f1
Merge pull request #7038 from zmstone/chore-rename-emqx-no-space-source-code
chore: EMQ X -> EMQX in source code
2022-02-17 21:13:43 +01:00
Zaiming (Stone) Shi
64db085163 chore: EMQ X -> EMQX in source code 2022-02-16 22:08:12 +01:00
zhongwencool
34fe5082c4 fix(schema): schema global validations not working 2022-02-16 14:20:15 +08:00
Zaiming (Stone) Shi
49d3163471 fix(emqx_cluster_rpc): do not log throw stacktrace
also not logging the call arguments as it may containe sensitive info
2022-02-10 12:40:46 +01:00
Zaiming (Stone) Shi
774c0a3d7f chore: remove a space from CLI command cluster_call usage printout 2022-02-10 12:40:46 +01:00
Shawn
8207090419 fix: format the code to remove extra spaces 2022-02-09 18:46:49 +08:00
zhongwencool
94b0676ac6
Merge pull request #6922 from k32/static-seeds-type
refactor(schema): Refactor cluster_static seeds type
2022-02-09 16:34:30 +08:00
Ilya Averyanov
17599432d1 feat(license): add license application 2022-02-07 19:05:47 +03:00
k32
987945def3 refactor(schema): Refactor cluster_static seeds type 2022-02-04 23:37:59 +01:00
k32
a54b4ddfd0 fix(emqx_schema): Set gen_rpc_client_driver automatically 2022-02-02 13:58:27 +01:00
k32
3050f86f09
Merge pull request #6906 from k32/gen-rpc-docs
Gen rpc docs
2022-02-01 13:50:03 +01:00
k32
470db453cb docs(rpc): Add descriptions for gen_rpc and logger 2022-02-01 01:16:07 +01:00
Zaiming (Stone) Shi
507952c473 feat: dump schema json file to dashbarod static dir 2022-01-31 16:38:41 +01:00
k32
052bd9081d docs(schema): Fix typos in the schema files 2022-01-27 22:39:19 +01:00
Zaiming (Stone) Shi
d6f7ffec3c
Merge pull request #6881 from zmstone/refactor-upgrade-hocon-0.23.0
refactor: upgrade to hocon 0.23.0
2022-01-27 15:48:23 +01:00