Commit Graph

249 Commits

Author SHA1 Message Date
Zaiming (Stone) Shi a690902cab chore: pin jq v0.3.4 2022-05-31 17:46:06 +02:00
Shawn e664a3bc30 chore: ping jq v0.3.3 2022-05-31 22:47:59 +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
ieQu1 9de609224e fix(logging): Add compile-time overrides for gen_rpc application 2022-05-24 12:42:30 +02:00
Shawn 8650842994 fix: pin jq v0.3.2 2022-05-22 14:14:02 +08:00
Shawn 7bc2d9edbb fix: remove bison from the required tools when building emqx 2022-05-21 14:17:12 +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
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
Kjell Winblad ba5d0f5e03
Merge pull request #7911 from kjellwinblad/kjell/upgrade_jq_v0.2.1
fix: update jq to v0.2.1
2022-05-13 13:49:05 +02:00
Kjell Winblad e107f84d7e fix: update jq to v0.2.2
This commit makes jq compile error reporting better and avoids a crash
when the program contains an include expression.
2022-05-13 10:59:57 +02:00
Zaiming (Stone) Shi bcd3bbcc61 build: fix port-compiler version tag to 1.14.0
1.14.1 was a typo, (not released yet)
2022-05-12 23:22:08 +02:00
Zaiming (Stone) Shi eb2d73eed3 chore: er_coap_client is a test dependency but not rebar plugin 2022-05-12 13:08:27 +02:00
Zaiming (Stone) Shi 502bfa5529 build(deps): pin port compiler v1.14.1 2022-05-07 10:24:15 +02:00
Shawn 82da4d82be chore: update jq to v0.2.0 2022-05-06 22:20:35 +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
Zhongwen Deng 7df21b7dcd chore: bump er_coap_client to v1.0.4 2022-04-20 11:32:10 +08:00
Zhongwen Deng 868e26cabc fix: emqx_auto_subscribe emqx_slow_subs don't restart when ekka:join. 2022-04-16 00:34:00 +08:00
zhongwencool ce915f0bbd
Merge pull request #7590 from zhongwencool/doc-i18n
feat: desc/label support i18n
2022-04-15 17:43:16 +08:00
Zhongwen Deng 630cc8ee34 feat: support i18n with desc struct. 2022-04-15 08:42:13 +08:00
Zaiming (Stone) Shi 438be98e15 chore(build): delete unused template-var platform_lib_dir 2022-04-13 13:50:25 +02:00
Zaiming (Stone) Shi 1c50841dea chore(build): delete unused template var platform_bin_dir 2022-04-13 13:50:25 +02:00
Zaiming (Stone) Shi c8242816b0 refactor(bin/emqx): no need to template-render RUNNER_ROOT_DIR 2022-04-13 13:50:25 +02:00
Zaiming (Stone) Shi 32694e601a refactor: rename RUNNER_ETC_DIR to EMQX_ETC_DIR 2022-04-05 23:08:45 +02:00
Zaiming (Stone) Shi 4e64010a3b build: more structured build info 2022-03-02 21:22:03 +01:00
Zaiming (Stone) Shi d029a73b99 refactor: make release edition static info at compile time 2022-02-28 16:37:47 +01:00
Zaiming (Stone) Shi 96815539c1 chore: delete unused template values 2022-02-28 15:25:51 +01:00
Thales Macedo Garitezi 16ad442bc3
fix(deps): use tags for dependencies
Some dependencies, like `bcrypt` and `quic`, have their references
declared as `branch`, yet there are no branches with those names, but
tags.  Despite rebar3 managing somehow to handle that, if a project
managed by Mix tries to declare EMQX as its dependency, it's not able
to fetch those dependencies.

```
$ mix deps.get
* Updating emqx (https://github.com/emqx/emqx - v5.0-beta.3)
* Updating lc (https://github.com/qzhuyan/lc.git - 0.1.2)
* Updating gproc (https://github.com/uwiger/gproc - 0.8.0)
* Updating typerefl (https://github.com/k32/typerefl - 0.8.6)
* Updating jiffy (https://github.com/emqx/jiffy - 1.0.5)
* Updating cowboy (https://github.com/emqx/cowboy - 2.9.0)
* Updating esockd (https://github.com/emqx/esockd - 5.9.0)
* Updating ekka (https://github.com/emqx/ekka - 0.11.1)
* Updating gen_rpc (https://github.com/emqx/gen_rpc - 2.5.1)
* Updating hocon (https://github.com/emqx/hocon.git - 0.22.1)
* Updating pbkdf2 (https://github.com/emqx/erlang-pbkdf2.git - 2.0.4)
* Updating recon (https://github.com/ferd/recon - 2.5.1)
* Updating snabbkaffe (https://github.com/kafka4beam/snabbkaffe.git - 0.16.0)
* Updating bcrypt (https://github.com/emqx/erlang-bcrypt.git - origin/0.6.0)
error: pathspec 'origin/0.6.0' did not match any file(s) known to git
** (Mix) Command "git --git-dir=.git checkout --quiet origin/0.6.0" failed
```

