Commit Graph

836 Commits

Author SHA1 Message Date
Zaiming (Stone) Shi bb3dceb456
Merge pull request #9749 from keynslug/fix/count-respect-matchspec
fix(paging): respect matchspec even if qs is empty when counting
2023-01-13 14:29:03 +01:00
Zhongwen Deng f15b29b1ef chore: upgrade app version 2023-01-13 18:22:29 +08:00
Andrew Mayorov b3e62bd8f8
fix(paging): respect matchspec even if qs is empty when counting 2023-01-13 12:56:29 +03:00
Andrew Mayorov 33d88c95de
Merge pull request #9745 from keynslug/fix/EMQX-8702/changelog
chore: add changelog for the fuzzy search API fix
2023-01-13 11:59:37 +04:00
Andrew Mayorov 90e837783f
fix(paging): rename `partial` to `overflow` for clarity 2023-01-12 19:25:40 +03:00
firest c5f557e315 fix: disable basic auth for HTTP API 2023-01-12 21:35:49 +08:00
Andrew Mayorov 50c9321b9e
fix(api): anticipate empty set of nodes handling cluster query 2023-01-12 10:57:50 +03:00
Andrew Mayorov abf6f143e5
fix(paging): return subset of rows if page start is in the middle
This change should cover this example scenario where select ended
returning 4 rows.

Row 3
Row 4
Row 5 <- page start
Row 6

Here, only rows 5 and 6 should end up in the response. Before this
change some rows could be duplicated across adjacent search pages.
2023-01-12 10:57:50 +03:00
Andrew Mayorov e07aa2086b
fix(api): augment paged search responses with `hasnext` flag
This flag indicates whether there are more results available on the
next pages. It is needed in cases when the total number of search
results is not known in advance.

Also, in such cases there's no `count` field in responses anymore
because responding with `0` was confusing for clients: it's not possible
to differentiate between "there are no results" and "we don't know how
much".

Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2023-01-12 10:57:30 +03:00
zhongwencool e7d6d26186
Merge pull request #9713 from zhongwencool/api-keys-bootstrap-file
feat: introduce API keys bootstrap_file config
2023-01-11 11:30:45 +08:00
Zaiming (Stone) Shi 6bbb5edb53
Merge pull request #9667 from olcai/remove-clientid-in-publish-request-body
fix(mgmt_api): remove possibility to set clientid in /publish API
2023-01-10 22:31:35 +01:00
Erik Timan fb97096405 fix(mgmt_api): deprecate clientid field instead of removing it 2023-01-10 16:48:04 +01:00
Zhongwen Deng 5d4a1933a2 chore: add more test for api_key 2023-01-10 19:04:00 +08:00
Zhongwen Deng f6a47e5cf6 chore: support api_key.bootstrap_file config 2023-01-10 19:03:49 +08:00
Zhongwen Deng 142826c4c3 chore: limit the maximum number of api keys to 100 2023-01-10 19:03:39 +08:00
Shawn 73643e932f fix: bulk subscribe topics failed in the client.connected hook 2023-01-10 16:43:24 +08:00
Xinyu Liu 52343e58c7
Merge pull request #9703 from emqx/subscribe-api-function-clause
fix: missing default value for qos field of API /clients/:clientid/subscribe
2023-01-10 10:13:58 +08:00
Shawn 50717a5567 fix: set the topic field of API /clients/:clientid/subscribe as requried 2023-01-09 17:57:39 +08:00
Erik Timan 3319a8d28e fix(mgmt_api): remove possibility to set clientid in /publish API
To avoid security confusion, we remove the possibility to specify the
client ID in the request body for /publish and /publish/bulk.
2023-01-09 09:30:34 +01:00
Zaiming (Stone) Shi 8d53d154d9 refactor: remove license from configs API
license has its own config APIs
2023-01-09 09:16:19 +01:00
Shawn 7ed1384623 fix: missing default value for qos field of API /clients/:clientid/subscribe 2023-01-09 16:02:10 +08:00
JianBo He 5d55e3a7b3 chore: updage mgmt app vsn 2023-01-06 10:31:27 +08:00
JianBo He 65729cd640 fix(clients): fix expiry_interval unit error
It should be second not millisecond
2023-01-06 10:31:27 +08:00
Zaiming (Stone) Shi dbc10c2eed chore: update copyright year 2023 2023-01-02 09:22:27 +01:00
Zaiming (Stone) Shi 9e3da5b661 chore: bump app versions 2022-12-14 20:07:41 +01:00
Zaiming (Stone) Shi 42c58e2a91 Merge remote-tracking branch 'origin/release-50' into 1214-sync-master-upstreams 2022-12-14 15:29:13 +01:00
Stefan Strigler 6b22a074f0 refactor: move `/mqtt/sys_topics` to generic `/configs/sys_topics` 2022-12-12 13:25:42 +01:00
Stefan Strigler 2a27d2e781 fix: return 409 in case of duplicate 2022-12-09 13:33:34 +01:00
Stefan Strigler 1472cfefd0 fix: flip order of checks to return 404 before 400 2022-12-09 12:53:04 +01:00
Stefan Strigler 1f7c02ecf5 fix: return 400 if node in query doesn't look like a known node 2022-12-09 12:53:02 +01:00
Zaiming (Stone) Shi e1f09d9899 Merge remote-tracking branch 'origin/release-50' into 1208-merge-release-50-back-to-master 2022-12-08 14:27:01 +01:00
Zaiming (Stone) Shi 1c2fc4b6c3 Merge remote-tracking branch 'origin/release-50' into 1206-chore-merge-ee50-to-release-50 2022-12-06 16:35:56 +01:00
Stefan Strigler 1ba66fc722 docs: /trace returns list not single trace 2022-12-05 11:50:52 +01:00
Stefan Strigler f8dd8d652d docs: add swagger error codes for /trace/:name/[log|download] 2022-12-05 11:50:52 +01:00
Stefan Strigler 9100b13db6 docs: fix schema for /trace/:name/log 2022-12-05 11:50:52 +01:00
lafirest 4cc13c4aa5
Merge pull request #9133 from lafirest/fix/limiter_api
fix(limiter): add `limiter` back to the configs API
2022-12-02 10:06:03 +08:00
Erik Timan 28fc2b9ee9 fix(mgmt_api): add missing error codes in schema 2022-12-01 12:20:11 +01:00
firest 88a0c77707 fix(limiter): add `limiter` back to the configs API 2022-12-01 15:07:15 +08:00
Zaiming (Stone) Shi 311e4cd583
Merge pull request #9440 from zmstone/1128-chore-sync-release-branch-back-to-master
1128 chore sync release branch back to master
2022-11-29 11:47:01 +01:00
Zaiming (Stone) Shi b398617614 chore: bump app versions 2022-11-28 21:12:43 +01:00
Zaiming (Stone) Shi 77341e7a3c chore: bump app versions 2022-11-28 21:06:33 +01:00
Zaiming (Stone) Shi 7ee53e5319 Merge tag 'v5.0.11' into dev/ee5.0 2022-11-28 21:02:21 +01:00
Erik Timan 2582c1713e fix: emqx_topic:join/1 instead of filename:join/1
filename:join/1 doesn't work on Windows for joining a topic. We now use
emqx_topic:join/1 instead.
2022-11-28 11:00:18 +01:00
Erik Timan 95faf56077 feat: remove $queue in favor of $shared
This commit removes support for setting shared subscriptions with the
non-standard $queue feature. Shared subscriptions is now part of the MQTT
spec (using $shared) and we will only support that from now on.
2022-11-28 11:00:18 +01:00
Zaiming (Stone) Shi 6ee475d9b1 fix(emqx_authz_api_mnesia): return the right matchers 2022-11-24 20:32:00 +01:00
JianBo He edb35c08a8 chore: refactor ms2qs function type 2022-11-24 20:14:33 +01:00
JianBo He 9786a6c267 refactor(mgmt): convert fuzzy filter func to named func 2022-11-24 20:14:33 +01:00
JianBo He 6d9e1e0d7a test(mgmt): cover emqx_mgmt_api:cluster_query 2022-11-24 20:14:33 +01:00
JianBo He 79a2682fd3 chore: improve the no-conditions query 2022-11-24 20:14:33 +01:00
JianBo He 8a0c468b01 test: refine tests for lots of List HTTP API 2022-11-24 20:14:33 +01:00
JianBo He 09958d9a33 chore: fix diaylzer warnings 2022-11-24 20:14:33 +01:00
JianBo He 8f7337c9d2 chore: return undefined fuzzy searching func 2022-11-24 20:14:33 +01:00
JianBo He 28d391f26c fix(mgmt): collect total number in node_query/cluster_query 2022-11-24 20:14:33 +01:00
JianBo He 1fe9c105aa refactor(mgmt): smplify the node_query/cluster_query implementation 2022-11-24 20:14:33 +01:00
JianBo He 08121e7df6 fix(mgmt): optimize the speed of query tail pages
In the previous, when you query the tail pages, all the front of rows
will be queried out and formatted. It greatly hurts the speed of query.

