Commit Graph

366 Commits

Author SHA1 Message Date
Zaiming (Stone) Shi 0c5ab5183a
Merge pull request #10109 from zmstone/0308-stop-releasing-schema.json-in-rel-package
0308 stop releasing schema.json in rel package
2023-03-13 14:27:15 +01:00
Zaiming (Stone) Shi ab4b3dd60a build: generate docs per profile 2023-03-09 16:03:01 +01:00
Zaiming (Stone) Shi 3463cd0d37 refactor: generate document related artifacts to _build/docgen 2023-03-09 09:32:03 +01:00
William Yang 27c5389fdc fix(quic): inval listener option casue segfault
bump quicer to 0.0.113
2023-03-06 14:05:33 +01:00
Zaiming (Stone) Shi 3458aee296
Merge branch 'master' into 0213-port-blackbox-cover-report-from-v4 2023-02-22 22:21:44 +01:00
William Yang 0a207856aa chore: bump quicer 0.0.111 and emqtt 1.8.2 2023-02-21 10:36:15 +01:00
William Yang 31cfd728c4 ci(quic): bump to quicer 0.0.109 for ubuntu22.04 prebuilds 2023-02-20 14:50:35 +01:00
William Yang c7efccb996 chore: bump emqtt 1.7.1-pre2 & quicer 0.0.108 2023-02-20 10:42:55 +01:00
William Yang 3c73c6b7c6 feat(quic): bump quicer to 0.0.107 2023-02-20 10:42:55 +01:00
William Yang 38247a9d62 feat(quic): bump quicer to 0.0.106 2023-02-20 10:42:55 +01:00
William Yang 282d1a6829 ci: build dialyzer PLT with quicer, jq and bcrypt 2023-02-20 10:42:55 +01:00
William Yang 22dcf5907e feat(quic): bump to quicer 0.0.104 2023-02-20 10:42:55 +01:00
William Yang 5764994436 feat(quic): bump to quicer 0.0.103 2023-02-20 10:42:55 +01:00
William Yang ceac5a0ec7 feat(quic): bump to quicer 0.0.101 2023-02-20 10:42:55 +01:00
William Yang 7d9bd33de9 feat(quic): bump quicer version to 0.0.100 2023-02-20 10:42:55 +01:00
William Yang 2d09a054e3 chore: add some typing 2023-02-20 10:42:55 +01:00
Zaiming (Stone) Shi ba65cf48c3 feat: add new module emqx_cover.erl 2023-02-13 22:31:18 +01:00
Zaiming (Stone) Shi e668044ebc fix: version number previs in restricted shell 2023-01-16 13:47:00 +01:00
Andrew Mayorov 7df1e6cb36
fix(ci): bump to jq v0.3.9 with OTP-25 prebuilt binaries
This should heal OTP-25 package builds targeting amzn2.
2022-12-28 12:09:46 +03:00
Zaiming (Stone) Shi f19d649c11
Merge pull request #9584 from kjellwinblad/kjell/fix_jq_dont_start_port_programs_when_they_are_not_needed
fix: do not start jq port programs when they are not needed
2022-12-20 13:47:52 +01:00
Kjell Winblad 75021b376e fix: do not start jq port programs when they are not needed
The jq function in the rule engine uses the jq NIF implementation by
default so there is often no need to start any jq port programs. Before
this commit jq port programs were started anyway. This is fixed by not
starting the jq application (the jq application is started automatically
when the jq port implementation is activated).
2022-12-20 12:10:35 +01:00
Andrew Mayorov aece9fb96f
ci: unset compile time vsn in dev profiles
Before this commit source had been compiling with inconsistent
`erl_opts` under test profile with `PROFILE` env set to `emqx`.

```
{compile_info,[{emqx_vsn,"5.0.0-beta.5-g948d4170"}]},
{d,'EMQX_RELEASE_EDITION',ce},
```

