Commit Graph

254 Commits

Author SHA1 Message Date
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
Shawn bef00b461e chore: update .gitignore emqx_conf generated files 2022-04-29 16:43:51 +08:00
Zhongwen Deng 4f36a5152a chore: rename log_file_handlers's label 2022-04-29 11:45:22 +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
Yang Miao 184554246c
Merge pull request #7746 from EMQ-YangM/fix_docs
fix: modify the error statement
2022-04-25 09:31:31 +08:00
JimMoen e9843aa225 fix(doc): html line break use `</br>` 2022-04-24 18:56:21 +08:00
EMQ-YangM bfc9589a93 fix: modify the error statement 2022-04-24 18:46:19 +08:00
Zhongwen Deng 7d9403d056 fix: add namespace to schema 2022-04-24 15:47:23 +08:00
Zhongwen Deng a77bb994e1 fix: add timeout for schema json gen test 2022-04-24 12:05:07 +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
EMQ-YangM 579be316c7 feat: add emqx_conf_schema.conf 2022-04-20 14:48:15 +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 164754b182 test: dashboard ct failed with lack i18n_lang 2022-04-15 12:04:01 +08: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
Thales Macedo Garitezi f9597bb247
fix: set default db backend in etc/emqx_conf.conf 2022-03-29 15:54:00 -03: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
Dmitrii a0bec0d921
Merge pull request #7103 from ieQu1/doc-schema
docs: Add to the schema
2022-03-23 10:46:11 +01:00
ieQu1 6f4e7dc118 docs(schema): Formatting 2022-03-22 20:19:18 +01:00
Zaiming (Stone) Shi 7a9ad86574 chore: increase line width to 120
and fix bad formats from erlfmt
2022-03-22 11:34:29 +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 4a336b6b4e test: add eunit test for schema dump 2022-02-28 10:47:10 +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 6a354d910e chore: rename EMQ_X to EMQX in hrl file macros 2022-02-17 15:55:46 +01:00
zhongwencool c88504f918
Merge pull request #7023 from zhongwencool/license-alarm-support
License alarm support
2022-02-17 22:09:51 +08:00
Zaiming (Stone) Shi 64db085163 chore: EMQ X -> EMQX in source code 2022-02-16 22:08:12 +01:00
Zaiming (Stone) Shi b3d9605722 chore(conf): EMQ X -> EMQX in conf files 2022-02-16 17:50:41 +01:00
zhongwencool 34fe5082c4 fix(schema): schema global validations not working 2022-02-16 14:20:15 +08:00
Zaiming (Stone) Shi 2e94880bb6 docs: More EMQ X -> EMQX rename in descriptive strings 2022-02-15 22:39:11 +01:00
Zaiming (Stone) Shi 7363e6b1fd fix(emqx_conf): fix MFA arity type spec 2022-02-10 12:40:46 +01: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
Zaiming (Stone) Shi bda1b6d35e
Merge pull request #6892 from zmstone/docs-fix-override-conf-note
docs: fix override conf note
2022-01-28 12:35:23 +01:00
Zaiming (Stone) Shi 8da27899ea docs: fix override conf note 2022-01-28 11:05:06 +01:00
k32 052bd9081d docs(schema): Fix typos in the schema files 2022-01-27 22:39:19 +01:00
k32 4fe87b5e32 docs(emqx_conf): Fix spelling 2022-01-27 22:32:53 +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
Kian-Meng Ang fc92e4c8bf docs: fix typos 2022-01-27 12:29:38 +01:00
Zaiming (Stone) Shi 252d7e85d9 refactor: call new hocon apis 2022-01-27 00:23:08 +01:00
k32 542c9a2b68 refactor(emqx_resource): Decorate RPCs 2022-01-19 22:00:34 +01:00
k32 e969eff702 fix(emqx_conf): Fix type 2022-01-18 15:25:34 +01:00
JimMoen d8f49f8a5f
Merge pull request #6732 from JimMoen/telemetry-api-refactor
refactor(api): telemetry api swagger spec
2022-01-14 09:36:54 +08:00
k32 d84a3fe291 refactor(emqx_conf): Decorate get_override_config_file 2022-01-13 11:38:27 +01:00
JimMoen 82e3565344 chore: major mode file variable for Emacs 2022-01-13 15:53:47 +08:00
k32 48366a80c8 refactor(emqx_conf): Decorate cluster RPCs 2022-01-12 21:28:24 +01:00
k32 d25258943b feat(bpapi): Verify emqx cluster RPC 2022-01-12 16:19:46 +01:00
k32 7b65684c45 refactor(emqx_conf): Decorate remote procedure calls 2022-01-12 15:40:21 +01:00
Zaiming (Stone) Shi 63167cea70 chore: update copyright 2022-01-05 20:55:00 +01:00
Zaiming (Stone) Shi 719800914a Merge branch 'ci-run-dialyzer-on-slef-hosted' into merge-5.0-beta.3-to-master 2022-01-03 16:23:11 +01:00
k32 b4048c2789
Merge pull request #6609 from k32/dev/sysmon-conf
fix(system_monitor): Unify configuration with sysmon
2022-01-03 14:03:32 +01:00
k32 377ed03a20 fix(system_monitor): Unify configuration with sysmon 2022-01-03 12:09:37 +01:00
Zaiming (Stone) Shi 2898fa76e1 Merge remote-tracking branch 'origin/release-5.0-beta.3' into merge-5.0-beta.3-to-master 2022-01-03 11:39:06 +01:00
Zaiming (Stone) Shi b09d0d8e4c
Merge pull request #6586 from zmstone/docs-explain-layered-config-at-the-top
docs: explain layered config at the top
2021-12-31 08:10:15 +01:00
Zaiming (Stone) Shi d88a648092 docs: update config doc
Explain layered style at the very top of the doc
2021-12-30 18:38:01 +01:00
zhongwencool 489fb7f806 fix(trace): copy binary:encode_hex/2 from binary.erl 2021-12-30 21:38:23 +08:00
zhongwencool 121d906992 chore(log): add SLOG/3 to add meta info 2021-12-29 14:48:48 +08:00
zhongwencool 4b6bba11eb feat(trace): struct log for trace 2021-12-29 00:26:54 +08:00
Thales Macedo Garitezi 34d6dbca61
chore(mix): simplify build by using rebar3 for umbrella apps
By treating the apps in the umbrella as dependencies to be managed and
built by rebar3, we can simplify the maintenance of the release, at
the cost of increased build times: using Mix as before, it could track
changed files better than using rebar.  But the complexity and
possibility of discrepancies make it using rebar much more compelling.
2021-12-22 09:40:01 -03:00
Thales Macedo Garitezi 917575de5a
chore(mix): minimal elixir mix release build
This commit enables a minimal working build of EMQX release using
Mix.  However, to properly start the release, several configuration
steps are still missing.  A `mix_release.sh` script does a few hacks
to get the release built with Mix to start properly, by first assuming
that `make emqx` has been run prior to the release, ran once to
generate the `app.*.config` files, and then it copies that and some
other files to the expected places.

