Commit Graph

352 Commits

Author SHA1 Message Date
DDDHuang 1752257169 fix: better listener log 2022-04-24 09:55:35 +08:00
Zhongwen Deng 5223c3ee61 feat: obfuscate sensitive values default_password 2022-04-24 09:41:29 +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
JimMoen 1fab779db8 fix(i18n): rm double quotes in i18n confs, add missing translation 2022-04-22 19:26:44 +08:00
Zaiming (Stone) Shi 0945c959bf chore(emqx_dashboard): update hocon desc cache APIs 2022-04-22 08:21:07 +02:00
Zhongwen Deng 393fbd2bdb feat: add emqx_dashboard i18n 2022-04-21 23:43:12 +08:00
Zhongwen Deng 05b4ed58e0 feat: add emqx_conf_schema i18n conf 2022-04-21 22:17:59 +08:00
zhongwencool 051ed84fc8
Merge pull request #7675 from zhongwencool/api-listener
refatcor: simplify updating the listener
2022-04-20 14:10:01 +08:00
Zhongwen Deng 24e1772532 fix: wrong default label name when desc is not struct 2022-04-19 21:29:37 +08:00
JimMoen cf671f10e7 fix(swagger): string example use binary 2022-04-19 18:57:01 +08:00
JimMoen 93dd7d46c5 refactor: fields `meta` ref to dashboard_swagger 2022-04-19 18:57:01 +08:00
Xinyu Liu 86e8498bce
Merge pull request #7658 from terry-xiaoyu/dashboard_conf_no_array
refactor: change confs for dashboard listeners from array to map
2022-04-19 16:06:27 +08:00
Shawn e6f8069145 fix: add desc for dashboard:listeners 2022-04-19 14:04:09 +08:00
Shawn b04ca3cb99 fix: udpate test cases for new dashboard configs 2022-04-19 10:49:40 +08:00
Zhongwen Deng 0de367dc63 feat: Make api_listener align with gateway and remove unused APIs. 2022-04-19 10:42:08 +08:00
Shawn 8e6b98af68 refactor: change confs for dashboard listeners from array to map
Don't use arrays in the config path to make it easier to change
configs via environments varibles.
2022-04-19 00:46:21 +08:00
Zhongwen Deng 929d043677 chore: fix elvis warning atom_naming_convention. 2022-04-18 22:09:03 +08:00
Zhongwen Deng c37f01fd3e fix: responses/error_code support ?DESC/x. 2022-04-18 21:00:01 +08:00
Zhongwen Deng ce88b2d899 fix: method desc support ?DESC/1/2. 2022-04-18 19:59:08 +08:00
Zhongwen Deng df3addb217 chore: Don't display primary example, we should show default if no example. 2022-04-18 11:02:39 +08:00
Xinyu Liu 21fe7f01ee
Merge pull request #7624 from DDDHuang/fix_api_params
Fix api params
2022-04-18 09:33:22 +08:00
DDDHuang dbadf50cee fix: monitor rate default 0 2022-04-16 16:37:36 +08:00
DDDHuang 402d3d97ae fix: dashboard swagger SUITE 2022-04-16 16:37:10 +08:00
DDDHuang a1ef677e33 fix: remove duplicate references 2022-04-16 16:37:10 +08:00
DDDHuang 1121c6a47e fix: code format3 2022-04-16 16:37:10 +08:00
DDDHuang 82ce6ae9f9 fix: bad integer, bad qos; TODO: gateway api * 2 2022-04-16 16:37:10 +08:00
DDDHuang e22d01d25f fix: page & limit & pool_size pos_integer; some bad spelling 2022-04-16 16:37:10 +08:00
Zhongwen Deng f98cb972e2 fix: dashboard ct failed 2022-04-15 14:37:51 +08: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
DDDHuang bf827cffa8 fix: authn bad examples 2022-04-13 16:16:13 +08:00
DDDHuang 9ef1795985 fix: add bad api test 2022-04-13 16:16:13 +08:00
DDDHuang 322bdffea9 fix: bad api path 404 response 2022-04-13 16:16:13 +08:00
DDDHuang b8e2c76382 fix: remove routes 2022-04-13 16:16:12 +08:00
Dmitrii 20f66664d7
Merge pull request #7478 from ieQu1/doc-schema-7
docs(schema): Add descriptions of fields and records
2022-04-05 14:21:07 +02:00
ieQu1 99b3f2f83e docs(schema): Document missing records and fields 2022-04-04 23:58:43 +02:00
Ilya Averyanov f4e4331556 chore(emqx_mangement): improve emqx_mgmt_api_nodes coverage 2022-04-04 23:39:53 +03:00
Thales Macedo Garitezi f425665449
fix(test): fix flaky test 2022-04-01 09:27:53 -03:00
Ilya Averyanov 12f6b8fab0 chore(emqx_modules): improve emqx_delayed_api coverage 2022-03-31 18:44:29 +03:00
Ilya Averyanov 0728b1e3f4 chore(emqx_modules): add emqx_topic_metrics_api tests 2022-03-30 21:18:27 +03:00
Zhongwen Deng 86f455fd3a fix: cluster conf must be readonly; add dashboard listener update hook 2022-03-25 18:43:15 +08:00
Zhongwen Deng 8d46332b30 chore: upgrade hocon to 0.26.4 to limit HOCON_MAP's key format 2022-03-25 15:00:51 +08:00
Zhongwen Deng 55f805bac0 fix: dashboard_monitor crash 2022-03-25 14:18:56 +08:00
zhongwencool f1b511023d
Merge pull request #7400 from DDDHuang/fix_examples_spec
fix: api examples spec error
2022-03-25 11:03:27 +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
Dmitrii fa8ab06368
docs: Apply remark
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2022-03-24 11:39:35 +01:00
Dmitrii 1c65176362
docs: Apply remark
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2022-03-24 11:39:11 +01:00
DDDHuang 08de17e631 fix: api examples spec error 2022-03-24 18:01:47 +08:00
DDDHuang 9037b807ae fix: add api auth failed code def & fix bad spelling 2022-03-24 12:12:19 +08: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 c6b0e8806f docs(schema): Add descriptions to the schema 2022-03-22 19:09:20 +01:00
Zhongwen Deng f81eb8f62f fix: remove TODO from hot-config-schema.json. 2022-03-21 17:56:22 +08:00
DDDHuang e517b41a4d fix(api): desc & remove useless api 2022-03-21 15:03:37 +08:00
DDDHuang 010dbbdb26 fix: bad code style 2022-03-21 14:12:19 +08:00
DDDHuang 66c6ea4c23 fix: dashboard swagger desc & description check 2022-03-21 14:12:19 +08:00
DDDHuang 4d4348759d fix: generate connector & exhook & retainer api response code 2022-03-21 14:12:19 +08:00
DDDHuang 60f107f91f fix: generate dashboard api response code 2022-03-21 14:12:19 +08:00
DDDHuang 74e6fa5a94 fix: generate bridge api response code
fix: generate connector api response code SUITE