Currently, we only format the final result rows. i.e, the query for the
last page of data will be 10x faster.
2022-11-24 20:14:33 +01:00
Stefan Strigler afcb33aa20 feat: support publish with properties 2022-11-23 17:04:35 +01:00
Zhongwen Deng 65820eb943 fix: can't get default raw config 2022-11-18 15:07:23 +08:00
Zaiming (Stone) Shi 09455edae8 Merge tag 'v5.0.10' into dev/ee5.0 2022-11-16 16:20:30 +01:00
firest d9e7d36580 chore: bump version && update changes 2022-11-14 09:45:38 +08:00
firest 2f4b2ba405 fix(mgmt_api): Convert only what is needed when parsing subscription information 2022-11-14 09:44:22 +08:00
Zaiming (Stone) Shi 30d9143b0e
Merge pull request #9310 from sstrigler/fix-configs-api-for-bad-nodes
fix(emqx_mgmt_api_configs): use 'node' query paramter if given
2022-11-08 18:10:43 +01:00
firest ebaba0c2b1 fix: Revert "feat(banned): clean retained/delayed data when client is banned"
This reverts commit 69701ff578.
2022-11-08 11:36:11 +08:00
Stefan Strigler 8b10b78bce fix(emqx_mgmt_api_configs): use 'node' query paramter if given
also fix result in error case - be compliant to schema and also return correct
http status code
2022-11-07 14:12:20 +01:00
firest 14c8b5ebb1 fix(mgmt): Ensure the CLI will not create useless atom
The log level, the log handler id and the listener id  all of them already exist,
so it's better to avoid the user create a useless atom by mistake input
2022-11-02 16:50:43 +08:00
lafirest 5886db08e0
Merge pull request #9279 from lafirest/fix/binary_to_atom
fix: use binary_to_existing_atom to replace some risky binary_to_atom
2022-11-02 10:57:05 +08:00
firest 60492615ba fix(API): Ensure that the node name is known 2022-11-01 17:28:34 +08:00
Thales Macedo Garitezi 12addc2118
Merge pull request #9230 from thalesmg/status-endpoint-alias-50
feat(mgmt): add alias endpoint for health check
2022-10-31 10:22:17 -03:00
Zhongwen Deng af79e652da chore: clear dialyzer warning. 2022-10-28 09:16:05 +08:00
Zhongwen Deng ea95f792e0 refactor: multicall node_info to improve /node speed 2022-10-28 09:14:33 +08:00
Thales Macedo Garitezi d0ca79fc9e feat(mgmt): add alias endpoint for health check
This allow use to reference `/status` in the API documentation without
manually editing the `swagger.json` file.
2022-10-27 13:20:04 -03:00
Thales Macedo Garitezi c72f3a0ae9
Merge pull request #9211 from thalesmg/fix-mgmt-endpoint-status-code-v50
fix(mgmt_api): return 503 when emqx is not running in `/status` (5.0)
2022-10-27 11:11:00 -03:00
Zaiming (Stone) Shi c157392452 docs: fix self-closing html tag, change </br> to <br/> 2022-10-27 13:57:18 +02:00
Thales Macedo Garitezi 0eca531e64 feat: add `retry-after` headers to unavailable response 2022-10-25 15:01:05 -03:00
Thales Macedo Garitezi 997a262c96 fix(mgmt_api): return 503 when emqx is not running in `/status` (5.0) 2022-10-24 14:53:41 -03:00
Zaiming (Stone) Shi 93195f7b5b chore: fix introduced_in for new proto APIs 2022-10-24 11:53:51 +02:00
Zaiming (Stone) Shi e3240b52a8 chore: bump app versions 2022-10-24 11:48:17 +02:00
Zaiming (Stone) Shi 508c0e84d0 Merge branch 'release-v50' into master 2022-10-24 11:46:31 +02:00
Zaiming (Stone) Shi d1332b72e7 feat(api/publish): return detailed publish results
Prior to this change, the publish API returns 200 in most of
the cases.
This change provides more insights to the publish result.

