Commit Graph

4597 Commits

Author SHA1 Message Date
JianBo He 18d265cecd chore(gw): increase timeout to update gateway instance 2022-05-12 19:26:14 +08:00
DDDHuang 8b0adf69d2
Merge pull request #7926 from DDDHuang/rule_api_errormsg
fix: better error message for rule engine
2022-05-12 19:07:47 +08:00
DDDHuang 5210cd6e8d fix(test): rule engine api SUITE , bad rule name 2022-05-12 18:01:37 +08:00
ieQu1 e71cac5031 chore(bpapi): Ensure versions are sorted alphabetically 2022-05-12 11:49:01 +02:00
DDDHuang 8516b457f3 fix(SUTIE): connector api, bad rule name in SUITE 2022-05-12 17:33:19 +08:00
ieQu1 ace6ad25e9 fix(bpapi): Compile the code in check profile before running xref 2022-05-12 11:30:05 +02:00
Ilya Averyanov e0fa07b679 fix(jwt auth): improve JWT handling 2022-05-12 12:10:47 +03:00
ieQu1 c39665edbd refactor(bpapi): Un-chew formatting 2022-05-12 10:55:22 +02:00
DDDHuang 2de69c97ba fix: ruleengine & connector & bridge api, better error message 2022-05-12 16:51:36 +08:00
Zhongwen Deng af8cad3856 chore: bump minirest to 1.3.3(force generate dispatch rule) 2022-05-12 16:42:20 +08:00
Zhongwen Deng 09e5f35f5c fix: include ref's desc 2022-05-12 16:17:03 +08:00
JimMoen 41e5bda914
Merge pull request #7903 from JimMoen/refactor-authn-authz-resource
refactor authn authz resource
2022-05-12 15:57:41 +08:00
lafirest d06377d82d
Merge pull request #7925 from lafirest/chore/esockd_version
chore: update esockd to 5.9.2
2022-05-12 15:49:08 +08:00
zhongwencool dbfbdb930f
Merge pull request #7920 from zhongwencool/remove-enable-from-server-ssl-options
fix: remove enable from server_ssl_opts_schema
2022-05-12 14:47:26 +08:00
JimMoen c181efd0ae test(gateway): fix authz callback rename 2022-05-12 14:39:12 +08:00
JimMoen 4fa84cce29 test(authn): test unsupported redis CMD 2022-05-12 14:19:57 +08:00
JimMoen 87af77ec35 refactor: do not destory resource when update authn/authz resource 2022-05-12 14:19:57 +08:00
JimMoen a5ddc5390f refactor(resource): add resource recreate fun with empty opts 2022-05-12 14:19:56 +08:00
Zhongwen Deng f0cb72dda6 fix: telemetry can't get active plugins list 2022-05-12 11:18:44 +08:00
DDDHuang a284ab9cf8 fix: better error message for rule engine 2022-05-12 11:06:07 +08:00
zhongwencool 16b6c2f849
Merge pull request #7921 from zhongwencool/add-node-query-string-to-download-tracelog
feat: add node query_string to download logs for specific nodes
2022-05-12 10:26:47 +08:00
firest 8a5c11744f chore: update esockd to 5.9.2 2022-05-12 10:18:37 +08:00
zhongwencool a78cb1c418
Merge pull request #7917 from zhongwencool/stop-plugins-error
docs: more clear about stop plugins error.
2022-05-12 09:41:17 +08:00
lafirest dc77c052cf
Merge pull request #7904 from lafirest/fix/listener_limiter_update
fix(listener): when update listener conf, should override limiter con…
2022-05-12 09:13:38 +08:00
lafirest 941307c101
Merge pull request #7918 from lafirest/fix/authz_info
fix(authz): add authz source type into the authorize logger
2022-05-12 09:09:58 +08:00
Thales Macedo Garitezi 7fe5513370
Merge pull request #7900 from thalesmg/fix-telemetry-metrics
feat: change some telemetry metrics
2022-05-11 16:58:34 -03:00
Thales Macedo Garitezi 11b61881de
chore: bump ekka -> 0.12.6, mria -> 0.2.5
reduce mria logs when in RLOG mode.