fix: generate exhook api response code
2022-03-21 14:12:19 +08:00
firest beba7c9692 fix(limiter): improve code style and description 2022-03-18 16:00:42 +08:00
firest d28b34f0d1 fix(limiter): improve test case and fix some bugs 2022-03-18 16:00:42 +08:00
lafirest e7dec7835f feat(limiter): change zone to group and simplify config 2022-03-18 16:00:42 +08:00
DDDHuang a6b7f51d96 fix: dashboard monitor bad key spell 2022-03-14 17:57:56 +08:00
DDDHuang 03ca53d9b3 fix: monitor api query string param latest: legal & default value infinity 2022-03-10 16:40:40 +08:00
DDDHuang f22f61ac66 fix: users api, create illegal char username 2022-03-10 09:58:42 +08:00
Zhongwen Deng 7942de53a0 chore: fix elvis warning 2022-03-09 16:07:01 +08:00
Zhongwen Deng 414d29c413 chore: add label field for schema.json. 2022-03-09 14:40:14 +08:00
DDDHuang 103df6f06b fix: dashboard monitor bpapi 2022-02-25 18:38:10 +08:00
DDDHuang 00b83121a4 fix(test): add api test SUITE & bug fix 2022-02-25 17:36:07 +08:00
DDDHuang c21bc9d329 feat: dashboard monitor granularity adapter 2022-02-25 17:36:07 +08:00
DDDHuang a88e8b0c9e fix(doc): remove annotation 2022-02-25 17:36:07 +08:00
DDDHuang 8c1c87a8d6 fix(test): add monitor SUITE, TODO: API Test SUITE 2022-02-25 17:36:07 +08:00
DDDHuang fedfa6c653 feat: monitor api, TODO: test suite 2022-02-25 17:36:07 +08:00
DDDHuang 21b9943df9 feat: new monitor TODO: API 2022-02-25 17:36:07 +08:00
DDDHuang f4a669b3bc fix(doc): reflactor monitor 2022-02-25 17:36:07 +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
Zhongwen Deng 574bbafc9b fix(schema): Ensure enum is atom or int. 2022-02-24 15:36:04 +08:00
DDDHuang 90ee450a84 feat: support http error code & error code api 2022-02-22 17:14:35 +08:00
JimMoen e816e3e4a3
Merge pull request #7075 from JimMoen/refactor-authz-sources-api
refactor: authz_api_sources swagger spec
2022-02-22 01:24:42 +08:00
Zhongwen Deng 9f9bf059b9 fix(schema): remove unuse to_bin function; simplify body schema. 2022-02-21 23:02:49 +08:00
k32 115c3f2d29 chore: Fix URLs 2022-02-21 10:13:09 +01:00
Zaiming (Stone) Shi 1be3eb1446 chore: rename EMQX Broker to just EMQX 2022-02-19 12:51:34 +01:00
Zaiming (Stone) Shi 64db085163 chore: EMQ X -> EMQX in source code 2022-02-16 22:08:12 +01:00
Zaiming (Stone) Shi 0528262705 chore(app.src): EMQ X -> EMQX in .app.src files 2022-02-16 17:51:45 +01:00
Zaiming (Stone) Shi b3d9605722 chore(conf): EMQ X -> EMQX in conf files 2022-02-16 17:50:41 +01:00
zhongwencool 310a97305a
Merge pull request #6997 from zhongwencool/epoch-rfc3339-convert
feat(schema): schema support epoch_second, epoch_millisecond type.
2022-02-16 16:51:38 +08:00
Zaiming (Stone) Shi 667d66eb1e docs(README): EMQ X -> EMQX 2022-02-15 16:19:26 +01:00
JimMoen 2a1fba97da test(auth): resource use connector provided default port 2022-02-15 10:41:26 +08:00
JimMoen ab7c2b72e3 refactor(connector): db connector provide default port 2022-02-15 00:51:48 +08:00
zhongwencool 498434826a feat(schema): schema support epoch_second, epoch_millisecond type. 2022-02-14 11:35:32 +08:00
zhongwencool 47b1dde7fd
Merge pull request #6949 from zhongwencool/add-qos-type
feat(schema): support qos type.
2022-02-09 16:13:11 +08:00
zhongwencool 36cf00108c feat(schema): support qos type. 2022-02-09 15:16:43 +08:00
Chris d0b0b05aa4 fix: decouple suite tests 2022-02-08 14:53:01 +01:00
zhongwencool 5f2618912f chore(format): format port by ts 2022-02-08 11:03:54 +08:00
zhongwencool b50ceac9bb chore(listener): change the listener binding format 0.0.0.0:port to :port. 2022-02-08 10:28:10 +08:00
zhongwencool 6a701e098f feat(shell): add restricted shell and user_default 2022-02-07 15:33:59 +08:00
zhongwencool 8041524d20 chore(dashboard): warning wehn stop dashboard listener not found. 2022-01-29 10:36:53 +08:00
zhongwencool ec5d1b1463 feat(dashboard): support bind specific ip(port or ip:port). 2022-01-28 16:52:03 +08: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
JimMoen b950042cbf refactor(api): prometheus swagger spec 2022-01-21 14:09:42 +08: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 6207e93e93 refactor(dashboard): Decorate remote procedure calls 2022-01-13 13:14:59 +01:00
JimMoen 82e3565344 chore: major mode file variable for Emacs 2022-01-13 15:53:47 +08:00
JianBo He af2868e598 chore(dashboard): change root name emqx_dashboard > dashboard 2022-01-12 13:51:34 +08:00
zhongwencool 3bdfa183f3
Merge pull request #6666 from JimMoen/merge-5.0-beta.3-to-master
Merge 5.0 beta.3 to master
2022-01-06 18:20:30 +08:00
JimMoen 9a115b99a4 Merge remote-tracking branch 'emqx/release-5.0-beta.3' into merge-5.0-beta.3-to-master 2022-01-06 14:08:45 +08:00
Zaiming (Stone) Shi 63167cea70 chore: update copyright 2022-01-05 20:55:00 +01:00
zhongwencool 303707d69d fix: make sure authz headers is binary. 2022-01-05 15:11:16 +08:00
Zaiming (Stone) Shi 65b1ce80d9 chore: fix deps discrepancy 2022-01-03 11:47:43 +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
zhongwencool d16362af96
Merge pull request #6547 from zhongwencool/trace-formatter
feat(trace): replace logger_formatter by emqx_trace_formatter
2021-12-30 23:40:59 +08:00
JimMoen ff3707fbdc
Merge pull request #6565 from JimMoen/fix-redis-servers-field
fix(connector): redis cluster `servers` field
2021-12-30 19:33:12 +08:00
DDDHuang c2e36b041b fix: dashboard return type 2021-12-30 18:53:09 +08:00
JimMoen 39c29b2396 fix(connector): redis cluster `servers` field 2021-12-30 15:37:53 +08:00
DDDHuang db9d269034 fix(dashboard): batter auth failed response message 2021-12-30 10:29:20 +08:00
zhongwencool 43141dffee
Merge branch 'release-5.0-beta.3' into trace-formatter 2021-12-29 22:37:59 +08:00
DDDHuang 34dfc327f3 fix(api): auth failed with basic type check 2021-12-29 19:34:13 +08:00
zhongwencool 04313dc044 fix(trace): download trace api not working 2021-12-29 19:03:54 +08:00
zhongwencool 0712fc1e75 chore(schema): remove emqx_schema:unicode_binary/0 2021-12-28 23:50:12 +08:00
Thales Macedo Garitezi 0020cf592f
Merge remote-tracking branch 'origin/master' into build-with-mix-mkII 2021-12-28 11:28:40 -03: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
zhongwencool 2e10a5700c
Merge pull request #6515 from zhongwencool/fix-bann-utf8
fix(banned): create banned with utf8 failed by 500 response
2021-12-22 16:08:34 +08:00
zhongwencool b11a15fa00 fix(banned): create banned with utf8 failed by 500 2021-12-22 14:29:15 +08: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
JimMoen 6f28e103d0 fix(dashobard): statistical diagram timestamp use UTC time 2021-12-20 19:21:19 +08:00
JimMoen 3a3226fc78 fix(dashboard): enable dashboard by default 2021-12-17 11:20:23 +08:00
zhongwencool e4a21fd90d fix: merge from master 2021-12-15 16:24:25 +08:00
zhongwencool f95ef04cf7
Merge branch 'master' into api-key-secret 2021-12-15 16:01:09 +08:00
Thales Macedo Garitezi 95de2d3467
fix(monitor): fix return value on badrpc
If the rpc in `emqx_dashboard_monitor_api:get_collect/1` fails, an
empty map is return.  But the current function expects a 4-tuple,
which results in a 500 error returned on such occasions.

