firest
18043150be
fix: cannot access columns exported by FOREACH in DO clause
2023-05-17 10:55:47 +08:00
Ilya Averyanov
c113a8ac6a
Merge pull request #10677 from savonarola/0511-fix-rule-api
...
fix(api): respond 404 on the deletion of nonexistent rule
2023-05-16 16:50:30 +03:00
Zaiming (Stone) Shi
a0454b9417
Merge pull request #10674 from zmstone/0511-feat-support-rule-engine-eval
...
Add an experimental feature: support external rule-engine SQL functions
2023-05-16 10:55:00 +02:00
Zaiming (Stone) Shi
3c64735b87
feat(rule_engine): support external SQL function provider
2023-05-15 08:58:40 +02:00
JianBo He
383fec9dfc
docs: fix invalid links
2023-05-15 11:18:09 +08:00
Ilya Averyanov
49e9ace1c1
fix(api): respond 404 on the deletion of nonexistent rule
2023-05-11 23:12:59 +05:00
某文
6056b0e7a8
fix: ensure atom key for emqx_config:get
2023-05-11 17:40:03 +08:00
Zhongwen Deng
bcc8f4313b
chore: make plugins config to low level
2023-04-20 18:00:19 +08:00
Kjell Winblad
7d3367467a
Merge pull request #10408 from kjellwinblad/kjell/rule_engine/add_missing_mongo_date_functions/EMQX-9244
...
feat: add mongo_date functions to the rule engine
2023-04-20 09:46:45 +02:00
Ivan Dyachkov
dc78ecb41c
chore: merge upstream/master
2023-04-18 17:33:32 +02:00
某文
fbadfc06e4
feat: change exhook, rule_engine, bridge to low importance level instead of hidden
2023-04-18 20:15:19 +08:00
Kjell Winblad
29584ca721
feat: add mongo_date functions to the rule engine
...
This commit adds mong_date built-in functions to the rule engine
SQL-like language. Corresponding functions already existed in EMQX 4.4
and this commit makes sure that EMQX 5.X also has these functions.
Fixes:
https://emqx.atlassian.net/browse/EMQX-9244
2023-04-18 10:01:35 +02:00
Kjell Winblad
0c727fc9b2
Merge pull request #10392 from kjellwinblad/kjell/rule_engine/add_missing_datetime_function/EMQX-9245
...
freat: add date_to_unix_ts/3 function to the rule engine
2023-04-17 18:09:44 +02:00
Zaiming (Stone) Shi
18974a8e11
refactor: make schema dump and swagger spec work with split desc files
2023-04-17 13:58:11 +02:00
Kjell Winblad
37f42a486c
test: improve proper test so it generates more cases
2023-04-17 12:03:13 +02:00
Ivan Dyachkov
9fc8a498f8
chore: bump apps versions
2023-04-17 09:09:08 +02:00
zhongwencool
494ffe86ad
Merge branch 'master' into conf-refactor
2023-04-15 06:40:38 +08:00
Zhongwen Deng
8facd130f6
chore: update cluster_hocon_file/0 function
2023-04-14 23:19:38 +08:00
Stefan Strigler
062ce5f819
refactor: rename emqx_map_lib to emqx_utils_maps
2023-04-14 13:41:34 +02:00
Stefan Strigler
9c11bfce80
refactor: rename emqx_misc to emqx_utils
2023-04-14 13:41:27 +02:00
Stefan Strigler
f8e9e54393
refactor: move emqx_json to emqx_utils_json
2023-04-14 13:31:27 +02:00
Kjell Winblad
a66d01d6f0
style: remove code duplication
...
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2023-04-14 12:48:03 +02:00
Kjell Winblad
d3ccd8a65d
feat: add date_to_unix_ts/3 function to the rule engine
...
Fixes:
https://emqx.atlassian.net/browse/EMQX-9245
2023-04-13 16:14:03 +02:00
Zhongwen Deng
cc2beda37a
feat: hiden rule_engine/bridge/authz/authn from doc/example
2023-04-13 14:42:21 +08:00
Ivan Dyachkov
bdffa925db
chore: merge upstream/master release-50
2023-04-12 15:30:20 +02:00
Stefan Strigler
f668ad7b9e
Merge pull request #10336 from sstrigler/EMQX-8507-rule-engine-need-a-new-api-to-crud-rule-engines-setting-configs
...
feat: add `/rule_engine` API endpoint
2023-04-12 11:44:42 +02:00
Thales Macedo Garitezi
914184697e
Merge pull request #10337 from thalesmg/schema-registry-v50
...
feat: implement schema registry for 5.0 (avro)
2023-04-11 16:46:27 -03:00
Stefan Strigler
e6f8682c47
fix: ensure we don't return 'rules' in rule_engine
2023-04-11 15:42:56 +02:00
Stefan Strigler
8ef36f29ce
fix: add 'rule_engine' as possible tag() value for spec
2023-04-11 12:03:42 +02:00
Stefan Strigler
b48fb17f4a
fix: CHECK_PARAMS macro defines unused var
2023-04-11 12:03:42 +02:00
Thales Macedo Garitezi
33100ecca6
feat: implement schema registry for 5.0 (avro)
...
Part of https://emqx.atlassian.net/browse/EMQX-9251
This ports part of the Schema Registry app from 4.x to 5.0. Here,
only support for Avro is added. Subsequent PRs will follow to add
support for other formats.
2023-04-06 16:28:45 -03:00
Thales Macedo Garitezi
4c24b08244
fix(rule_action): fix metrics for bridges returning `async_return`
...
Kafka Producer, when called asynchronously, will return
`{async_return, {ok, pid()}}`, which currently counts as an unknown failure.
2023-04-06 16:00:01 -03:00
Kjell Winblad
1938882f16
Merge pull request #10318 from kjellwinblad/kjell/feat/rule_engine_from_clause_support_both_string_types
...
feat(rule engine sql): enable both ' and " strings in FROM clause
2023-04-06 09:19:44 +02:00
Stefan Strigler
b799af1f71
fix: don't create virtual type "rule_engine_api"
2023-04-05 16:46:19 +02:00
Stefan Strigler
9cfe9cc709
fix: don't allow `rules` to be set from `/rule_engine`
2023-04-05 16:28:54 +02:00
Serge Tupchii
9810c9f7e3
refactor(rule_engine): test 'ok' results in one dedicated function
2023-04-05 16:55:43 +03:00
Stefan Strigler
5cd8865a93
fix: deprecate and hide jq_implementation_module
2023-04-05 15:34:42 +02:00
Stefan Strigler
aea870f319
feat: add `/rule_engine` API endpoint
2023-04-05 15:19:31 +02:00
Zaiming (Stone) Shi
a9bf633e03
Merge pull request #10320 from zmstone/0403-sync-release-50-back-to-master
...
0403 sync release 50 back to master
2023-04-04 23:31:24 +02:00
Zaiming (Stone) Shi
68c15ffd48
Merge remote-tracking branch 'origin/release-50' into 0403-sync-release-50-back-to-master
2023-04-04 16:42:58 +02:00
Serge Tupchii
aca65ca2d4
fix(rule_engine): don't increment unknown counter on unrecoverable errors
...
Closes: EMQX-8786
2023-04-04 15:59:53 +03:00
Kjell Winblad
0e66eb5f3f
feat(rule engine sql): enable both ' and " strings in FROM clause
...
This commit upgrades the rulesql dependency to version 1.5 instead of
1.4. The difference between these two versions is that strings surrounded
by ' and " are supported in FROM clauses in version 1.5, but in version
1.4, only strings surrounded by " are supported.
Fixes:
https://emqx.atlassian.net/browse/EMQX-9243
2023-04-04 10:36:48 +02:00
Thales Macedo Garitezi
f3ffc02bff
feat(bridges): enable async query mode for all bridges with buffer workers
...
Fixes https://emqx.atlassian.net/browse/EMQX-9130
Since buffer workers always support async calls ("outer calls"), we
should decouple those two call modes (inner and outer), and avoid
exposing the inner call configuration to user to avoid complexity.
For bridges that currently only allow sync query modes, we should
allow them to be configured with async. That means basically all
bridge types except Kafka Producer.
2023-04-03 14:49:51 -03:00
Zaiming (Stone) Shi
36000abf51
refactor: relocate i18n files for apps/emqx
2023-04-03 13:12:24 +02:00
Zaiming (Stone) Shi
9bbca07943
Merge pull request #10298 from emqx/release-50
...
Merge release-50 back to master
2023-03-31 15:35:51 +02:00
Zaiming (Stone) Shi
80eb9d7542
Merge pull request #10252 from emqx/release-50
...
0327 merge release-50 to master
2023-03-29 12:33:17 +02:00
Thales Macedo Garitezi
64faccf50b
test: fix flaky kafka consumer test
2023-03-28 14:50:55 -03:00
Thales Macedo Garitezi
d126c7dc62
refactor(rule_engine): use more helper functions
...
Follow up to
https://github.com/emqx/emqx/pull/10251#discussion_r1150710899 and
https://github.com/emqx/emqx/pull/10251#discussion_r1150720420
2023-03-28 13:46:56 -03:00
Thales Macedo Garitezi
1824e7efcc
fix(rule_engine): count referenced bridges in `from` clauses as dependencies (rv5.0)
...
Fixes https://emqx.atlassian.net/browse/EMQX-9325
Currently, ingress bridges referenced in the `FROM` clause of rules
are not being accounted as dependencies.
When we try to delete an ingress bridge that's referenced in a rule
like `select * from "$bridges/mqtt:ingress"`, that bridge does not
trigger an UI warning about dependent actions.
2023-03-28 10:31:10 -03:00
Zaiming (Stone) Shi
f5e9d3eab2
test: use valid config for jq function timeout
2023-03-28 14:29:24 +02:00
Zaiming (Stone) Shi
dd996ad1dc
chore: bump app vsns
2023-03-24 21:47:15 +01:00
Zaiming (Stone) Shi
9870f4834e
Merge pull request #10179 from kjellwinblad/kjell/fix/rule_engine_app_readme
...
docs: refine README.md for the emqx_rule_engine app
2023-03-24 08:28:11 +01:00
Stefan Strigler
981268911a
style: make summary lower-case
2023-03-21 16:56:37 +01:00
Kjell Winblad
89782e6d21
docs: add info about that rule engine can handle different types of structured data
...
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2023-03-21 06:26:04 +01:00
Kjell Winblad
08e249dc4d
docs: refine README.md for the emqx_rule_engine app
...
This commit adds more content to the readme file of the `emqx_rule_engine`
app. The aim of the changes are to make it easier to understand what the
rule engine is and what it does.
Fixes:
https://emqx.atlassian.net/browse/EMQX-9229
2023-03-20 16:53:55 +01:00
ieQu1
e3595f2e79
chore(mria): Bump version to 0.4.0
2023-03-11 00:37:25 +01:00
JimMoen
842cb7fadc
fix: debug log for rulesql parse failed
...
See also: PR#10059.
The other error logs will be printed in `emqx_rule_runtime:apply_rule/3`
2023-03-09 11:28:27 +08:00
Ivan Dyachkov
c01f62a1c1
chore: bump apps versions
2023-03-03 13:58:32 +01:00
Stefan Strigler
6ebd3dc747
feat(emqx_rule_engine): decompose error tuples
...
sqltester for instance returns sth like {"...sytnax error...", OrigSql}
2023-03-03 09:59:24 +01:00
Stefan Strigler
44eca1fa72
fix(emqx_rule_engine): don't crash if we can't encode json
2023-03-03 09:36:13 +01:00
Stefan Strigler
64b5e9585e
feat(emqx_rule_engine): API format errors in a human readable way
2023-03-02 16:49:11 +01:00
Zaiming (Stone) Shi
9316690c29
fix(schema): binary string for default values
...
A lot of the string value fields had default value defined in
schema as list-string rather than binary-string.
This caused the generated schema dump (in JSON format)
to have raw_default field as an integer array.
2023-02-21 09:09:51 +01:00
ieQu1
d9554c36ac
chore: Bump umbrealla app versions
2023-02-17 09:50:50 +01:00
ieQu1
794bedef9f
fix(emqx_ctl): Start CLI before ekka
2023-02-17 09:50:50 +01:00
Zaiming (Stone) Shi
157c919ba1
ci: add i18n style check script
2023-02-09 11:41:52 +01:00
Andrew Mayorov
ce2dba15b4
feat: turn tables queried with search APIs into ordered sets
...
This is needed to ensure more or less consistent client experience
for the new planned cursor-based search APIs.
2023-01-16 15:39:10 +03:00
Zaiming (Stone) Shi
7073c62dd9
feat: add a 'this' for rule engine put env
...
now a dot is allowed in front of a var (path)
e.g. ${.clientid} is equivalent to ${clientid}
${.} however, means everything.
the parsed var is interally represented as $_THIS_
to make it easier to read/search.
2023-01-14 11:03:58 +01:00
Zhongwen Deng
f15b29b1ef
chore: upgrade app version
2023-01-13 18:22:29 +08:00
zhongwencool
0049b4a294
Merge branch 'master' into release-50
2023-01-13 16:39:35 +08:00
Thales Macedo Garitezi
48e1ba4832
feat(docs): add tags to schemas
...
This'll allow us to split the generated `schema.json` file into
subsections for better documentation navigation.
2023-01-11 09:10:03 -03:00
Zhongwen Deng
fdc0682c3f
fix: elvis warning
2023-01-11 17:30:45 +08:00
Thales Macedo Garitezi
eb7dca3691
chore(rule_engine): reset metrics when disabling a rule
...
https://emqx.atlassian.net/browse/EMQX-8502
When a bridge is disabled, its metrics are reset. With this change,
we make rule actions behave like that: disabling a rule will reset its
metrics.
2023-01-04 09:30:47 -03:00
Zaiming (Stone) Shi
dbc10c2eed
chore: update copyright year 2023
2023-01-02 09:22:27 +01:00
JimMoen
4906da9796
test(rule-funcs): test compression funcs
2022-12-19 15:43:50 +08:00
JimMoen
5151242583
feat(rule-engine): `zip`, `gzip`, `zip_compress` funcs in rule-sql
2022-12-19 15:43:50 +08:00
Zaiming (Stone) Shi
bd65e8aad6
Merge remote-tracking branch 'origin/release-50' into 1206-chore-merge-ee50-to-release-50
2022-12-06 16:42:50 +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
0b324da7cb
refactor: move metrics out of /rules(/:id) to /rules/:id/metrics
2022-12-06 15:23:28 +01:00
Zaiming (Stone) Shi
cca3421308
refactor: use static function references
2022-12-06 09:40:03 +01:00
Zaiming (Stone) Shi
b398617614
chore: bump app versions
2022-11-28 21:12:43 +01:00
Zaiming (Stone) Shi
7ee53e5319
Merge tag 'v5.0.11' into dev/ee5.0
2022-11-28 21:02:21 +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
b9c5a5f822
fix(delayed): return correct node name
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
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
Zaiming (Stone) Shi
f3df2c80d8
feat: add user_properties arg for republish action
2022-11-22 20:09:59 +01:00
kraftwerk28
00c57de4c3
feat: do not drop MQTTv5 properties in rule/bridge
2022-11-22 20:09:59 +01:00
Zaiming (Stone) Shi
c940b901f5
chore: fix app versions
2022-11-16 16:26:43 +01:00
Zaiming (Stone) Shi
09455edae8
Merge tag 'v5.0.10' into dev/ee5.0
2022-11-16 16:20:30 +01:00
JimMoen
4f00206693
test: different resons for disconnect event
2022-11-08 23:22:58 +08:00
Zaiming (Stone) Shi
d704de4a84
fix(emqx_rule_events): drop tuple-value from message headers
...
the message headers are fed to a JSON ecnoder which
may crash if the header value is a tuple
2022-10-27 20:31:33 +02:00
Zaiming (Stone) Shi
a314950be9
docs: fix zh punctuations
2022-10-26 16:19:38 +02:00
Shawn
4135910b42
chore: merge master into dev/ee5.0
2022-09-26 09:52:33 +08:00
Kjell Winblad
9ea0147a8c
feat(rule engine jq function): config for changing implementation
...
This commit adds a rule engine configuration option for changing the
implementation module used for the rule engine function jq. The two
options are `jq_port` (uses Erlang port programs to interact with jq)
and `jq_nif` (uses an Erlang NIF library to interact with jq).
Thanks to @terry-xiaoyu (Xinyu Liu <506895667@qq.com>) for Chinese
translations
2022-09-22 09:02:30 +02:00
Shawn
60a90858f8
feat: check dependent actions before removing the bridges
2022-09-06 15:34:23 +08:00
Shawn
0ef0b68de4
refactor: change '{recoverable_error,Reason}' to '{error,{recoverable_error,Reason}}'
2022-08-31 18:25:00 +08:00
Shawn
14633eaac8
fix: please the elvis
2022-08-31 09:40:22 +08:00
Shawn
ca52b8eb29
fix: start connector-mqtt failed when username/password not provided
2022-08-31 09:18:10 +08:00
Shawn
73e19d84ee
feat: use the new metrics to bridge APIs
2022-08-30 23:47:58 +08:00
Shawn
9e50866cd0
fix: rename queue_max_bytes -> max_queue_bytes
2022-08-30 17:18:54 +08:00
Shawn
6b0ccfbc43
refactor: rename the error return resource_down -> recoverable_error
2022-08-26 17:11:12 +08:00
Shawn
a896aa8b27
fix: incorrect replayq dir for the emqx_resource
2022-08-25 16:06:18 +08:00
Shawn
9327c0f51b
fix(mysql_bridge): export the query_mode option to the APIs
2022-08-25 11:38:50 +08:00
Shawn
de3a325953
fix: revert the changes in connector mysql
2022-08-16 09:06:13 +08:00
Shawn
d1de262f31
fix: inc 'actions.failed' if bridge query failed
2022-08-15 17:21:14 +08:00
Zhongwen Deng
56417a3130
feat: list rules support for pagination and fuzzy filtering
2022-07-25 09:36:08 +08:00
Shawn
b55048f705
chore: update app versions
2022-07-08 16:29:07 +08:00
Shawn
4da106882c
fix(rule): create_at lost when save to config files
2022-07-08 09:17:23 +08:00
Shawn
f132b6f6ae
fix: format the outputs for rule engine CLIs
2022-06-17 18:09:22 +08:00
Shawn
6685a3c5a8
fix: remove the 'headers' field from the rule events
2022-06-17 15:57:10 +08:00
Xinyu Liu
3b00b16abe
Merge pull request #8221 from terry-xiaoyu/fix_delayed_module_disbled_after_emqx_stop
...
feat: fix the hook priorities
2022-06-16 09:42:42 +08:00
Zaiming (Stone) Shi
738a551550
refactor: best-effort json for hocon validation errors
2022-06-15 15:01:15 +02:00
Shawn
39b1b20506
feat: fix the hook priorities
2022-06-15 19:03:40 +08:00
ieQu1
7817aec0d0
feat(rule_engine): CLI to list rules
2022-06-13 15:16:54 +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
c7cc2e85b2
fix: add default&example for schema
2022-06-06 09:52:10 +08:00
Zhongwen Deng
9ec804ae03
feat: generate example.conf from schemas
2022-05-31 19:20:27 +08:00
Zhongwen Deng
8aa60cc0a5
feat: generate a minimized emqx.conf
2022-05-31 19:20:27 +08:00
Shawn
eacc7768d2
fix: make 'name' field optional
2022-05-27 18:54:25 +08:00
Zaiming (Stone) Shi
ebe4d7c3fb
refactor: stop releasing edge edition
...
Prior to EMQX 5.0, the edge edition's main difference comaring
to standard edition are:
* Less number of plugins in the release (smaller package size)
* Smaller number is vm.args (for lower memory usage)
Starting from 5.0 most of the plugins are included as features,
the tuned vm.args arguments does not justify a special release edition.
Also as nanomq is getting mature,
EMQ's recommendtation for MQTT broker in edge is https://nanomq.io/
2022-05-26 20:05:46 +02:00
Shawn
55fce33477
fix: add telemetry testcases in all/0
2022-05-25 21:55:28 +08:00
Shawn
a157539710
refactor(rule): rename http_bridge -> webhook
2022-05-25 18:56:12 +08:00
Shawn
71de9616d3
refactor(rule): rename outputs -> actions
2022-05-25 17:02:37 +08:00
Xinyu Liu
866810cea6
Merge pull request #8006 from emqx/copy-of-kjell/jq/timeout
...
feat(rule_engine): default timeout for jq/2 and jq/3 with timeout
2022-05-23 11:58:40 +08:00
Shawn
7bc2d9edbb
fix: remove bison from the required tools when building emqx
2022-05-21 14:17:12 +08:00
Kjell Winblad
efd6461e15
docs: chinese documentation for jq timeout configuration
...
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2022-05-21 07:07:29 +02:00
EMQ-YangM
005fce63d1
feat: add rule engine function float2str/2
2022-05-19 16:16:05 +08:00
Xinyu Liu
406bc3502e
Merge pull request #7981 from terry-xiaoyu/improve_bridge_apis
...
refactor: move some APIs to new module emqx_bridge_resource
2022-05-18 18:31:48 +08:00
Yang Miao
bf552f2c4b
Merge pull request #7980 from EMQ-YangM/fix_zero_padding
...
fix: zero padding should be to the MSB side
2022-05-18 17:22:23 +08:00
EMQ-YangM
66c62f432b
fix: zero padding should be to the MSB side
2022-05-18 15:28:01 +08:00
Shawn
d89d692d3e
refactor: move some APIs to new module emqx_bridge_resource
2022-05-18 15:12:34 +08:00
Kjell Winblad
402ab7e759
chore: remove unnecessary repeated code
...
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2022-05-18 07:21:16 +02:00
Yang Miao
2b58733571
Merge pull request #7971 from EMQ-YangM/fix_hexstring_to_binary
...
fix: hexstr_to_bin support half byte
2022-05-18 10:14:25 +08:00
Kjell Winblad
05032467bd
feat(rule_engine): default timeout for jq/2 and jq/3 with timeout
...
This commit adds a default timeout of 10 seconds to the rule engine's
`jq/2` function, and adds a new function `jq/3` (where the last parameter is
a timeout value). The default timeout can be configured with the setting
"rule_engine.jq_function_default_timeout".
Having a timeout when executing jq code in the rule engine is important
as jq code can potentially run forever. Also, the Erlang jq library
limits the number of jq programs that can execute concurrently so a jq
program that loops forever could potentially also prevent a "non-buggy"
jq program from ever starting.
2022-05-17 19:36:32 +02:00
Shawn
c98fd04f8f
fix: rename the rule metrics
2022-05-17 17:17:07 +08:00
EMQ-YangM
d8da8f1686
fix: hexstr_to_bin support half byte
2022-05-17 16:47:59 +08:00
JianBo He
d8ec51a0c2
feat(rule-engine): add proto_name/proto_ver for $event/client_disconnected event
2022-05-16 15:12:41 +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
DDDHuang
2de69c97ba
fix: ruleengine & connector & bridge api, better error message
2022-05-12 16:51:36 +08:00
DDDHuang
a284ab9cf8
fix: better error message for rule engine
2022-05-12 11:06:07 +08:00
Thales Macedo Garitezi
47ed9cbc76
fix(telemetry): count bridges referenced in `from` rule clauses
2022-05-11 15:15:17 -03:00
Shawn
82da4d82be
chore: update jq to v0.2.0
2022-05-06 22:20:35 +08:00
EMQ-YangM
685b06eeed
fix: avoid 'rule_test' api crash
2022-05-05 17:28:59 +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
Zaiming (Stone) Shi
6b44d96c0d
refactor: rename functions to please elvis
2022-04-29 10:52:08 +02:00
Zaiming (Stone) Shi
4e65322667
refactor: move emqx_plugin_libs_metrics to emqx app
...
because it can not depend on other apps
2022-04-29 12:41:36 +08:00
Zaiming (Stone) Shi
02c3f87b31
style: reformat all remaining apps
2022-04-27 15:51:18 +02:00
Xinyu Liu
46e993fa81
Merge pull request #7786 from terry-xiaoyu/save_tls_files_for_bridges
...
Save tls files for bridges
2022-04-27 21:48:18 +08:00
Shawn
ba800d853d
fix(rule): republish all available fields if payload template empty
2022-04-27 11:59:15 +08:00
EMQ-YangM
1fac70d2bb
fix: remove error field
2022-04-27 09:48:57 +08:00
JianBo He
a58b88aeec
chore(i18n): fix more and more typos
2022-04-26 09:28:05 +08:00
JimMoen
e9843aa225
fix(doc): html line break use `</br>`
2022-04-24 18:56:21 +08:00
EMQ-YangM
cef16ac382
fix: improve document quality
2022-04-21 15:05:56 +08:00
EMQ-YangM
51972af472
feat: add chinese to rule engine description
2022-04-20 10:23:56 +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
ea6b3c7b51
fix: format code
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
EMQ-YangM
e4b62f3a5f
feat: add rule-engine functions
2022-04-15 18:02:24 +08:00
EMQ-YangM
ee6ac90d47
fix: behavior of rule-engine when selection field does not exist
2022-04-13 18:19:42 +08:00
EMQ-YangM
21dfd5dd47
fix: export rule reset_metrics api
2022-04-11 15:21:14 +08:00
EMQ-YangM
f91c0e140d
fix: fix static_checks error
2022-04-11 10:25:48 +08:00
EMQ-YangM
fa0c4d17ee
feat: impl rule_engine reset_metrics api
2022-04-11 10:25:48 +08:00
Thales Macedo Garitezi
1aea6b3ea7
Merge pull request #7522 from thalesmg/telemetry-revamp-part5
...
feat: add basic rule engine and bridge usage info to telemetry
2022-04-07 10:19:55 -03:00
Thales Macedo Garitezi
8354095e4b
feat(rules): export basic usage info for telemetry
2022-04-06 10:20:23 -03:00
EMQ-YangM
a31891e8e6
feat: enhanced rule engine error handling when json parsing error
2022-04-06 09:56:55 +08:00
Thales Macedo Garitezi
ed7035ec41
style(bridge): please elvis checks
2022-04-05 15:59:50 -03:00
ieQu1
99b3f2f83e
docs(schema): Document missing records and fields
2022-04-04 23:58:43 +02:00
ieQu1
d23a88d0a9
docs(schema): Minor improvements to spelling and formatting.
2022-03-30 13:05:56 +02:00
ieQu1
ce450b7da7
docs(schema): Document the records
2022-03-30 11:53:53 +02:00
EMQ-YangM
3b43cca5bf
fix: use masp:get/3 to avoid crash after match failure
2022-03-29 18:51:10 +08:00
EMQ-YangM
ccc134d061
fix(emqx_rule_api_schema): add rule events schema
2022-03-29 14:03:15 +08:00
EMQ-YangM
4791c64b73
feat: add rule event 'client.check_authz_complete'
2022-03-29 11:24:36 +08:00
EMQ-YangM
65164fb046
feat: add rule event 'client.connack'
2022-03-28 11:32:07 +08:00
JianBo He
83e16a5bc5
Merge pull request #7343 from HJianBo/fix-gw-bugs
2022-03-22 17:49:02 +08:00
EMQ-YangM
6cff53ad67
fix(rule): replace sql crlf with spaces
...
get around the hocon bug: error handling escape character \n
2022-03-21 19:26:06 +08:00
JianBo He
6da4592bb0
chore: fix elivs warnings
2022-03-21 18:52:41 +08:00
JianBo He
5682dcb72e
fix(gw): enrich conninfo for coap&lwm2m
2022-03-21 18:17:24 +08:00
JianBo He
edb1460b56
chore(rule-engine): more safe generate even_msg content
2022-03-21 18:17:24 +08:00
Shawn
50ee6ad2e2
fix(rule): update rules without reset the metrics
2022-03-21 15:06:34 +08:00
Shawn
a892ff9006
fix(dialyzer): update the specs for the rule()
2022-03-16 10:13:16 +08:00
Shawn
93c5fa60b4
fix(rules): store rule configs to cluster config files
2022-03-16 00:39:01 +08:00
Shawn
869dc1a081
fix(rules): ensure create_at unchanged after rule is updated
2022-03-16 00:38:42 +08:00
Shawn
0b4b3a7cf0
fix(dialyzer): some bad type specs
2022-03-11 18:33:08 +08:00
Shawn
590fa1b375
fix(rule): check request body for /rule_test crashes
2022-03-11 18:13:12 +08:00
Shawn
f924b9389d
fix(rule): add swagger schema for events from bridge sources
2022-03-11 14:13:14 +08:00
Shawn
5ca0d4f856
fix(rule): rename the eventname of bridge sources to $bridges/mqtt:*
2022-03-10 23:03:35 +08:00
Shawn
3ca3470844
fix(rule_events): add descs for test columns
2022-03-10 22:49:29 +08:00
Shawn
c673e55a47
fix(rule): add SQL test examples for user properties
...
Porting from v4.4
2022-03-10 16:01:30 +08:00
Shawn
247b14c95f
fix(mqtt_bridge): refine the message format from a mqtt bridge source
2022-03-10 15:57:33 +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
574bbafc9b
fix(schema): Ensure enum is atom or int.
2022-02-24 15:36:04 +08:00
Zaiming (Stone) Shi
1be3eb1446
chore: rename EMQX Broker to just EMQX
2022-02-19 12:51:34 +01:00
k32
5638bcb92b
docs: Fix typos
2022-02-17 23:22:31 +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
Zaiming (Stone) Shi
667d66eb1e
docs(README): EMQ X -> EMQX
2022-02-15 16:19:26 +01:00
zhongwencool
f5415589e9
chore(schema): use emqx_schema:qos() instead of union integer.
2022-02-11 10:09:59 +08:00