For single message publish endpoint (`publish/`):

HTTP error codes are:

200: Everything is OK
202: No subscriber for the topic
400: When mesage is invalid message.
     e.g. bad topic name or QoS out of range.
503: Failed to dispatch the message. e.g. during EMQX restart.

The response body is a JSON object with two fields
`message_id`, and `publish_result`.
The `message_id` is a globally unique ID for tracing.
`publish_result` is `"OK"` when the message is delivered
to at least one subscriber.
Otherwise `"no_subscriber"`.
`publish_result` may also be some other informative
message to hint the failure result, the content of which
may change in the future.

For `publish/bulk` endpoint:

200: When all message in the bulk are published OK
202: If at least one message in the bulk had `"no_subscriber"` result
400: When mesage is invalid message. e.g. bad topic name or
     QoS out of range.
503: When there is at least one message failed at dispatch.

The reply body is a list of JSON objects having the same layout
as for hte `publish` endpoint.
2022-10-20 20:03:27 +02:00
firest bdaadda479 fix(banned): fix nit code 2022-10-18 13:39:48 +08:00
firest 69701ff578 feat(banned): clean retained/delayed data when client is banned 2022-10-18 13:35:09 +08:00
Zhongwen Deng c0ed8b82aa Merge branch 'trace-log-detail-api' of https://github.com/zhongwencool/emqx into trace-log-detail-api 2022-10-17 09:49:55 +08:00
zhongwencool 77a5125366
chore: update apps/emqx_management/src/emqx_mgmt_api_trace.erl
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2022-10-17 09:45:00 +08:00
Zhongwen Deng 4d9cae0387 feat: get trace file's detail via /trace/:name/log_detail 2022-10-17 09:43:15 +08:00
Ivan Dyachkov f2db35db39 chore: delete unused function clause 2022-10-14 10:46:11 +02:00
Zaiming (Stone) Shi c2f176c1e7 fix(api): publish API only returns message ID 2022-10-14 09:49:46 +02:00
Zhongwen Deng 4579d7fff8 feat: get trace file's detail via /trace/:name/log_detail 2022-10-14 11:38:39 +08:00
JianBo He d43b680f14 chore: add comments to explain`/status` cant be found in swagger docs 2022-10-01 09:40:27 +08:00
JianBo He 7d7b05ae4e chore: update app.src 2022-09-30 23:32:23 +08:00
JianBo He a84c6f938c chore(swagger): caption tags name 2022-09-30 23:04:26 +08:00
Shawn dfe14be8b2 chore: bump app vsns 2022-09-26 18:23:28 +08:00
Shawn 4135910b42 chore: merge master into dev/ee5.0 2022-09-26 09:52:33 +08:00
zhouzb 2c7d518c19
Merge pull request #8851 from zhongwencool/denny-update-local-override-conf
feat: deny hot updates to the configuration in local-override.conf
2022-09-13 18:49:51 +08:00
Zaiming (Stone) Shi 4534966e36 Merge remote-tracking branch 'origin/master' into dev/ee5.0 2022-09-13 12:16:54 +02:00
firest 5ba31cb192 fix(api): add listener create API from `POST /listeners/{type:name}` to `POST /listeners`
Old:
    API: POST /listeners/{type:demo}
    Body: {"type" : "tcp", "id" : "tcp:demo"}
New:
    API: POST /listeners
    Body: {"type" : "tcp", "name" : "demo"}