https://github.com/emqx/ekka/pull/161
https://github.com/emqx/mria/pull/84
https://github.com/emqx/mria/pull/86
2022-05-11 15:15:41 -03:00
Thales Macedo Garitezi 47ed9cbc76
fix(telemetry): count bridges referenced in `from` rule clauses 2022-05-11 15:15:17 -03:00
Thales Macedo Garitezi 9e706fc76d
feat(telemetry): count advanced mqtt feature usage
Originally, we wanted to just check if certain features were enabled.
Now, we want to count certain usage metrics for them.
2022-05-11 15:15:17 -03:00
Zaiming (Stone) Shi a13b146499
Merge pull request #7908 from thalesmg/fix-flaky-listener-tests
test: fix flaky listener tests
2022-05-11 19:12:15 +01:00
Thales Macedo Garitezi 0925f2104c
test: fix flaky tests 2022-05-11 13:42:47 -03:00
Zaiming (Stone) Shi 5bd1ae6bed
Merge pull request #7901 from zmstone/0508-docs-authn-refine-config-doc
docs(authn): use hocon enum for use_id_type
2022-05-11 17:42:38 +01:00
Zhongwen Deng 7c65d7159b feat: add node query_string to download logs for specific nodes 2022-05-11 23:19:06 +08:00
Zaiming (Stone) Shi 6dd66753bb
Merge pull request #7907 from zmstone/0510-test-avoid-timeout-when-waiting-for-dashboard-listener-in-ct
test: ensure no timeout when waiting for dashboard listener
2022-05-11 16:15:24 +01:00
Zhongwen Deng 426a829ee0 docs: more clear about stop plugins error. 2022-05-11 22:13:44 +08:00
Zhongwen Deng e929da2e68 fix: remove enable from server_ssl_opts_schema 2022-05-11 22:08:24 +08: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
firest 5220869dd8 fix(authz): add authz source type into the authorize logger 2022-05-11 17:54:42 +08:00
Zaiming (Stone) Shi 60ca1cb2a5 refactor(authn): use hocon enum type for user_id_type 2022-05-11 09:02:55 +02:00
Zaiming (Stone) Shi 41448849ff test: ensure no timeout when waiting for dashboard listener 2022-05-11 08:45:32 +02:00
firest c9227703fc fix(listener): when update listener conf, should override limiter config not merge 2022-05-11 14:00:54 +08:00
Zaiming (Stone) Shi 57c1c418d6 docs(authn): use a string alias for user_id_type 2022-05-10 18:28:16 +02: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
zhongwencool 0924c7dc13
Merge pull request #7902 from DDDHuang/ddd_fix
fix: node info, log path only path
2022-05-10 21:47:26 +08:00
DDDHuang 76102714aa fix: node info, log path only path 2022-05-10 18:00:09 +08:00
Zhongwen Deng 703a8d3eff fix: clear cert crash when config is undefined 2022-05-10 15:47:16 +08:00
Zhongwen Deng 83b4b658e2 fix: assert not empty list 2022-05-10 09:39:53 +08:00
Zhongwen Deng 7c34c8a8b1 fix: retry if init_disaptch failed 2022-05-10 09:38:48 +08:00
Zhongwen Deng 34ad395abe fix: don't router request until dispatch is ready 2022-05-10 09:38:48 +08:00
Zhongwen Deng 068421d0e1 feat: don't dispatch requests until dispatch is ready 2022-05-10 09:38:48 +08:00
Zhongwen Deng b91e9e59ba chore: bump minirest to 1.3.1(generate api_spec concurrency) 2022-05-10 09:38:48 +08:00
Zhongwen Deng ec297965f6 fix: move clear_i18n to after clause 2022-05-10 09:38:48 +08:00
Zhongwen Deng e6e66b032e fix: mgmt_cli_SUITE ct failed 2022-05-10 09:38:48 +08:00
Zhongwen Deng 23a01e393c chore: bump minirest to 1.3.0 2022-05-10 09:38:48 +08:00
Zhongwen Deng 5c66b6f04d feat: generate dashboard's dispatch asynchronously 2022-05-10 09:38:48 +08:00
Chris Hicks 841acb7828
Merge pull request #7783 from emqx/EMQX-4199-introduce-a-new-emqx-resource-manager-module
feat: isolate resource manager processes
2022-05-09 18:33:01 +02:00
Chris ffd4e83ed7 test: add emqx_connector_SUITE to increase coverage 2022-05-09 14:12:21 +02:00
Chris 0b3e30e813 feat: isolate resource manager processes 2022-05-09 13:24:34 +02:00
lafirest d05e627332
Merge pull request #7884 from lafirest/fix/gateway_cluster_status
fix(gateway): add node status for some list APIs
2022-05-09 17:41:12 +08:00
Zhongwen Deng 2371604589 fix: infinity means never expire 2022-05-09 14:43:37 +08:00
firest 81e57f2148 fix(gateway): make it safer to get the value of bind 2022-05-09 12:37:15 +08:00
firest 93ab0458d1 fix(gateway): make gateway listeners list return act like MQTT listeners 2022-05-09 12:37:15 +08:00
firest f20f05161f fix(gateway): sum the cluster connection data 2022-05-09 12:37:15 +08:00
firest db9cb6c4a0 fix(gateway): add node_status into the result of /gateway/{name}/listeners 2022-05-09 12:37:15 +08:00
firest 2c558152ed fix(gateway): add node_status into the result of /gateway API 2022-05-09 12:37:15 +08:00
JianBo He 4d3aa16ceb
Merge pull request #7881 from lafirest/fix/limiter_update
fix(limiter): add config update handler for limiter
2022-05-09 11:07:26 +08:00
firest 1355f7c887 fix(retainer): fix test case and xref error 2022-05-07 17:01:51 +08:00
firest a4a9650e66 fix(limiter): add config update handler for limiter 2022-05-07 17:01:51 +08:00
firest ba683167bd fix(limiter): remove unused rate limit codes 2022-05-07 17:00:13 +08:00
JianBo He 8db8598622 fix(mgmt): fix test case crash 2022-05-07 10:16:58 +08:00
JianBo He 2ef118ce4c chore(fmt): format management 2022-05-07 10:16:58 +08:00
JianBo He 6e03a7c686 fix(authn): use a random group id to void data overlap 2022-05-07 10:16:58 +08:00
Xinyu Liu 62d448fb28
Merge pull request #7889 from terry-xiaoyu/jq_v0.1.1
chore: update jq to v0.2.0
2022-05-07 09:57:48 +08:00
Shawn 82da4d82be chore: update jq to v0.2.0 2022-05-06 22:20:35 +08:00
lafirest 495ef7f301
Merge pull request #7879 from lafirest/fix/listener_with_limiter
fix(listeners): add limiter info into the listener config
2022-05-06 20:34:57 +08:00
Thales Macedo Garitezi ef19fa7cc9
Merge pull request #7877 from thalesmg/bump-ekka-0-12-5
chore(ekka): bump ekka -> 0.12.5
2022-05-06 09:02:02 -03:00
lafirest 3a634fed81
Merge pull request #7883 from lafirest/fix/update_limiter_arg
fix(mgmt): change the argument position of limiter APIs
2022-05-06 16:49:34 +08:00
Ilya Averyanov 4cff19985e
Merge pull request #7872 from savonarola/fix-mongo-conn-healthcheck
fix(mongodb): fix mongodb connection healthcheck
2022-05-06 11:47:26 +03:00
firest acba1626f6 fix(mgmt): change the argument position of limiter APIs 2022-05-06 16:37:53 +08:00
Chris Hicks 2f58eda91e
Merge pull request #7873 from emqx/EMQX-2412-test-improve-emqx-connector-test-coverage-from-71-to-80
fix: remove case clause where the error clause can never be reached
2022-05-06 10:34:46 +02:00
firest b394d18852 fix(listeners): add limiter info into the listener config 2022-05-06 13:33:03 +08:00
JianBo He 90493e72a9
Merge pull request #7864 from JimMoen/fix-exhook-api
Fix exhook api
2022-05-06 13:19:09 +08:00
Yang Miao c7826db3f7
Merge pull request #7865 from EMQ-YangM/fix_imporve_authn_authz_metrics
fix: improve authn, authz metrics
2022-05-06 11:19:47 +08:00
Yang Miao db3c90578f
Merge pull request #7869 from EMQ-YangM/improve_decode_jeson
fix: avoid 'rule_test' api crash
2022-05-06 11:19:34 +08:00
zhongwencool 2d58121ed0
Merge pull request #7857 from DDDHuang/monitor_10s
fix: monitor calculate rate time delta is 0
2022-05-06 10:27:06 +08:00
JianBo He 596005ca5f
Merge pull request #7866 from JimMoen/fix-retainer-api-page-limit
Fix retainer api page limit
2022-05-06 09:10:34 +08:00
JianBo He ae2c150384
Merge pull request #7593 from EMQ-YangM/improve_mgmt_cli_cover
draft: improve emqx_mgmt_cli test coverage
2022-05-06 09:10:10 +08:00
Thales Macedo Garitezi 2771193359
chore(ekka): bump ekka -> 0.12.5
Improves autocluster resilience against split-brain during startup.