```
curl -su admin:public localhost:8888/api/v5/monitor/current | jq .
{
  "code": "INTERNAL_ERROR",
  "message": "error, function_clause, [{emqx_dashboard_monitor_api,format_current_metrics,[[#{},{0,0,0,0},{0,0,0,0}],{0,0,0,0}],[{file,\"emqx_dashboard_monitor_api.erl\"},{line,179}]},{emqx_dashboard_monitor_api,current_counters,2,[{file,\"emqx_dashboard_monitor_api.erl\"},{line,167}]},{minirest_handler,apply_callback,3,[{file,\"minirest_handler.erl\"},{line,112}]},{minirest_handler,init,2,[{file,\"minirest_handler.erl\"},{line,38}]},{cowboy_handler,execute,2,[{file,\"cowboy_handler.erl\"},{line,41}]},{cowboy_stream_h,execute,3,[{file,\"cowboy_stream_h.erl\"},{line,318}]},{cowboy_stream_h,request_process,3,[{file,\"cowboy_stream_h.erl\"},{line,302}]},{proc_lib,init_p_do_apply,3,[{file,\"proc_lib.erl\"},{line,226}]}]"
}
```
2021-12-14 17:56:32 -03:00
Thales Macedo Garitezi 0300403fc0
fix(admin): inconsistent return type on empty inputs
If an empty username or password are given during the initialization
of `emqx_dashboard_admin`, it'll return just the atom `ok`, which
breaks the expected `{ok, _}` in `emqx_dashboard_app:start/2`.