Therefore, we change them to `tag`s.
2022-02-21 15:36:24 -03:00
Zaiming (Stone) Shi 09775936e5 chore: EMQ X -> EMQX in emqx description 2022-02-16 17:49:52 +01:00
Ilya Averyanov 64c59b5469 feat(license): check license before node start 2022-02-11 11:49:29 +03:00
k32 5a1b18ae86 fix(system_monitor): Fix conditional start 2022-02-08 12:46:27 +01:00
Ilya Averyanov 17599432d1 feat(license): add license application 2022-02-07 19:05:47 +03:00
Zaiming (Stone) Shi c643db6bca build: move otp version check to rebar.config.erl 2022-01-31 16:39:14 +01:00
Thales Macedo Garitezi a597e92576
chore(mix): use MIX_ENV to define build profile and edition 2022-01-28 17:24:35 -03:00
Kian-Meng Ang fc92e4c8bf docs: fix typos 2022-01-27 12:29:38 +01:00
Zaiming (Stone) Shi b9e507110c build: add EMQX_ENTERPRISE compile flag 2022-01-26 14:25:59 +01:00
Zaiming (Stone) Shi 391e480824 build: parameterise package version
so that community and enterprise edition can be built from the
same branch
2022-01-26 14:25:59 +01:00
Zaiming (Stone) Shi a04c834d05 chore: relocate some release files from data/ to rel/
data dir at the root is easily confused with the data
dir for EMQ X at run time
2022-01-14 16:41:22 +01:00
k32 b2b6cff469 revert(makefile): Remove lightweight dialyzer target 2022-01-12 15:40:44 +01:00
William Yang 202e23987d
Merge pull request #6677 from qzhuyan/dev/william/add-light-dialyzer-check
chore: add light dialyzer make target
2022-01-11 09:39:58 +01:00
Zaiming (Stone) Shi b2684b995d build: doc for win 2022-01-10 12:30:01 +01:00
William Yang 0d37ee9588 chore: add light dialyzer make target
for low mem dev machines
2022-01-07 11:09:17 +01:00
JimMoen 9a115b99a4 Merge remote-tracking branch 'emqx/release-5.0-beta.3' into merge-5.0-beta.3-to-master 2022-01-06 14:08:45 +08:00
zhanghongtong 517b634409 build(windows): do not compile doc for windows 2022-01-06 09:17:06 +08:00
Zaiming (Stone) Shi 1eaac9ea12 feat: add redbug 2022-01-04 00:56:25 +01:00
Thales Macedo Garitezi c70a47bba6
refactor(mix): undo the `bin/emqx` script split into helper files 2021-12-30 13:45:13 -03:00
Thales Macedo Garitezi 67cca5d3a1
chore(mix): use the same script in mix release as in rebar release
Surprisingly enough, by doing small cirurgical changes in the existing
EMQX control scripts, we are able to get it running with Elixir and
with existing functionalities (`console`, `remote_console`, `start`,
`stop`, `ctl`, `foreground`, `eval`).
2021-12-23 17:20:04 -03:00
Thales Macedo Garitezi a5939790c5
refactor(bin): extract common script functionalities into separate files
In order for us to reuse most of the functionalities implemented in
`bin/eqmx` also in the Elixir release script, common variable and
function definitions are extracted in separated bash files that can be
sourced by both Rebar and Elixir release scripts.
2021-12-22 10:35:06 -03:00
Thales Macedo Garitezi 34d6dbca61
chore(mix): simplify build by using rebar3 for umbrella apps
By treating the apps in the umbrella as dependencies to be managed and
built by rebar3, we can simplify the maintenance of the release, at
the cost of increased build times: using Mix as before, it could track
changed files better than using rebar.  But the complexity and
possibility of discrepancies make it using rebar much more compelling.
2021-12-22 09:40:01 -03:00
Zaiming (Stone) Shi 4d9b4cb828 refactor: delete lib-extra
plugin development and deploy will different from 4.3
2021-12-16 12:48:13 +01:00
Zaiming (Stone) Shi 47e1875345 build: add back emqx_slow_subs to release app list
accidently lost it during rebase
2021-12-13 20:52:18 +01:00