https://github.com/emqx/ekka/pull/160
2022-05-05 17:02:47 -03:00
William Yang 7dcdae4672
Merge pull request #7874 from qzhuyan/dev/william/logging-fix
chore: minor logging fix
2022-05-05 20:23:21 +02:00
Xinyu Liu b11400da06
Merge pull request #7871 from terry-xiaoyu/connector_restart_wrong_node
fix: restart bridges via HTTP APIs to wrong node
2022-05-06 00:14:40 +08:00
William Yang 5ffce8d619 chore: minor logging fix 2022-05-05 16:04:51 +02:00
Ilya Averyanov 0dae3f43a9 fix(mongodb): fix mongodb connection healthcheck 2022-05-05 15:36:38 +03:00
JimMoen 041ea4ba5c test(retainer): retainer api page read 2022-05-05 20:33:39 +08:00
JimMoen 6895ce9978 fix(retainer): retainer message page read 2022-05-05 20:33:39 +08:00
Chris 6971a3109f fix: remove case clause where the error clause can never be reached 2022-05-05 14:26:04 +02:00
lafirest 97e778e797
Merge pull request #7868 from lafirest/feat/limiter_api
feat(limiter): add limiter view/update api
2022-05-05 19:08:47 +08:00
EMQ-YangM 30b3060327 fix: improve authn, authz metrics 2022-05-05 18:53:31 +08:00
JianBo He 39a26f8225
Merge pull request #7853 from HJianBo/fix-gw-bad-ssl
Fix gateway listener API return 500
2022-05-05 18:47:41 +08:00
Shawn 9a033af2e8 fix: restart bridges via HTTP APIs to wrong node 2022-05-05 18:47:19 +08:00
Xinyu Liu 55cdce955c
Merge pull request #7863 from terry-xiaoyu/connector_ssl
fix: don't drop input ssl options even if invalid
2022-05-05 17:45:46 +08:00
zhongwencool 7f0f2571d0
Merge pull request #7861 from zhongwencool/username-as-clientid-not-valid
fix: don't allow empty username if username_as_clientid is true
2022-05-05 17:32:32 +08:00
EMQ-YangM 685b06eeed fix: avoid 'rule_test' api crash 2022-05-05 17:28:59 +08:00
zhongwencool 28b7021322
Merge pull request #7867 from zhongwencool/whitespace-in-install-path
fix: can't get emqx's priv_dir when whitespace in install path
2022-05-05 17:11:15 +08:00
JimMoen e2eb1da647 test(exhook): exhook config update 2022-05-05 16:24:17 +08:00
firest 1a7c870b7d test(limiter): add more cases for rate parser 2022-05-05 16:06:22 +08:00
JimMoen ef8ed3202e fix(exhook): refine exhook and exhook api
Refine status code.
Fix ssl ciphers raw list.
Make sure config update error be thrown.
2022-05-05 16:03:53 +08:00
Zhongwen Deng 41268dba01 fix: can't get emqx's priv_dir when whitespace in install path 2022-05-05 15:59:14 +08:00
firest acb78d53eb fix(limiter): fix rate parser, support this format: xMB/s 2022-05-05 15:38:04 +08:00
Shawn 1ce8a8c886 fix: testing connector removes ssl cert files that are in use 2022-05-05 14:55:40 +08:00
Shawn 5b5878f4a9 fix: don't drop input ssl options even if invalid 2022-05-05 14:53:42 +08:00
firest f2e7563b0c feat(limiter): add limiter view/update api 2022-05-05 13:08:33 +08:00
JianBo He 62a0df69fc fix(limiter): avoid maps:get/2 crash 2022-05-05 10:47:59 +08:00
Zhongwen Deng 2987bd47ad fix: don't allow empty username if username_as_clientid is true 2022-05-05 10:30:59 +08:00
DDDHuang 2504531b45 fix: monitor calculate rate time delta is 0 2022-05-05 09:32:15 +08:00
Kjell Winblad 74c33cd4e5 feat(rule_engine): add jq function to the rule engine
This commit adds a function to the rule engine that alows users
to transform text or JSON objects using [jq filter programs][1].