```
{'EXIT',
 {{failed_to_start_app,emqx_dashboard,
   {emqx_dashboard,
    {bad_return,
     {{emqx_dashboard_app,start,[normal,[]]},
      {'EXIT',
       {{badmatch,ok},
        [{emqx_dashboard_app,start,2,
          [{file,
            "/home/thales/dev/emqx/emqx/apps/emqx_dashboard/src/emqx_dashboard_app.erl"},
           {line,32}]},
         {application_master,start_it_old,4,
          [{file,"application_master.erl"},{line,293}]}]}}}}}}}}
```
2021-12-14 17:51:50 -03:00
firest 8493b61cb5 refactor(eqmx_limiter): use the new hierarchical token bucket to replace the old ratelimit code 2021-12-10 14:37:23 +08:00
zhongwencool 0614c157ec fix(elvis): elvis warning 2021-12-09 16:42:10 +08:00
zhongwencool cf11f3f8ee feat(api-key): support api_key/secret 2021-12-09 16:42:10 +08:00
Zaiming (Stone) Shi 5525cb3262 refactor: only apply environment variables on base config 2021-12-06 08:00:42 +01:00
zhongwencool 1f6e2e7397 chore: add test for sub fields 2021-12-01 12:01:44 +08:00
Zaiming (Stone) Shi d2fa0a71f4 refactor: give psk auth a better namespace 2021-12-01 00:33:20 +01:00
zhongwencool f697028b70
Fix ping not return pong (#6285)
* fix: ./bin/emqx ping return pong

* chore: waiting longer for logger flush log to disk

* fix: change swagger page's limit from 100 to 1000

* chore: type wrong

* fix: sync log to disk by logger_disk_log_h:filesync
2021-11-26 17:02:45 +08:00
zhouzb 63f1d88ed3 chore(dashboard): disable by default 2021-11-22 22:23:06 +08:00
Shawn f0c61068e8 fix(authn): test cases issues 2021-11-22 17:35:33 +08:00
Shawn c66c6b53b2 feat(connector): add APIs for connector 2021-11-22 17:35:33 +08:00
Shawn bcf5f499da feat(connector): add APIs for connector 2021-11-22 17:35:33 +08:00
Zaiming Shi 6ca6d60858 fix(dashboard): change hash from sha3_256 to sha256
old version os has no support for it
2021-11-20 21:21:11 +01:00
Zaiming Shi 6edd862dd5 refactor: no more EMQX_ENTERPRISE compile flag
The compile flag was introduced in EQM X 4.3 series
where CE and EE code was diverged large enough which made
non-practicle to determin edition at runtime.

such approach made testing quite challenging as we'll have to
build with different compile flags inorder to run per-edition
test cases

In this commit, we try to retrieve edition info from EMQX's
description text, (put to PT for fast access) at runtime
so we can test ALL editions from a super-set edition (EE).
2021-11-20 20:41:06 +01:00
JimMoen e361cd5733
Fix dashboard APIs return (#6177)
* fix(dashboard_api): delete non-exist user wrongly return 204

* fix(dashboard): dashboard user should use `tags` not `tag`

* fix(dashboard): create/update user return 200 with full users list

* fix(dashboard): logout status code 204

* fix(dashboard): update pwd status code 204

* test: test suite for dashboard APIs

* refactor(dashboard): user info mnesia record name use description

* style: make elvis happy

* fix(api): dashboard swagger check request should not override env

* fix(dashboard): add/modify dashboard returns single record

* ci: update emqx-fvt version to new tag 1.0.2-dev1
2021-11-18 14:36:12 +08:00
JimMoen b3f9220d02 style: make elvis happy 2021-11-15 16:30:44 +08:00
JimMoen 106aa559e0 fix(api): DELETE success wrongly returned code 200 2021-11-15 16:30:44 +08:00