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
Shawn
e6997dc1ce
Merge pull request #6942 from terry-xiaoyu/hook_delivery_drop
...
Hook delivery drop
2022-02-09 18:28:56 +08:00
Shawn
b69dca4f08
feat(rule): add testcase for '/delivery_dropped'
2022-02-08 20:37:40 +08:00
Shawn
b2f027bcf7
feat(rule): add 'delivery.dropped' hook for rules
2022-02-08 10:32:25 +08:00
Shawn
261e9929b6
fix(rule): deny POST empty rule ids
2022-02-08 09:57:44 +08:00
Zaiming (Stone) Shi
f7703c906e
refactor: move plain_check impl to emqx_hocon
2022-01-29 10:16:55 +01:00
k32
052bd9081d
docs(schema): Fix typos in the schema files
2022-01-27 22:39:19 +01:00
Zaiming (Stone) Shi
d6f7ffec3c
Merge pull request #6881 from zmstone/refactor-upgrade-hocon-0.23.0
...
refactor: upgrade to hocon 0.23.0
2022-01-27 15:48:23 +01:00
Kian-Meng Ang
fc92e4c8bf
docs: fix typos
2022-01-27 12:29:38 +01:00
Zaiming (Stone) Shi
252d7e85d9
refactor: call new hocon apis
2022-01-27 00:23:08 +01:00
Zaiming (Stone) Shi
2105d1f22b
test: call ct helpers to load config
2022-01-25 11:50:18 +01:00
k32
6e3b05d665
refactor(emqx_plugin): Decorate RPCs
2022-01-18 15:25:34 +01:00
Shawn
8cee9a9e47
fix(rule): compare to null variables should return false
2022-01-17 14:17:49 +08:00
JimMoen
82e3565344
chore: major mode file variable for Emacs
2022-01-13 15:53:47 +08:00
Shawn
2a2a00e0ad
fix(rule): remove rules from all nodes in the cluster
2022-01-11 14:44:08 +08:00
Shawn
72d55c8c0d
fix(rules): improve the names of the metrics
2022-01-07 09:35:00 +08:00
Shawn
67a60e1153
refactor(rule): add more metrics for rule and bridges
2022-01-07 09:34:54 +08:00
Zaiming (Stone) Shi
9f7b513a3f
chore: fix copyright update script to include more files
2022-01-06 08:44:35 +01:00
Zaiming (Stone) Shi
63167cea70
chore: update copyright
2022-01-05 20:55:00 +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
Shawn
657ecef67b
fix(resource): don't crash on resource stopped
2021-12-31 20:57:34 +08:00
Shawn
e299d8d138
fix(rule): rules not triggered after the ingress mqtt bridge received some msg
2021-12-31 15:47:03 +08:00
Shawn
94a5965560
fix(rule): dead lock when update configs for rules
2021-12-31 00:03:03 +08:00
Shawn
a42ab3d9da
fix(rule): use emqx_conf:update/3 to make changes to all nodes
2021-12-31 00:03:03 +08:00
zhongwencool
4b6bba11eb
feat(trace): struct log for trace
2021-12-29 00:26:54 +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
zhongwencool
668180388c
feat(trace): replace logger_formatter by emqx_trace_formatter
2021-12-27 14:40:40 +08:00
Thales Macedo Garitezi
34d6dbca61
chore(mix): simplify build by using rebar3 for umbrella apps
...
By treating the apps in the umbrella as dependencies to be managed and
built by rebar3, we can simplify the maintenance of the release, at
the cost of increased build times: using Mix as before, it could track
changed files better than using rebar. But the complexity and
possibility of discrepancies make it using rebar much more compelling.
2021-12-22 09:40:01 -03:00
Shawn
cd4227b851
fix(rules): don't show the module name 'emqx_rule_outputs' in outputs
2021-12-22 10:26:22 +08:00
Shawn
9b4b3d2e8c
fix(rules): make the 'name' field of POST /rules mandatory
2021-12-22 10:26:22 +08:00
Shawn
5f050b149b
fix(rules): the schema for unsubscribe is messing from rule_test API
2021-12-22 10:26:22 +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
Shawn
a9c9d9d805
fix(rule): rename enabled to enable
2021-12-18 20:28:14 +08:00
Shawn
a44e18e869
fix(bridge): filter out some extra fields from the request body
2021-12-18 19:19:58 +08:00
Shawn
494c08f849
refactor(rule): add name field to request body of POST /rules
2021-12-18 06:34:44 +08:00
Zaiming (Stone) Shi
fcb7c2c70f
docs: change <module> to {module} so markdown render will not crash
...
<module> is treated as an HTML tag
2021-12-12 19:34:29 +01:00
Shawn
affe69afd6
fix(rules): update the test cases for rule APIs
2021-12-07 09:48:47 +08:00
Shawn
416b9f8d7c
refactor(rule): generate swagger from hocon schema for /rules
2021-12-07 09:48:47 +08:00
Shawn
24bded99d5
refactor(metrics): rename speed to rate in emqx_plugin_libs_metrics
2021-12-07 09:47:53 +08:00
Shawn
e07fce791f
feat(connector): add examples to the swagger doc
2021-12-07 09:47:53 +08:00
Zaiming (Stone) Shi
d9a980c7e1
docs: fix config doc, avoid using <text> in doc body
2021-12-06 08:00:42 +01:00
Ilya Averyanov
ea0fa24ce5
chore(ct): remove verbose output during tests
2021-11-25 18:30:50 +03:00
Shawn
4c149f92c1
feat(bridge): support metrics for bridges
2021-11-23 09:36:10 +08:00
Shawn
a0e81226d7
fix(elvis): improve some code format
2021-11-22 19:10:00 +08:00
Shawn
9c93ea0338
feat(connector): add API for /connectors_test
2021-11-22 17:35:33 +08:00
Shawn
7d64013edd
refactor(connector): add connector configs
2021-11-22 17:35:32 +08:00
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
dcc5ae0642
test: API return code section
2021-11-15 16:30:44 +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
Zaiming Shi
d1abb30818
ci: fix elvis check
2021-11-04 15:27:10 +01:00
Zaiming Shi
56e2a9741f
style: ensure newline at EOF for all files
2021-11-04 14:40:14 +01:00
zhongwencool
d784e63b9f
emqx_conf ( #5939 )
...
* feat(emqx_conf): move conf manager for emqx_machine to emqx_conf
* chore(emqx_conf): change emqx:get_config/2 to emqx_conf:get/2
* fix: common test failed
* fix: badmatch by typo wrong key
* fix(emqx_conf): get the wrong core nodes
* fix(emqx_conf): get core node's tnx_id not latest tnx_id
* fix: add ro_transation when copy conf file
* fix: delete debug info
* fix: change ekka_rlog to mria_rlog
* fix: remove cluster_rpc from emqx_machine.
* fix: don't call ekka:start/0 explicitly
* fix: ekka should be start in emqx_machine
2021-10-21 18:08:51 +08:00
k32
ff48322e0c
chore(mria): ekka_mnesia:running_nodes -> mria:running_nodes
2021-10-18 22:04:05 +02:00
Tobias Lindahl
aa19c2a908
chore: Remove emqx_ct_helpers as dependency
2021-10-15 10:40:57 +02:00
Shawn
2e52ab9712
fix(rules): improve some code for emqx_rule_engine
2021-10-14 15:09:37 +08:00
Shawn
dce57a3f92
fix(rules): add description to the config 'ignore_sys_message'
...
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2021-10-14 15:09:37 +08:00
Shawn
0e7a3f89a9
feat(rules): support output functions in <<"Mod:Func">> format
2021-10-14 15:09:37 +08:00
Shawn
9c7eef5295
feat(rules): update rule_engine configs from APIs
2021-10-14 15:09:37 +08:00
Shawn
c3effca553
fix(rules): load rules from config file failed
2021-10-14 15:09:37 +08:00
Shawn
467805855d
fix(rules): load rules from config file failed
2021-10-14 15:09:37 +08:00
Shawn
1ffae5d1b0
refactor(rule_engine): merge code for emqx_rule_registry and emqx_rule_engine
2021-10-14 15:09:37 +08:00
Shawn
b063b6f253
feat(rules): support configure rules in config file
2021-10-14 15:09:37 +08:00
lafirest
3524942766
fix: change all ~s in io format to ~ts
...
we should use unicode to replace latin1
2021-10-12 15:09:24 +08:00
zhongwencool
44a6f04a45
chore: reorganize shards position
2021-09-30 16:04:30 +08:00
Shawn
a9185f964e
fix(rules): improve specs and logs ( #5821 )
...
Co-authored-by: Zaiming Shi <zmstone@gmail.com>
2021-09-27 21:10:48 +02:00
Shawn
e2721c144c
feat(bridge): support http bridge
2021-09-27 22:01:18 +08:00
Shawn
69f3cce75d
feat(rules): hook on bridges events and query bridges from rules
2021-09-26 23:00:08 +08:00
Shawn
e630e23846
fix(rules): dialyer failed to analysis the emqx_rule_sqlparser:parse/1
2021-09-26 23:00:08 +08:00
Shawn
0d26e50e87
fix(rules): parse outputs failed
2021-09-26 23:00:08 +08:00
Shawn
420ccf0f51
refactor(rules): change republish as an output
2021-09-26 23:00:08 +08:00
Shawn
f33e28af6d
fix(rules): update test cases for emqx_rule_engine_SUITE
2021-09-26 23:00:08 +08:00
Shawn
7bc69b129a
fix(rules): update test cases for rule metrics
2021-09-26 23:00:08 +08:00
Shawn
d4f20c82e0
feat(rules): support function outputs
2021-09-26 23:00:08 +08:00
Shawn
bd081913b5
refactor(rules): remove emqx_rule_actions
2021-09-26 23:00:08 +08:00
Shawn
af295a9b71
refactor(rules): remove resources and actions
2021-09-26 23:00:08 +08:00
Shawn
b055464f6b
refactor(rule): remove CLIs for rules
...
We will have new CLIs based on HTTP API in the future.
2021-09-26 23:00:08 +08:00
JimMoen
9c95557bfc
fix(emqx_types): type spec refs does not exist file.
2021-09-17 19:28:22 +08:00
zhouzb
43ce727632
chore(gen_id): using emqx_misc:gen_id/0, /1
2021-09-16 16:51:46 +08:00
JimMoen
deac54c847
chore(for editor): Add comments for Emacs major mode.
2021-09-16 15:43:30 +08:00
zhongwencool
86eb6605f1
Merge pull request #5623 from zhongwencool/cluster-call-api
...
feat(cluster-call): support confirm success after all mfa apply ok
2021-09-13 16:03:47 +08:00
Shawn
d46241fe2f
feat(bridges): avoid clientid competition between bridges on different nodes
2021-09-10 14:21:17 +08:00
zhongwencool
0303e593c5
fix: undef function
2021-09-10 13:28:08 +08:00
zhongwencool
5a4428c53d
Merge branch 'cluster-call-api' of https://github.com/zhongwencool/emqx into zhongwencool-cluster-call-api
2021-09-10 13:11:13 +08:00
Shawn
135c005467
fix(bridges): do not start any bridge by default
2021-09-10 11:43:03 +08:00
Shawn
eb8822ce41
feat(bridges): start one mqtt bridge worker for each in/out channel
2021-09-10 11:43:03 +08:00
Shawn
1dae970cd3
refactor(rule): move emqx_rule_utils.erl -> emqx_plugin_libs_rule.erl
2021-09-10 11:43:03 +08:00
Zaiming Shi
ec13463f4a
refactor(schema): prepare for hocon schema doc generation
2021-09-03 11:02:31 +02:00
zhongwencool
ee2fccac02
fix: don't run mutil cluster-call on one transaction
2021-09-02 14:03:46 +08:00
Zaiming Shi
5165fd6b30
refactor(schema): implement new hocon_schema callbacks
2021-08-30 09:56:03 +08:00
zhongwencool
73238ed81f
feat: emqx_resource support cluster_call
2021-08-26 17:23:39 +08:00
zhongwencool
e5129ead6d
fix(CI): Error detected: 'Invalid reference to group api in emqx_rule_engine_SUITE:all/0'
2021-08-26 17:17:47 +08:00
DDDHuang
8125ec7d08
feat: topic metrics api ( #5520 )
2021-08-24 10:52:18 +08:00
k32
9c74fa42a5
chore(rlog): Use the new method of creating shards
2021-08-21 17:47:53 +02:00
Shawn
f3efc89192
refactor(config): replace all ':' with '=' in the *.conf ( #5531 )
2021-08-19 19:57:42 +08:00
Shawn
e8e95d39ef
refactor(config): move emqx_config:get/get_raw to emqx:get_config/get_raw_config ( #5517 )
2021-08-18 14:52:57 +08:00
turtleDeng
4dc5772103
chore(rule-metrics): remove hot upgrade code change
2021-08-17 09:15:27 +08:00
Zaiming Shi
b10fb4e95d
refactor: unify all io:format calls to use the same macro
2021-08-01 09:36:59 +02:00
Zaiming Shi
5d59ac1f02
refactor(logging): delete log headers from all modules
2021-08-01 09:36:59 +02:00
Turtle
9e97de04c9
chore(plugins): delete emqx_plugins module attributes
2021-07-30 14:32:01 +08:00
Shawn
0704cbc986
refactor(config): change mqtt.session_expiry_interval to ms
2021-07-23 17:06:28 +08:00
DDDHuang
c11a8c6db6
refactor: clients api; status api; adapter minirest v1
...
The serious influence:
authn:
api
authz:
api; api test suit
dashboard:
all closed
lwm2m:
api;
modules:
api(api_topic_metrics, modules_api); test suit(emqx_modules_SUITE)
prometheus:
api
retainer:
api; api test suit
rule_engine:
api: api test suit
telemetry:
api
2021-07-09 18:09:07 +08:00
k32
73ec8c47cc
chore(rule_engine): Add an RLOG shard
2021-06-28 20:29:08 +02:00
Turtle
434beef3ad
feat(rule-engine): Update the configuration file to hocon
2021-06-28 14:51:15 +08:00
Turtle
54aeacee14
feat(rule-engine): update the configuration file to hocon
2021-06-28 14:51:15 +08:00
Shawn
8e08e83090
fix(appup): relup for emqx_rule_registry failed
2021-06-28 11:41:53 +08:00
Shawn
c1b2163362
feat(rules): remove stats update from rule_engine_registry ( #5029 )
2021-06-28 11:41:53 +08:00
Shawn
a610c3d1f3
fix(rule): delete resource failed when searching dependent rules ( #4996 )
2021-06-28 11:40:51 +08:00
Zaiming Shi
4ee6c82714
test(emqx_rule_engine_SUITE): delegate app start to ct-helper (2.0.0)
2021-06-07 09:09:28 +02:00
z8674558
a9efdaeacd
fix(emqx_rule_engine_SUITE): use emqx_ct_helpers:read_schema_configs
2021-06-01 17:06:09 +09:00
z8674558
31cbb7aa97
Merge branch 'master' of github.com:emqx/emqx into merge-master
2021-05-25 12:50:50 +09:00
k32
1e562d4bc6
chore(rule_engine): Don't import alias/1 BIF
...
Fixes : #4847
2021-05-22 01:40:07 +02:00
Shawn
4cd056cab5
fix(rule_engine): update status to false when refresh resource failed ( #4821 )
...
* fix(rule_engine): update status to false when refresh resource failed
* fix(dialyzer): ignore import_modules/1 created fun has no local return
* fix(appup): update appup for rule engine
2021-05-17 17:59:01 +08:00
Zaiming Shi
4577f6653c
fix(emqx_rule_engine): add appup
2021-05-14 05:41:00 +09:00
Turtle
a58357cfe3
feat(rule_engine): rule sql add null function
2021-05-14 05:41:00 +09:00
Zaiming Shi
ded494f544
fix(emqx_rule_engine): add appup
2021-05-11 14:25:46 +02:00
Turtle
80ef076cee
feat(rule_engine): rule sql add null function
2021-05-08 17:15:07 +08:00
Zaiming Shi
d904a1048b
Merge remote-tracking branch 'origin/master' into merge-master-to-dev/v5.0
2021-04-30 15:09:31 +02:00
Zaiming Shi
fbe15859f5
fix(emqx_rule_utils): http connectivity check ipv6 support
2021-04-28 10:43:36 +02:00
Shawn
bea28d887c
fix(rule_engine): refresh rules and then re-enable it
2021-04-27 15:45:25 +08:00
Shawn
6557b132a2
fix(rule_engine): only refresh enabled rules at bootup
2021-04-27 11:17:12 +08:00
Shawn
7198c018e2
fix(rule_engine): change the rule state when force enabled/disabled
2021-04-27 11:17:12 +08:00
Shawn
18688da0c1
fix(rule_engine): only auto re-enable the rule when it was force disabled
2021-04-27 11:17:12 +08:00
Shawn
da81ab7988
fix(rule_engine): remove sleep before refresh rules
2021-04-27 11:17:12 +08:00
Shawn
e3501acc02
fix(rule_engine): delete resource crashes when dependent rule exists
2021-04-27 11:17:12 +08:00
Shawn
3646e76a7a
fix(rule_engine): re-enable rules after resource started
2021-04-27 11:17:12 +08:00
Shawn
9fd43ef882
fix(rule_engine): reformat some code for dependent rules discovery
2021-04-27 11:17:12 +08:00
DDDHuang
29592fe1b4
Fix rule engine build fail ( #4673 )
...
* fix: add rule engine resources time
2021-04-26 15:32:54 +08:00
Zaiming Shi
d61b100cc9
chore: more copyright updates
2021-04-23 20:43:00 +02:00
Zaiming Shi
6354e75626
chore: update copyrights
2021-04-23 20:43:00 +02:00
DDDHuang
4178e1a023
fix: disable rule if build fail
2021-04-22 14:46:28 +08:00
Shawn
19a9bab3a4
feat(rule_engine): add rule sql functions for datetime rfc3339
2021-04-22 10:32:44 +08:00
z8674558
b0c3c713b5
Merge branch 'master' of github.com:emqx/emqx into merge-master-to-v5
2021-04-13 00:09:17 +09:00
Shawn
b5edba7729
fix(rule_engine): load hooks to all the nodes in cluster
2021-04-12 09:41:28 +08:00
Zaiming Shi
d8e410e770
fix(emqx_rule_engine): missing calls
...
some calls are for enterprise only
2021-04-11 22:55:39 +02:00
z8674558
971e6ca90e
Merge branch 'master' of github.com:emqx/emqx into merge-master-to-v5
2021-04-07 20:29:08 +09:00
JianBo He
496e5381fb
chore(rule-engine): compatible with the lower case hash string
2021-03-25 09:10:05 +08:00
JianBo He
277cab86d3
refactor: improve the speed of hexstr and binary conversions
2021-03-23 18:25:19 +08:00
wwhai
0d75ea874b
fix(rule-engine): add 'undefined' type for create time
2021-03-19 08:57:19 +08:00
wwhai
f7b34cb098
feat(rule-engine): list rule support order by timestrap
2021-03-12 17:35:13 +08:00
Zaiming Shi
6c106207ff
Merge pull request #4293 from emqx/master
...
Auto-pull-request-on-2021-03-05
2021-03-10 20:57:45 +01:00
Zaiming Shi
c752f3bec5
Refactor http lib add uri parse ( #4292 )
...
* feat(http_lib): Add uri parse to emqx_http_lib
* fix(webhook): call emqx_http_lib to parse uri
* fix(auth-http): Call emqx_http_lib to parse uri
* fix(rule-engine): call emqx_http_lib to parse uri
2021-03-06 13:35:02 +08:00
z8674558
efd4ef8091
Merge branch 'dev/v5.0' of private:emqx/emqx into fix-merge-conflict-master-to-5.0
2021-03-04 22:12:09 +09:00
z8674558
1504164933
chore(src): fix dialyzer warnings (match values)
2021-03-03 20:06:31 +09:00
Zaiming Shi
8316f8cc34
fix(rule-engin-api): transform input config for update requests
2021-03-03 09:19:07 +08:00
Zaiming Shi
dd06d70bce
refactor(build): Move parse_transform module to root app
...
So we do not have to workaround the compile order issue
2021-03-02 08:40:19 +08:00
Zaiming Shi
5edef84332
Merge branch 'dev/v5.0' into fix-merge-conflict-master-to-5.0
2021-03-01 19:58:16 +01:00
Shawn
6081d45d81
fix(rule): reformat some code
...
* fix(rule): reformat some code for rule-engine
* fix(lwm2m): change publish_update_when to publish_update_msg_when
Change the option name publish_update_when -> publish_update_msg_when.
Also change the object_list_changed to contains_object_list, as the
the later describes the default behavior correctly.
* fix(lwm2m): publish_update_msg_when -> update_msg_publish_condition
2021-03-01 20:15:12 +08:00
Zaiming Shi
23269c13bc
Merge pull request #4229 from emqx/master
...
Auto-pull-request-on-2021-02-23
2021-02-24 09:57:51 +01:00
Shawn
6d83bc3e9b
fix(rule): destroy the actions when disabling the rule ( #4232 )
...
Merge the following PR from enterprise version:
https://github.com/emqx/emqx-rule-engine/pull/231
2021-02-24 13:24:23 +08:00
Zaiming Shi
13e8093583
Merge remote-tracking branch 'origin/dev/v4.3.0' into merge-dev-v4.3.0
2021-02-22 21:08:08 +01:00
Zaiming Shi
505ae24ded
Merge branch 'dev/v5.0' into resolve-dev/v4.3.0-to-dev/v5.0-conflict
2021-02-22 15:20:34 +01:00
Shawn
e201484163
fix(rule): incorrect merge for map_get/2,3 and map_put/3
2021-02-22 18:16:24 +08:00
Shawn
196fef0255
chore(rule): migrate rule-engine from enterprise version
2021-02-22 13:53:51 +08:00
Shawn
7778cd8623
Add hooks only when creating the rules ( #4160 )
...
* refactor(rules): add hook only when creating rules
* fix(rule): update hooks after application restarted
* fix(rule): remove the extra guard
2021-02-22 11:16:47 +08:00
Shawn
1e047e84c2
feat(resource): keep restart disconnected resources after emqx bootup ( #4125 )
...
* feat(resource): keep restart disconnected resources after emqx bootup
* feat(resource): improve the restart monitor
* fix(test): improve emqx_rule_monitor_SUITE
* fix(resource): refresh resource should be only applied on local node
* fix(test): improve the test case for restart_resource
* fix(resource): rename some functions
2021-02-20 17:10:50 +08:00
Shawn
c2e1bc039b
feat(rule): add more sql functions #4143 ( #4144 )
2021-02-20 17:10:10 +08:00
Zaiming Shi
c2cd2fd231
Merge remote-tracking branch 'origin/dev/v4.3.0' into dev/v5.0
2021-02-19 21:13:33 +01:00
Zaiming Shi
4a877a3a69
chore(apps): relocate some apps
...
emqx_telemetry is for opensource onlyh
emqx_rule_engiune is common
2021-02-19 11:24:41 +01:00
Zaiming Shi
8f477e8411
refactor(proj): Move opensource apps to lib-opensource
...
One step closer for better code abstraction for opensorce vs enterprise
So far this relocation is to make opensource to enterprise merges
conflict free.
2021-02-11 16:45:05 +01:00
Shawn
70a490114d
fix(rulesql): proc cassandra cql with apostrophes failed
2021-02-05 15:30:16 +08:00
Shawn
a2fa84255f
fix(rulesql): proc_sql_param_str incorrect with apostrophes #4135 ( #4137 )
2021-02-05 10:41:54 +08:00
wwhai
6eff70a646
fix(rule-engine): reply 500 when update resource failed ( #4120 )
2021-02-01 09:47:08 +08:00
wwhai
a3206f5e0b
fix(rule-engine): reformat code style
2021-01-29 19:32:05 +08:00
wwhai
3973c93534
fix(rule-engine): remove unused code
2021-01-29 17:16:00 +08:00
wwhai
7072355bc1
fix(rule-engine): fix test failure
2021-01-29 15:24:07 +08:00
wwhai
73655369af
fix(rule-engine): reformat some code
2021-01-29 11:52:32 +08:00
wwhai
f0993c6b0f
chore(style): improve the codes style
2021-01-28 20:01:59 +08:00
wwhai
b5c435e211
fix(rule-engine): add format space
2021-01-27 19:01:11 +01:00
wwhai
e7153c4266
fix(rule-engine): add cluster init callback
2021-01-27 15:06:12 +08:00
wwhai
81da182e1b
feat(rule-engine): change init resource to test resource
2021-01-25 19:44:32 +08:00
wwhai
f3420e8810
fix(rule-engine): fix update resource maybe remove resource
2021-01-25 10:56:58 +08:00
bignullnull
67bfb4f10a
fix(rule_engine): resource update problem and add cli ( #3991 )
2021-01-15 09:12:24 +08:00
JianBo He
f2190dd5b5
chore(mnesia): explicitly specify the copy type for table
2021-01-14 15:46:16 +08:00
JianBo He
2a029b71c9
perf(mnesia): unify the copy types of all nodes
2021-01-14 15:46:16 +08:00
ayodele.akingbule
990be9c198
fix(emqx_rule_engine_api): fix dialyzer warnings
2021-01-04 14:14:55 +01:00
Shawn
e518828d8f
fix(rule_engine): mechanism of restarting resources ( #3980 )
2021-01-04 11:52:57 +08:00
Ayodele
26021b37b3
Umbrella fix build ( #3969 )
...
* fix(dialyzer): dialyzer warning.
2021-01-04 09:10:22 +08:00
Shawn
d86b5ef210
fix(rule_engine): compile warnings on the macro RAISE
2020-12-31 17:03:39 +08:00
Shawn
a747cf16bd
fix(resource_cli): update the CLIs for resources ( #3978 )
2020-12-31 13:41:33 +08:00
bignullnull
37974f7376
fix(rule_engine): add resource reconnect check ( #3974 )
...
* fix(rule_engine): add resource reconnect check
* fix(rule_engine): add reason for RAISE macro
2020-12-31 12:51:01 +08:00
wwhai
903ce29ce0
fix(rule_engine): fix resource update maybe failure
2020-12-31 11:43:03 +08:00
bignullnull
efb32e9903
test(rule_engine): add update resource unit test case ( #3964 )
...
* test(rule_engine): add update resource unit test case
* feat(rule_engine): add update resource support
Co-authored-by: wwhai <cnwwhai@gmail.com>
2020-12-28 14:59:28 +08:00
JianBo He
9e22f492c7
refactor(rule-engine): add proc_sql_param_str/2 to handle sql params
2020-12-28 10:51:13 +08:00
Shawn
6b5878cdd0
fix(test): solve verification issue when verify the resource numbers
2020-12-23 16:39:40 +08:00
zhanghongtong
3ef08f9ce3
test(meck): add meck unload after meck load
2020-12-22 13:39:49 +08:00
Shawn
443ff737ed
fix(rule_engine): use rpc in emqx_rule_engine_api
2020-12-22 11:18:16 +08:00
Shawn
e15c0c325e
fix(rule_engine): nested_get value from binary was supported in 4.1
2020-12-22 11:18:16 +08:00
Shawn
86d20b060c
fix(metrics): counters not created before incr 'rule.matched'
2020-12-22 11:18:16 +08:00
Shawn
c3159420bb
feat(funcs): add bitsize/1 and subbits/2,3,6 functions
2020-12-22 11:18:16 +08:00
Shawn
e72cbd22c4
fix(rule_validator): fill default values when validating the params
2020-12-18 11:08:17 +08:00
Shawn
0a44270932
* fix(dialyzer): remove the dialyzer errors
2020-12-17 10:04:49 +08:00