Also, `emqx_telemetry` hangs the start procedure because it thinks
it's in an official release and tries to make a request.  We disable
it temporarily via config just to get a working build for now.
2021-12-21 13:51:22 -03:00
zhongwencool b4e2aa0dcf
Merge branch 'master' into feat-add-emqx-plugins-app 2021-12-13 22:28:03 +08:00
Zaiming (Stone) Shi 38ac10d3e2 feat(plugins): add emqx_plugins skeleton
* added emqx_plugins app.
* emqx_plugins.erl is moved from emqx app to emqx_plugins app
  same for the test SUITE
2021-12-12 19:40:34 +01:00
lafirest 82746134bb feat(emqx_slow_sus): ported emqx_slow_subs from v4.4 2021-12-10 16:42:55 +08:00
k32 98be2e15b1
Merge pull request #6405 from k32/sysmon
feat(system_monitor): Add system_monitor application
2021-12-09 10:22:40 +01:00
k32 9fbc247e29 feat(system_monitor): Add system_monitor application 2021-12-08 16:34:10 +01:00
Zaiming (Stone) Shi a1ad6098b3 build: generate document to dashboard priv dir 2021-12-06 08:52:10 +01:00
Zaiming (Stone) Shi 96de7e6b30 docs: refine authn and auth config docs 2021-12-06 08:00:42 +01:00
Zaiming (Stone) Shi a681079ba7 refactor: remove special env override from schema
EMQX_NODE_NAME and EMQX_NODE_COOKIE are translated into
EMQX_NODE__NAME and EMQX_NODE__COOKIE
2021-12-06 08:00:42 +01:00
Zaiming (Stone) Shi 5d3cb6ae1c refactor(authn): align authn config root name
authn configs are checked independently per-auth provider,
this was to make authn providers more plugable.

in order to make environment variable overrides work for authn,
we need to have a unified view of the config layout,
no matter from root level, or partially checking per-provider
config independently, i.e. we try to use the same config envelop.
2021-12-04 09:33:14 +01:00
k32 dfa45c909a fix(crash_dump): Fix hocon schema related to the erlang crash dump 2021-12-03 18:45:45 +01:00
k32 fd9f6bd140 fix(crash_dump): Replace crash dump directory with a file 2021-12-03 18:18:24 +01:00
k32 954179b959
Merge pull request #6370 from k32/perf
chore(mria): Bump version to 0.1.4
2021-12-03 17:39:21 +01:00
k32 2ceb660344 chore(mria): Bump version to 0.1.4 2021-12-03 17:13:12 +01:00
zhongwencool e7a7d64004 feat(conf): skip/fast_forward tnx_id via cluster_call cli 2021-12-02 09:30:27 +08:00
zhongwencool c1a7d7bede fix(conf): emqx_conf return nest error 2021-12-01 16:08:49 +08:00
k32 a92970a904 feat(mria): Add RPC-related configuration to the schema 2021-11-30 21:59:59 +01:00
Spycsh fda2e86187
Merge pull request #6107 from Spycsh/slog
chore: refactor slog under emqx, conf and exhook
2021-11-23 16:39:06 +01:00
Spycsh c89a663b53 chore: refactor slog under emqx, conf and exhook 2021-11-22 23:12:17 +01:00
Shawn ea3c809287 fix(emqx_conf): merge issues 2021-11-22 17:35:33 +08:00
Shawn 9c93ea0338 feat(connector): add API for /connectors_test 2021-11-22 17:35:33 +08:00
Shawn 7d64013edd refactor(connector): add connector configs 2021-11-22 17:35:32 +08:00
k32 c9a59968ef refactor(emqx_schema): Code style 2021-11-19 11:41:29 +01:00
k32 deccba3406 fix(schema): Improve configuration of the internal DB 2021-11-19 11:41:08 +01:00
JianBo He 905e58c93a
Merge pull request #5997 from HJianBo/gw-fixes-part3
Gateway improvement part.3
2021-11-19 09:29:51 +08:00
zhongwencool 33f5eec802
feat: set keepalive via http api (#6171)
* feat: set keepalive via http api

* fix: make cluster_rpc test case solider
2021-11-18 10:56:58 +08:00
JianBo He d0bdf27e0c chore: fix elvis warnings 2021-11-17 11:04:09 +08:00
JianBo He 0b36b73ee1 fix(emqx_conf): fix badmatch for returned error value 2021-11-16 09:58:37 +08:00