[jq][1] is a command line tool that can be used to transform
and filter JSON text using jq's built-in language. The rule engine
function that is added with this commit uses the
[Erlang jq NIF library][2] that wraps the jq C library in an
Erlang NIF function.

[1]: https://stedolan.github.io/jq/
[2]: https://github.com/emqx/jq
2022-05-04 17:09:16 +02:00
JianBo He 5bfb9367ea chore(tls): guard empty pem/path string 2022-05-03 17:54:00 +08:00
JianBo He 5698b9cfeb fix(gw): fix bad_ssl_config bad match 2022-05-03 17:11:06 +08:00
JianBo He 5d362eeb60 fix(gw): fix bad conn property type 2022-05-03 17:11:06 +08:00
JianBo He 42e193d9be refactor(mqttsn): create subscription with any topic format 2022-05-03 16:54:14 +08:00
JianBo He 7813f402c6 feat(api-clients): return client mountpoint property 2022-05-03 16:52:38 +08:00
JimMoen 4744e4a5e4 fix(authn): make sure http headers are bin 2022-04-29 19:44:49 +08:00
Shawn be60b3330d chore: release 5.0.0-rc.2 2022-04-29 19:01:44 +08:00
Shawn 0c8a7e751f fix(test): clear emqx_cluster_rpc mnesia table at the end of the suite 2022-04-29 18:53:01 +08:00
zhouzb 0c059eb653
Merge pull request #7838 from terry-xiaoyu/fix_ci_emqx_modules
fix(test): race condition in emqx_telemetry_SUITE
2022-04-29 18:50:43 +08:00
DDDHuang bb87092358
Merge pull request #7840 from EMQ-YangM/fix_resource_health_check
fix: set resource status disconnected when health check timeout
2022-04-29 18:49:11 +08:00
zhouzb fc2169ba18
Merge pull request #7842 from zmstone/0429-refactor-rename-funs-to-please-elvis
refactor: rename functions to please elvis
2022-04-29 17:38:17 +08:00
EMQ-YangM c52b464b3c fix: check process alive before health check 2022-04-29 17:34:26 +08:00
zhouzb 8377af127d
Merge pull request #7834 from zhongwencool/use-username-as-clientid-not-found
fix: client not found if use_username_as_clientid=true
2022-04-29 17:24:24 +08:00
EMQ-YangM 1bf33f75cc fix: set resource status disconnected 2022-04-29 17:05:12 +08:00
JianBo He d36d27c533
Merge pull request #7781 from HJianBo/rename-acl-metrics
feat(metrics): refactor authz metrics name
2022-04-29 16:52:43 +08:00
Zaiming (Stone) Shi 6b44d96c0d refactor: rename functions to please elvis 2022-04-29 10:52:08 +02:00
JianBo He 7a8a1f8b6a
Merge pull request #7824 from HJianBo/fix-gw-http-body
fix(gw): fix deep_merge can't update the configuration correctly
2022-04-29 16:46:59 +08:00
Shawn ef0e6d7fd8 fix(test): ensure the test node removed from the ekka cluster 2022-04-29 16:43:51 +08:00
Shawn bef00b461e chore: update .gitignore emqx_conf generated files 2022-04-29 16:43:51 +08:00
Shawn 1393ab677d fix(test): race condition in emqx_telemetry_SUITE 2022-04-29 16:43:51 +08:00
JianBo He 344a754674
Merge pull request #7817 from JimMoen/fix-auth-http 2022-04-29 16:36:10 +08:00
Zhongwen Deng cf9a853069 fix: delete duplicate clientid/username 2022-04-29 16:33:49 +08:00
JianBo He 1632df9ebb
Merge pull request #7837 from EMQ-YangM/reduce_duplicate_field
fix: reduce duplicate field
2022-04-29 15:50:27 +08:00
JianBo He 7bbed713f4
Merge pull request #7835 from JimMoen/fix-mongo-require-fields
fix(auth): mongo field `filter` not required and have default value
2022-04-29 15:38:54 +08:00
JianBo He 4989ce7a0d test(authz-jwt): fix flaky test t_check_expire 2022-04-29 15:20:05 +08:00
JianBo He 1597ea50c1 feat(metrics): refactor authz metrics name
In the current implementation:
```
Authz checking times = client.authorize + client.authorization.cache_hit
                     = client.authorization.allow + client.authorization.deny

client.authorize means how many times the `client.authorize` hook has been executed.

client.authorize = client.authorization.matched.allow +
                   client.authorization.matched.deny +
                   client.authorization.nomatch
```
2022-04-29 15:20:05 +08:00
EMQ-YangM 110f0d0e94 fix: reduce duplicate field 2022-04-29 14:37:49 +08:00
Xinyu Liu f28559ef62
Merge pull request #7820 from zmstone/0428-fix-flaky-test
test: ensure emqx_metrics gen_server stopped after each test
2022-04-29 14:21:21 +08:00
JimMoen 22c25fc7e8 fix(tls_lib): ssl file key list contains atom and bin 2022-04-29 14:05:55 +08:00
DDDHuang 177926b0a8
Merge pull request #7833 from DDDHuang/testm_cluster
fix: cluster monitor rate, topics calculate error
2022-04-29 13:45:35 +08:00
JimMoen ad4b70c27e fix(auth): mongo field `filter` not required and have default value 2022-04-29 13:37:29 +08:00
zhongwencool 6bdd625b21
Merge pull request #7826 from zhongwencool/dashboard-https
fix: dashboard https without deafult pem/keyfile
2022-04-29 13:21:28 +08:00
JimMoen 5f75f6e3be docs: refine auth http i18n description 2022-04-29 12:48:21 +08:00
JimMoen c1dfd0aa36 test(auth): authn & authz http placeholder in HTTP path 2022-04-29 12:48:17 +08:00
JimMoen 15ef9892c5 fix(auth): authn & authz http support placeholder in HTTP path 2022-04-29 12:48:00 +08:00