Instead stop passing `emqx_vsn` through compile options as is
expected by `emqx_release:version/0`.
2022-12-16 13:45:06 +03:00
Andrew Mayorov 51d849f267
fix(release): pass overlay vars with correct option
Even though relx 4.7.0 seems to support passing overlay vars through
`overlay_vars` option, it was designed to hold list of filenames where
vars are defined and works unreliable if used as a proplist.
2022-12-16 13:45:05 +03:00
Andrew Mayorov 2e1cdd039e
ci: include OTP-25 in some workflows
* Use OTP-25 exclusively for Elixir builds
* Include OTP-25 in slim package builds
* Include OTP-25 in test workflow matrices
2022-12-16 13:45:04 +03:00
Zaiming (Stone) Shi 83fe35b148 Merge remote-tracking branch 'origin/dev/ee5.0' into 1116-sync-v5.0.10-to-ee50 2022-11-18 19:23:31 +01:00
Zaiming (Stone) Shi 09455edae8 Merge tag 'v5.0.10' into dev/ee5.0 2022-11-16 16:20:30 +01:00
Thales Macedo Garitezi 04588148b7 test(influxdb): increase influxdb bridge/connector coverage (ee5.0) 2022-11-07 15:15:49 -03:00
Ivan Dyachkov 2b3748304d chore: bump jq to v0.3.8 (remove -flat_namespace flag on Darwin) 2022-10-27 15:27:38 +02:00
Thales Macedo Garitezi a6ba8494d8 feat: start `telemetry` app before `emqx` 2022-10-13 11:17:10 -03: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
zhongwencool b2732dc3ff
Merge pull request #8950 from zhongwencool/rename-emqx-enterprise.conf
feat: don't include emqx-entriprise.conf in opensource
2022-09-14 11:05:28 +08:00
Zhongwen Deng 6a470dc3ac feat: don't include emqx-entriprise.conf in opensource 2022-09-13 18:53:56 +08:00
Zaiming (Stone) Shi 4534966e36 Merge remote-tracking branch 'origin/master' into dev/ee5.0 2022-09-13 12:16:54 +02:00
Ivan Dyachkov 6c6e8f684a build: take into account PKG_VSN env variable in rebar.config.erl 2022-09-07 22:36:30 +02:00
Zaiming (Stone) Shi ac840e318e refactor(cookie): Warning message when boot with default Erlang cookie 2022-09-06 18:58:35 +02:00
Xinyu Liu 5f7dc431b4
Merge pull request #8718 from emqx/master
merge master into dev/ee5.0
2022-08-15 08:58:20 +08:00
Zaiming (Stone) Shi acce19ef2f build: fix profile pattern match 2022-08-14 19:07:40 +02:00
Shawn b3162fe5ff fix: conflicts between master and ee5.0 2022-08-14 22:24:09 +08:00
Zaiming (Stone) Shi 59dfde04a9 build: match emqx-pkg profile 2022-08-13 21:07:13 +02:00
Zaiming (Stone) Shi c93829c784 build: pass build profile as environment variable 2022-08-13 19:09:41 +02:00
William Yang c0750b9946 build: bump relup helper to 2.1.0 2022-08-11 20:37:45 +02:00
JimMoen 10b19acd35 chore: module and fun call rename 2022-08-02 16:59:56 +08:00
DDDHuang e4eba157c3 feat: add emqx enterprise app connector & bridge 2022-07-25 09:36:45 +08:00
Thales Macedo Garitezi ed9ba0d843 chore: do not include rocksdb on raspbian 2022-07-19 11:52:17 -03:00
zhongwencool b1c259191c
Merge pull request #8502 from ieQu1/wait-cluster-rpc-shard
Wait cluster rpc shard
2022-07-19 11:29:02 +08:00
Thales Macedo Garitezi 1ef898d126 ci(rocksdb): conditionally load mnesia_rocksdb in release
Otherwise, it might not be included in the release, since it's no
longer declared as a dependency on the mria app.
2022-07-18 17:40:06 -03:00
William Yang 4481ae6ff8 feat(quicer): bump to 0.0.16 2022-07-18 12:08:22 +02:00
William Yang a6f14c255d feat: add emqx_cluster_rescue 2022-07-15 15:47:52 +02:00
Kjell Winblad f3ce2eaf2c fix: upgrade jq lib to get rid of crash when space in path
This commit upgrades the jq library to a version that has fixed
an issue that caused a crash when the port program had a space
in its path.
2022-07-08 18:36:28 +02:00
Zhongwen Deng 92019e4d4c chore: don't copy i18n.conf 2022-07-01 09:33:35 +08:00
Zhongwen Deng 9768e302c2 chore: mv i18n.conf to emqx_dashboard/priv/ 2022-06-30 21:15:57 +08:00
Zhongwen Deng 4f08a807fe chore: rename emqx-example-en.conf to emqx-example.conf 2022-06-30 21:15:57 +08:00
JimMoen 4c7bddd4bb build: conditionally build jq 2022-06-29 13:23:38 +08:00
Zhongwen Deng 6372456211 chore: move vm.args.* to etc/ 2022-06-28 10:36:43 +08:00
Zaiming (Stone) Shi 385566c1a0 docs: change descriptive info from 'community' to 'opensource' 2022-06-20 19:38:29 +02:00
Zaiming (Stone) Shi 701a113aa4 ci: pin quicer 0.0.14 2022-06-17 12:35:54 +02:00
Zaiming (Stone) Shi fa41c9ff35 chore: pin quicer 0.0.12
quicer (quic.git) 0.0.12 has a build cache enabled which can spped up
the builds
2022-06-16 12:17:02 +02:00
William Yang 3c7dd5d6c4
Merge pull request #8092 from qzhuyan/dev/william/bump-quicer
feat: new quicer 0.0.11
2022-06-16 11:48:31 +02:00
Zhongwen Deng be7724b4e7 chore: add emqx-example-en.conf in release 2022-06-15 22:45:43 +08:00
William Yang 45e2605485 build: workaround for windows build 2022-06-15 14:39:29 +02:00
William Yang 6349b5e5e0 feat(quic): bump to quicer 0.0.11 2022-06-15 14:39:29 +02:00
William Yang 5b79fd55a2
Merge pull request #8176 from qzhuyan/dev/william/kill-quic
chore: don't build quic on MacOS
2022-06-13 14:34:39 +02:00
William Yang d49a75ae28 chore: don't build quic on MacOS 2022-06-13 13:09:20 +02:00
Zaiming (Stone) Shi 265c3303d9 build: build docs in a separate step
prior to this commit, docs are built as a rebar3 post-compile hook
and the docs are generted directy into the _build dir.

the advanage was: so there is no need for a separate step to
build docs.
however this giving makeing Elixir build a hard time.

With this change, the steps are moved to build script
* compile
* make_docs
* assemble release
2022-06-12 19:16:46 +02:00
Zaiming (Stone) Shi 7019efa2a0 build: copy example config to etc dir 2022-06-10 13:57:43 +02:00
Zhongwen Deng eb2a4df4af feat: change node.applications default to [] 2022-06-07 10:19:26 +08:00
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