2022-09-09 10:46:42 +08:00
firest 47b35f0c6a fix(api): add listener create API from `POST /listeners/{type:name}` to `POST /listeners`
Old:
    API: POST /listeners/{type:demo}
    Body: {"type" : "tcp", "id" : "tcp:demo"}
New:
    API: POST /listeners
    Body: {"type" : "tcp", "name" : "demo"}
2022-09-08 20:28:40 +08:00
zhongwencool 0e633f87b3
Merge branch 'master' into denny-update-local-override-conf 2022-09-08 17:17:07 +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
Zhongwen Deng 499da1ebe0 chore: add emqx_release:edition_longstr() 2022-09-06 15:46:18 +08:00
Zaiming (Stone) Shi 9408aeb719
Merge pull request #8420 from zmstone/0705-refactor-delete-unused-module
chore: delete unused schema module
2022-09-05 16:33:07 +02:00
Zhongwen Deng d73f22181d chore: fix dialyzer warning. 2022-09-05 15:02:50 +08:00
Zhongwen Deng 57cc880977 chore: change community to opensource 2022-09-05 14:27:47 +08:00
Zhongwen Deng d447659365 feat: add edition info to /nodes api 2022-09-05 11:29:49 +08:00
JimMoen d533e35df0 chore: update app vsn 2022-09-02 22:26:21 +08:00
Zhongwen Deng 1cb281fbc4 fix: return 503 if dashboard's router not ready 2022-08-31 15:45:54 +08:00
Zhongwen Deng 5718b28eeb feat: Deny hot updates to the configuration in local-override.conf 2022-08-31 14:55:10 +08:00
Zaiming (Stone) Shi 2eb078ff3b chore: bump changed app versions 2022-08-26 14:32:28 +02:00
zhouzb ecb79716ad
Merge branch 'master' into merge-506-to-master 2022-08-26 17:40:26 +08:00
JianBo He 97b9d378a5 Merge tag 'v5.0.6' into merge-506-to-master 2022-08-23 09:08:55 +08:00
ieQu1 ff0c44b67d refactor(emqx_management): Export transactions 2022-08-22 21:29:13 +02:00
JianBo He 7ffdd95aa3 chore: bind option support `:1883` style config
see: https://github.com/emqx/emqx/pull/8571
2022-08-19 11:12:17 +08:00
Zhongwen Deng 49b95b0aa8 chore: improve swagger tags 2022-08-17 23:32:19 +08:00
Zaiming (Stone) Shi 256cdd50ff chore: delete unused schema module 2022-08-17 08:33:15 +02:00
firest 48a761c406 fix(mgmt): fix `$queue` topic name error in this API return 2022-08-15 17:26:25 +08:00
firest dfa63ff3b1 fix(mgmt): remove the `will_msg` field from the client API 2022-08-15 10:22:18 +08:00
firest 01ba45cc37 fix(mgmt): remove the `/api/v5` prefix of status API 2022-08-08 17:34:18 +08:00
Zhongwen Deng fd7c97735d chore: make sure path is binary 2022-08-03 12:58:20 +08:00
Zhongwen Deng a19514f000 chore: bump emqx_management to 5.0.3 2022-08-03 12:34:30 +08:00
Zhongwen Deng 4869225395 chore: update Running/Stopped to running/stopped 2022-08-03 12:24:03 +08:00
JianBo He 257e310931 chore: ensure the `bind` output style
e.g:
- Configured as `1883`, printed as `:1883`
- Configured as `0.0.0.0:1883`, printed as `:1883`
- Configured as `127.0.0.1:1883`, printed as `127.0.0.1:1883`
- Configured as `::1:1883`, printed as `[::1]:1883`
- Configured as `[::1]:1883`, printed as `[::1]:1883`
2022-07-26 19:02:04 +08:00
JianBo He 53fda85c93 fix: conflicts resolving legacy 2022-07-26 11:10:40 +08:00
JianBo He bad82b29ce feat(gw): change the listeners api fields 2022-07-26 11:05:04 +08:00
JianBo He 2c71d27a89 feat(listeners): change the `GET /listeners` api fields 2022-07-26 11:04:33 +08:00
zhongwencool 80831a7593
Merge pull request #8563 from zhongwencool/titlecase-swagger-tags
chore: make sure swagger's tags always titlecase
2022-07-25 17:45:54 +08:00
Zhongwen Deng a3296078c3 chore: make sure swagger's tags always titlecase 2 2022-07-25 16:55:38 +08:00
zhongwencool cc63479e69 chore: update apps/emqx_management/src/emqx_mgmt_api_publish.erl
Co-authored-by: zhouzb <zhouzb@emqx.io>
2022-07-25 16:55:33 +08:00
zhongwencool 087a098d64 chore: update apps/emqx_management/src/emqx_mgmt_api_publish.erl
Co-authored-by: zhouzb <zhouzb@emqx.io>
2022-07-25 16:55:25 +08:00
Zhongwen Deng dd59c850e0 chore: make sure swagger's tags always titlecase 2022-07-25 16:09:17 +08:00
JianBo He e0b33dc258 fix(listener): support listen on ipv6 address 2022-07-25 09:31:16 +08:00
Zhongwen Deng f080715ce9 fix: ensure /listeners API return all node's status 2022-07-21 15:47:11 +08:00
Zhongwen Deng 26820ed0c4 chore: remove /configs/listeners, we should use /listeners/ API 2022-07-14 15:23:39 +08:00
DDDHuang 941440800b fix(cli): subscriptions with sub options, qos rh rap nl; admins response
data format
2022-07-13 15:55:07 +08:00
JimMoen 2ad99fca7a chore: update appup.src 2022-07-01 21:07:33 +08:00
DDDHuang 25c37a63ef
Merge pull request #8356 from DDDHuang/pubsub_api
Pubsub api
2022-07-01 17:24:18 +08:00
DDDHuang 07f8a93af3 fix: update mgmt bpapi version 2022-07-01 16:43:42 +08:00
firest 325997c592 fix(api): temporarily hide the limiter's API 2022-07-01 16:31:56 +08:00
DDDHuang 6c9cad366b fix(api): client sub & unsub batch 2022-07-01 15:21:11 +08:00
DDDHuang 4f95f097f7 fix: publish api rename param from - clientid 2022-07-01 09:19:19 +08:00
Zhongwen Deng 9768e302c2 chore: mv i18n.conf to emqx_dashboard/priv/ 2022-06-30 21:15:57 +08:00
Zhongwen Deng eb6977f23e fix: display The log path has not been set when can't find log_path 2022-06-30 21:15:57 +08:00
Zaiming (Stone) Shi 18f3920a73 feat: add --json option to 'emqx ctl cluster status' command 2022-06-23 21:59:11 +02:00
Zaiming (Stone) Shi a6f111798b fix(emqx_management): fix topics (routes) cli list command 2022-06-22 00:06:26 +02:00
JianBo He 5bde280b5f chore: update apps/emqx_management/src/emqx_mgmt_api_listeners.erl 2022-06-17 18:47:59 +08:00
JianBo He 03d3fc42c7 fix(mgmt): avoid to HTTP dispatch failure due to an URI defination conflict
Since we bave defined
- `listeners/{listener_id}/authentication` in emqx_authn_api.erl
- and `listeners/{id}/{action}` in emqx_mgmt_api_listeners.erl

The HTTP Router always dispatch the `.../authentication` request to `listeners/{id}/{action}`,
which cause a no_union_member checking error.

In this PR, we make a workaround to avoid this dispatch error
2022-06-17 18:17:25 +08:00
Zhongwen Deng 634a75341a fix: remove nonexistent listener should always return ok 2022-06-16 11:33:24 +08:00
Zhongwen Deng 36af3d066f feat: add enabled for listeners 2022-06-15 14:39:58 +08:00
Zaiming (Stone) Shi 01118cb804
Merge pull request #8195 from zmstone/0613-refactor-display-rfc3339
refactor: expose rfc3339 datetime string
2022-06-13 14:19:19 +01:00
Zaiming (Stone) Shi b18290626d
Merge pull request #8194 from zmstone/0613-uptime-format-as-string-in-cli-printout
fix: uptime display in CLI printout should be human-readable
2022-06-13 13:55:42 +01:00
Zaiming (Stone) Shi 10add62206 refactor: expose rfc3339 datetime string 2022-06-13 11:56:07 +02:00
Zaiming (Stone) Shi ba23771a0a fix: uptime display in CLI printout should be human-readable 2022-06-13 11:44:26 +02: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
Zhongwen Deng dd873147b3 feat: make tcp/ssl options more straightforward 2022-06-07 17:17:06 +08:00
Zaiming (Stone) Shi cd9811fe15
Merge pull request #8090 from zmstone/0531-fix-ensure-binary-from-size-format
fix: ensure bin-string returned from mgmt size format function
2022-05-31 14:09:31 +01:00
Zaiming (Stone) Shi a2db7226c9 fix(emqx_mgmt): return 0 for non-linux systems 2022-05-31 14:09:56 +02:00
Zaiming (Stone) Shi 6062bc248d fix: ensure bin-string returned from mgmt size format function 2022-05-31 11:04:09 +02:00
Zaiming (Stone) Shi eacd3847ed fix(emqx_mgmt): show used and total ram from lc 2022-05-27 14:04:30 +02:00
JianBo He 1867b86bad fix(mgmt): return null instead of "undefined" string 2022-05-12 19:26:14 +08:00
Zhongwen Deng f0cb72dda6 fix: telemetry can't get active plugins list 2022-05-12 11:18:44 +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
Zhongwen Deng 7c65d7159b feat: add node query_string to download logs for specific nodes 2022-05-11 23:19:06 +08:00
firest c9227703fc fix(listener): when update listener conf, should override limiter config not merge 2022-05-11 14:00:54 +08:00
DDDHuang 76102714aa fix: node info, log path only path 2022-05-10 18:00:09 +08:00
Zhongwen Deng 2371604589 fix: infinity means never expire 2022-05-09 14:43:37 +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
firest acba1626f6 fix(mgmt): change the argument position of limiter APIs 2022-05-06 16:37:53 +08:00
firest b394d18852 fix(listeners): add limiter info into the listener config 2022-05-06 13:33:03 +08: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
firest f2e7563b0c feat(limiter): add limiter view/update api 2022-05-05 13:08:33 +08:00
JianBo He 7813f402c6 feat(api-clients): return client mountpoint property 2022-05-03 16:52:38 +08:00
Zhongwen Deng cf9a853069 fix: delete duplicate clientid/username 2022-04-29 16:33:49 +08:00
Zhongwen Deng bfdd86b3fd fix: reset config not work in cluster 2022-04-29 11:45:22 +08:00
Zhongwen Deng 35d066e3d5 fix: delete plugin from configure when uninstall 2022-04-29 00:55:21 +08:00
Zhongwen Deng e8cead48b2 fix: bad plugin file crash 2022-04-28 14:26:25 +08:00
zhongwencool 6825aa66fc
Merge pull request #7780 from zhongwencool/log-bug-fix
fix: make logger config more friendly 🤖
2022-04-27 19:42:20 +08:00
DDDHuang c4416fb2ff
Merge pull request #7773 from DDDHuang/app-exp
feat: app api support show expired
2022-04-27 17:01:22 +08:00
Zhongwen Deng 55be66a5eb feat: add self node to /cluster 2022-04-27 13:55:42 +08:00
firest d9c3cf5c97 fix(mgmt): add subscribe options in client subscribe API 2022-04-27 12:52:52 +08:00
firest 8d01e8a697 fix(mgmt): add subscribe options into the result of the client subscriptions API 2022-04-27 12:52:52 +08:00
firest 6b84016259 fix(mgmt): add subscribe options into the result of the /subscriptions API 2022-04-27 12:52:52 +08:00
DDDHuang 0d335456a9 feat: app api support show expired 2022-04-27 11:15:14 +08:00
Xinyu Liu a9c6f93b48
Merge pull request #7772 from DDDHuang/dash_format
chore: dashboard code format
2022-04-27 10:33:44 +08:00
Zaiming (Stone) Shi bf3acaaaee
Merge pull request #7760 from zmstone/0425-5.0-improve-app-secret-randmisation
fix(emqx_mgmt_auth): better randomisation of app secrets
2022-04-26 11:37:35 +01:00
DDDHuang 07444e3da5 chore: dashboard format code 2022-04-26 17:18:30 +08:00
Zaiming (Stone) Shi 5ecc427dce fix(emqx_mgmt_auth): better randomisation of app secrets
change from timestamp seeded hash (uuid) to crypto:strong_rand_bytes
2022-04-25 17:53:33 +02:00
DDDHuang 40560230db fix: create banned & dashboard default user name 2022-04-25 18:27:24 +08:00
JimMoen e9843aa225 fix(doc): html line break use `</br>` 2022-04-24 18:56:21 +08:00
Zhongwen Deng 5223c3ee61 feat: obfuscate sensitive values default_password 2022-04-24 09:41:29 +08:00
DDDHuang 39d83b95f4 fix: bad log path 2022-04-21 18:33:37 +08:00
Zhongwen Deng 8a322f1548 feat: support clean pem_cache cli 2022-04-20 22:05:38 +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 17ef987d25 fix: add proxy_protocol_timeout/access_rules default value 2022-04-20 09:54:09 +08:00
Zhongwen Deng f8a2831c5d fix: xref/dialyzer warning 2022-04-20 02:52:31 +08:00
Zhongwen Deng c70462f287 chore: reformat mgmt 2022-04-20 02:52:31 +08:00
Zhongwen Deng 2b73a80dba refactor: simplify updating the listener 2022-04-20 02:52:19 +08:00
JimMoen cc220694fd
Merge pull request #7628 from JimMoen/refine-authn-authz-api-fields
refine authn/authz api fields
2022-04-19 22:44:30 +08:00
JimMoen bf54f571fb style: erlfmt emqx_management 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
JianBo He ba24f0309d
Merge branch 'master' into hot-confs-sys-topics-limiter 2022-04-19 17:38:49 +08:00
DDDHuang 39d3d6a3d3 fix: auto sub & banned & topics rewrite, add required 2022-04-19 17:08:19 +08:00
Zhongwen Deng aa7807baeb chore: reformat mgmt code. 2022-04-19 14:02:39 +08:00
Zhongwen Deng 0de367dc63 feat: Make api_listener align with gateway and remove unused APIs. 2022-04-19 10:42:08 +08:00
JimMoen 9998b613c8 refactor: mgmt rm `generate_response/1` 2022-04-19 10:39:10 +08:00
Zhongwen Deng 929d043677 chore: fix elvis warning atom_naming_convention. 2022-04-18 22:09:03 +08:00
DDDHuang f5c5e1f96e fix: bad code format 2022-04-18 20:20:24 +08:00
DDDHuang 17aa81a04f fix: add alarms & banned desc 2022-04-18 20:11:53 +08:00
JianBo He 65eae13e0b chore: make prop pass 2022-04-18 18:37:52 +08:00
JimMoen 6da1302acd feat: clean up all authz cache api 2022-04-18 16:46:13 +08:00
JianBo He 7c931e4dc6 fix(sys): fix bad swagger example format 2022-04-18 15:43:10 +08:00
JianBo He 59c41c7c6e feat(sys): add sys_topics http api 2022-04-18 15:32:34 +08:00
DDDHuang 82ce6ae9f9 fix: bad integer, bad qos; TODO: gateway api * 2 2022-04-16 16:37:10 +08:00
DDDHuang 1edf9fd086 chore: rm some useless mgmt func 2022-04-13 16:16:13 +08:00
DDDHuang b8e2c76382 fix: remove routes 2022-04-13 16:16:12 +08:00
Zhongwen Deng 5acf19a947 chore: add invite_node/2 bpapi 2022-04-11 15:32:49 +08:00
Zhongwen Deng 7799600271 feat: add api_cluster api. 2022-04-09 16:56:47 +08:00
Zhongwen Deng a8386adea3 fix: list listeners cli not working 2022-04-08 09:47:06 +08:00
Zhongwen Deng 1664438b4f fix: dialyzer warning. 2022-04-08 09:47:06 +08:00
Zhongwen Deng 63d6682a7d feat: refactor api_listeners api 2022-04-08 09:47:06 +08:00
DDDHuang 7569aaff42 fix: publish api support hocon & params check 2022-04-07 15:23:04 +08:00
Ilya Averyanov f4e4331556 chore(emqx_mangement): improve emqx_mgmt_api_nodes coverage 2022-04-04 23:39:53 +03:00
zhouzb 9820728e5c
Merge pull request #7351 from JimMoen/fix-authz-api-pem-check
fix authz api flaky status code.
2022-03-21 20:55:36 +08:00
Zhongwen Deng 2c879b7e13 chore: simplify nest case function 2022-03-21 17:56:22 +08:00
Zhongwen Deng 18886f657b feat: add emqx_config_logger. 2022-03-21 17:56:22 +08:00
JimMoen 0ee3e49db7 chore: rm unused macro and func, fix unchanged product name 2022-03-21 16:43:08 +08:00
JimMoen 188d876b1c fix(api): fix unmatched position parsing 2022-03-21 16:43:08 +08:00
Zhongwen Deng 9c355994e9 fix: add apps error code. 2022-03-16 17:20:26 +08:00
JimMoen 02ed2148d7 refactor: move api `top` -> `front`, `bottom` -> `rear` 2022-03-15 10:28:46 +08:00
DDDHuang e67138a6a7 fix: trace data dir suffix 2022-03-14 16:15:53 +08:00
zhongwencool f0f03d8a96
Merge pull request #6566 from zhongwencool/plugin-http-api
Plugin http api
2022-03-14 09:17:11 +08:00
Zhongwen Deng f195808691 fix: rpc call use emqx_bpapi behavior 2022-03-11 21:28:33 +08:00
Zhongwen Deng fd7f91b5a6 chore: fix dialyzer warning. 2022-03-11 18:41:20 +08:00
zhongwencool 0f681f6a08 feat(plugin): add plugin http api test case 2022-03-11 15:55:02 +08:00
zhongwencool 7160bc06b3 feat(plugin): add plugin http api 2022-03-11 15:55:02 +08:00
zhongwencool dcc0ff673f fix(plugin): can't delete extra package 2022-03-11 15:55:02 +08:00
zhongwencool 1ef2b8d06c chore(test): delete plugin_template from plugins_SUITE 2022-03-11 15:55:02 +08:00
zhongwencool 3414e0b601 feat(plugin): http api 2022-03-11 15:55:02 +08:00
Zhongwen Deng 3938aa127b feat: add /configs/global_zones API to aggregate emqx_zone_schema 2022-03-11 15:27:40 +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
zhongwencool 2ac5fb9223
Merge pull request #7202 from DDDHuang/routes_honc
fix(api): routes api hocon support
2022-03-08 22:35:37 +08:00
zhongwencool a5b2300ce4
Merge pull request #7236 from zhongwencool/config-api
feat(config): Filter unnecessary HTTP APIs
2022-03-08 22:33:45 +08:00
Zhongwen Deng ef5fcd388b chore: delete unuse function gen_conf_schema. 2022-03-08 14:22:56 +08:00
Zhongwen Deng 1244391cb7 fix: alarm crash when safe_publish not ready. Filter out unnecessary APIs 2022-03-08 14:14:54 +08:00
Xinyu Liu c5f92ef856
Merge branch 'master' into improve_rule_bridge_apis 2022-03-08 11:12:30 +08:00
Shawn 8a0565a53b chore(elvis): please the elvis 2022-03-08 11:11:29 +08: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 9b00f2756b feat: Make sure that Specify Key and ?WKEY cannot be on the same level. 2022-03-07 21:48:31 +08:00
Shawn 9a9c92ae88 fix: update testcases for emqx_bridge 2022-03-07 16:48:36 +08:00
DDDHuang 467dc7239e fix: rebase master & new code style 2022-03-07 09:41:32 +08:00
JimMoen f25da61f39 refactor(mgmt): `Params` => `QString`, `QsScheam` => `QSchema` 2022-03-04 11:14:03 +08:00
JimMoen f8073002b6 fix(mgmt): better desc for fuzzy field 2022-03-04 10:06:36 +08:00
Zaiming (Stone) Shi 4e64010a3b build: more structured build info 2022-03-02 21:22:03 +01:00
DDDHuang 384d508b13 fix(test): add status api test suite 2022-02-28 17:54:05 +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
JimMoen 806cf3719b refactor(api): api_nodes spec use dashboard_swagger 2022-02-24 11:33:10 +08:00
JimMoen 7eb3c0d4e5
Merge pull request #7099 from HJianBo/swagger_api_mgmt_metrics
refactor(mgmt): refactor api_metrics with dashboard_swagger
2022-02-23 16:34:14 +08:00
JianBo He 4b04dfa85f fix(mgmt): fix api_metrics case_clause
Co-authored-by: JimMoen <LnJimMoen@outlook.com>
2022-02-23 15:45:21 +08:00
DDDHuang a5d8f2ce3b fix(api): banned api error code format 2022-02-22 17:14:35 +08:00
DDDHuang 90ee450a84 feat: support http error code & error code api 2022-02-22 17:14:35 +08:00
JianBo He 42da72309a refactor(mgmt): refactor api_metrics with dashboard_swagger 2022-02-22 16:56:14 +08:00
Zaiming (Stone) Shi 1be3eb1446 chore: rename EMQX Broker to just EMQX 2022-02-19 12:51:34 +01:00
Zaiming (Stone) Shi 8f203696ed refactor(emqx_mgmt_api_nodes): delete config_path
config path is not always relative to file:get_cwd.
also rephrase some of the descriptions
2022-02-17 21:15:03 +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
zhongwencool 498434826a feat(schema): schema support epoch_second, epoch_millisecond type. 2022-02-14 11:35:32 +08:00
DDDHuang 5d17bd8441 fix(api): auto subscribe api hocon support 2022-02-10 15:40:12 +08:00
DDDHuang 29790a0c1e fix(test): ifdb test SUITE & version compatibility 2022-02-10 10:33:39 +08:00
DDDHuang fbb8f46fcd fix(api): qos shcema & code formate 2022-02-10 10:33:39 +08:00
DDDHuang 471e867bf3 fix(api): rename client info recv_msg.dropped.await_pubrel_timeout 2022-02-10 10:33:25 +08:00
Shawn 9118cfb4ad fix(connection): revert metric names for 'recv_msg.dropped.await_pubrel_timeout' 2022-02-09 15:41:28 +08:00
Shawn 2879001694 fix(metrics): rename metrics 'messages.dropped.expired' to 'messages.dropped.await_pubrel_timeout' 2022-02-08 17:14:59 +08:00
Shawn 06168f7080 refactor(session): pass ClientInfo as first params to APIs of emqx_session 2022-02-08 16:52:47 +08:00
k32 1127057291 fix(emqx_mgmt): Fix network graph 2022-01-28 13:39:27 +01:00
JimMoen 05d6c40717
Merge pull request #6848 from JimMoen/refactor-api
refactor api swagger spec via hoconsc
2022-01-26 09:49:23 +08:00
JimMoen 4e9e95c317 fix(swagger): spec remove needless description, fix property name 2022-01-25 15:52:13 +08:00
JimMoen d3381710cd refactor(api): mgmt_status (node running status) swagger spec 2022-01-25 12:22:26 +08:00
JimMoen 8eb7bf261c refactor(api): mgmt_stats (node internal stats) swagger spec 2022-01-25 12:22:26 +08:00
DDDHuang e07ecd5211 fix(api): client subscriptions formatter fun bad match 2022-01-25 11:18:01 +08:00
DDDHuang 6b020b4a01 fix(api): query client subscriptions from cluster empty check 2022-01-25 10:56:56 +08:00
DDDHuang 5001852c6f
Merge pull request #6812 from DDDHuang/bad_spec
fix(api): emqx mgmt api clients bad schema
2022-01-21 09:39:45 +08:00
DDDHuang 42580ab298 fix(api): emqx_mgmt_api_clients bad schema 2022-01-20 16:32:02 +08:00
zhongwencool 5bbe2ec1c6
Merge pull request #6766 from zhongwencool/fix-trace-api-return
fix(trace): create_trace return new trace; delete_trace return 204
2022-01-20 10:41:45 +08:00
k32 a469c466a6 test(emqx_mgmt): Exempt do_query function from BPAPI static check 2022-01-19 16:48:53 +01:00
k32 97078002f2 refactor(emqx_cm): Decorate RPCs 2022-01-19 16:48:53 +01:00
k32 5a9f289f1c
Merge pull request #6801 from k32/bpapi-mgmt3
refactor(emqx_mgmt): Decorate get_full_config RPC
2022-01-19 14:42:20 +01:00
k32 80e8790482
Merge pull request #6799 from k32/bpapi-fix-format
fix(emqx_mgmt): Fix formatting of client stats
2022-01-19 14:32:10 +01:00
k32 6940a41743 refactor(emqx_mgmt): Decorate get_full_config RPC 2022-01-19 13:25:50 +01:00
k32 da8b424ff2 fix(emqx_mgmt): Fix formatting of client stats
Fixes: #6798
2022-01-19 12:04:14 +01:00
DDDHuang e7dd401de9
Merge pull request #6776 from DDDHuang/client_metrics_5x
feat(metrics): client metrics with more detail
2022-01-19 13:36:57 +08:00
DDDHuang 3a80baa087 fix(api): clients api docs 2022-01-19 10:21:09 +08:00
k32 4e9fb00a0e refactor(mgmt_trace): Decorate RPCs 2022-01-18 16:46:32 +01:00
k32 2ccf02cea9 refactor(emqx_mgmt): Decorate RPCs 2022-01-18 14:07:02 +01:00
DDDHuang f87f80f6e4 feat(metrics): client metrics with more detail 2022-01-18 11:28:41 +08:00
zhongwencool 75ad2ba65c fix(trace): create_trace return new trace; delete_trace return 204 2022-01-18 09:34:36 +08:00
k32 52441c92fa
Merge pull request #6758 from k32/bpapi-mgmt
refactor(emqx_mgmt): Decorate RPCs
2022-01-17 11:12:02 +01:00
k32 428eeeffc0 refactor(emqx_cm): Move lookup_client/1 to emqx_cm 2022-01-14 16:45:14 +01:00
k32 288f9254ba refactor(emqx_mgmt): Decorate RPCs 2022-01-14 15:41:10 +01:00
JianBo He e9e559ccd0 test: more code coverage for emqx_gateway_api_clients 2022-01-14 10:48:56 +08:00
JianBo He fcc0d4a2e4 chore: client searching support \[]()* chars 2022-01-10 09:07:53 +08:00
zhongwencool 0ec111d4e0 fix(test): flaky emqx_connector_api_SUITE test case. 2022-01-07 14:45:47 +08:00