Commit Graph

735 Commits

Author SHA1 Message Date
Shawn 1711823487 refactor: remove default value of timestamp field of influxdb 2023-01-12 22:25:44 +08:00
Shawn 3e9c4f444f refactor: remove the auto_reconnect field 2023-01-11 21:47:06 +08:00
Zhongwen Deng d9429bba00 fix: bump hocon to 0.35.0(don't log overriding structs) 2023-01-11 14:44:34 +08:00
Zaiming (Stone) Shi e52f9d5920 refactor: use union member type selector for authz sources 2023-01-09 14:26:16 +01:00
Andrew Mayorov 91f182de34
chore: bump to emqx/ehttpc 0.4.3
Which sports full OTP-25 compatibility.
2023-01-08 13:13:27 +03:00
Thales Macedo Garitezi 7e02eac3bc
Merge pull request #9619 from thalesmg/refactor-gauges-v50
refactor(metrics): use absolute gauge values rather than deltas (v5.0)
2023-01-02 10:56:47 -03:00
Thales Macedo Garitezi 24bae2641e chore: upgrade wolff -> 1.7.4 2022-12-29 16:58:00 -03: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
Thales Macedo Garitezi ce43e6b3d6 chore: upgrade kafka_protocol, wolff, brod 2022-12-27 10:30:14 -03:00
Zaiming (Stone) Shi 59970272ff chore: pin hocon 0.33.0 2022-12-23 12:07:36 +01: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 9be8c4e076
ci: pin emqx/erlang-rocksdb to 1.7.2-emqx-7
Which has binaries prebuilt under OTP-25.
2022-12-16 13:45:06 +03:00
Andrew Mayorov 9f49b8fd4a
fix: also pin `redbug` to 2.0.8 in mix.exs 2022-12-16 13:45:04 +03:00
Zaiming (Stone) Shi 34f7fff97d chore: pin hocon 0.32.0 2022-12-14 15:53:42 +01:00
Zaiming (Stone) Shi 11b83d9794 fix: upgrade ehttpc from 0.4.0 to 0.4.2 for performance improvement
https://github.com/emqx/ehttpc/blob/main/changelog.md#041
2022-12-09 12:55:41 +01:00
Ilya Averyanov 7ae3ecfccb chore(retainer): optimize index writes 2022-12-09 14:42:43 +03:00
Zaiming (Stone) Shi f3b069a0d9 test: fix config load for lib-ee tests 2022-12-07 15:50:50 +01:00
Zaiming (Stone) Shi 7adb539ae1 chore: pin hocon 0.31.2 2022-12-01 16:50:10 +01:00
Zaiming (Stone) Shi 90ad3c70bf chore: upgrade to replayq 0.3.5 2022-11-18 21:18:14 +01:00
Zaiming (Stone) Shi 09455edae8 Merge tag 'v5.0.10' into dev/ee5.0 2022-11-16 16:20:30 +01:00
Ivan Dyachkov dbc9ae27c5 chore: update jq version in mix 2022-10-27 15:44:32 +02:00
ieQu1 6c8936467e chore(ekka): Bump version to 0.13.6 2022-10-26 12:08:14 +02:00
Zaiming (Stone) Shi 67dd733e8d chore: bump to gun 1.3.9
1.3.7 had a bug which caused ssl_passive message unhandled
2022-10-20 19:10:45 +02:00
Thales Macedo Garitezi a6ba8494d8 feat: start `telemetry` app before `emqx` 2022-10-13 11:17:10 -03:00
Thales Macedo Garitezi 24eda247ae chore: pin `telemetry` version 2022-10-13 10:29:53 -03:00
Thales Macedo Garitezi 4475289ce4 feat: use upstream newly tagged 1.7.0 wolff 2022-10-11 09:47:40 -03:00
Kjell Winblad 57270fb8fc feat: add support for counters and gauges to the Kafka Bridge
This commit adds support for counters and gauges to the Kafka Brige.
The Kafka bridge uses [Wolff](https://github.com/kafka4beam/wolff) for
the  Kafka connection. Wolff does its own batching and does not use the
batching functionality in `emqx_resource_worker` that is used by other
bridge types. Therefore, the counter events have to be generated by
Wolff. We have added
[telemetry](https://github.com/beam-telemetry/telemetry) events to Wolff
that we hook into to change counters and gauges for the Kafka bridge. The
counter called `matched` does not depend on specific functionality of
any bridge type so the updates of this counter is moved higher up in the
call chain then previously so that it also gets updated for Kafka
bridges.
2022-10-10 14:40:57 -03:00
Xinyu Liu a6fb75d54c
Merge pull request #9041 from terry-xiaoyu/copy-of-dev/ee5.0
merge master into dev/ee.50
2022-09-26 19:43:48 +08:00
Shawn 4135910b42 chore: merge master into dev/ee5.0 2022-09-26 09:52:33 +08:00
JimMoen 9fbd7b6e17 chore: bump `influxdb-client-erl` version 2022-09-26 09:42:32 +08:00
Zaiming (Stone) Shi f6ac4c3a76
Merge pull request #8798 from zmstone/0815-feat-add-kafka-connector
feat: Add Kafka connector
2022-09-24 22:57:50 +02:00
JimMoen 85835256f1 Merge tag 'v5.0.8' into merge-release-v5.0.8-into-master 2022-09-23 16:06:44 +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
JianBo He 89711881f5 chore: update emqtt to 1.7.0-rc.2
To avoid the MQTT bridge blocked once the inflight window fulled
see: https://github.com/emqx/emqtt/pull/171
2022-09-20 15:02:27 +08:00
ieQu1 62957b298b chore(ekka): Bump version to 0.13.5 2022-09-19 18:21:32 +02:00
Thales Macedo Garitezi 368954001d chore: upgrade `:gpb` to use `:rebar3` as its manager
```
dependency :gpb is using Rebar 2, which is no longer maintained and no longer works in recent Erlang/OTP versions. Remove the :manager option or set it to :rebar3 instead
```
2022-09-16 10:10:00 -03: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
Zaiming (Stone) Shi 0c1595be02 feat: Add Kafka connector 2022-09-13 19:46:56 +02: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
JianBo He aed2df5811 chore: update grpc vsn in mix.exs 2022-09-13 09:15:50 +08:00
Thales Macedo Garitezi 7898867c68 chore(mix): guard enterprise-only dependencies
Avoid downloading enterprise-only dependencies in community edition.
2022-09-08 14:56:03 -03:00
Zaiming (Stone) Shi ac840e318e refactor(cookie): Warning message when boot with default Erlang cookie 2022-09-06 18:58:35 +02:00
Zaiming (Stone) Shi 8a5a9ca2bf
Merge pull request #8854 from zmstone/0831-chore-merge-main-to-dev-ee50
0831 chore merge main to dev ee50
2022-09-01 11:35:23 +01:00
Zaiming (Stone) Shi 5a3fb4a011 Merge remote-tracking branch 'origin/master' into dev/ee5.0 2022-08-31 17:11:15 +02:00
JianBo He a6eff81163 chore: update emqtt to 1.7.0-rc.1 2022-08-30 09:50:36 +08:00
zhongwencool 3906819dda
Merge pull request #8753 from zhongwencool/swagger-tag-titlecase
chore: swagger tag titlecase
2022-08-18 11:46:04 +08:00
Zhongwen Deng b08991cb44 chore: upgrade minirest to 1.3.7 2022-08-17 23:31:27 +08:00
Thales Macedo Garitezi f0436a2bd6 chore: bump ekka -> `0.13.4`
ZSTD fix for RocksDB.

https://github.com/emqx/mnesia_rocksdb/pull/6
2022-08-16 09:48:32 -03:00
Shawn b3162fe5ff fix: conflicts between master and ee5.0 2022-08-14 22:24:09 +08:00
Shawn 88388b0c54 feat: http connector support async sending 2022-08-11 21:44:22 +08:00
Zaiming (Stone) Shi 18614ad291 fix(connector): add back deleted fields as deprecated
max_retries and retry_interval were removed from 5.0.4 wihtout
backward compatibliity.
This commit adds the fields back as deprecated
2022-08-10 09:50:12 +02:00
Thales Macedo Garitezi 5bd2875db8
Merge pull request #8637 from thalesmg/esockd-tls-gc
feat: add option to gc after TLS/SSL handshake
2022-08-04 14:18:45 -03:00
Thales Macedo Garitezi 19e101445c feat: add option to gc after TLS/SSL handshake 2022-08-03 09:38:51 -03:00
zhongwencool c6f879e03b
Merge pull request #8634 from zhongwencool/improve-swagger-router-generate
fix: return 503 instead of crash when dashboard generate router timeout
2022-08-03 10:46:59 +08:00
Zhongwen Deng 8e53a61791 fix: return 503 instead of crash when dashboard generate router timeout 2022-08-02 19:49:06 +08:00
JimMoen 10b19acd35 chore: module and fun call rename 2022-08-02 16:59:56 +08:00
DDDHuang 78a44cfb87 fix: override ehttpc & ecpool dep version 2022-08-01 10:43:21 +08:00
DDDHuang 4663e354bf fix: update influxdb sdk version to 1.1.3. Adapted master deps version 2022-08-01 10:34:57 +08:00
DDDHuang 4c7ca2217c fix: add influxdb udp api_v1 api_v2 connector 2022-08-01 10:27:42 +08:00
DDDHuang 3fe76446bc Merge branch 'master' into dev/ee5.0 2022-08-01 10:14:21 +08:00
JianBo He be679f8128
Merge pull request #8589 from emqx/release-v5.0.4
Merge v5.0.4 into master branch
2022-07-29 08:49:10 +08:00
Thales Macedo Garitezi aff3afb385 ci: use `Path.basename` 2022-07-28 12:23:38 -03:00
Thales Macedo Garitezi aa8026104a chore(mix): configure ee apps in `mix.exs` 2022-07-27 16:35:54 -03:00
Shawn 23eeb21b13 fix(webhook): the 'max_retries' opt means request retry times 2022-07-27 17:06:14 +08:00
DDDHuang 9ae7c62656 fix: exs deps & bad suites 2022-07-27 16:24:13 +08:00
Thales Macedo Garitezi b4be9b6fae chore: bump ekka -> 0.13.3
Mainly: https://github.com/emqx/erlang-rocksdb/pull/7
2022-07-26 09:50:14 -03:00
Chris 24f88679ae feat: Added emqx command to check configs 2022-07-25 11:01:08 +02:00
JianBo He b9cd9e51ef
Merge pull request #8530 from HJianBo/fix-exhook-dispatch-seq
fix(exhook): ensuring that exhook dispatches the client events are sequential
2022-07-22 10:43:00 +08:00
JianBo He dbeb28520b chore: bump exhook app vsn 2022-07-21 20:09:23 +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
ieQu1 6f00f51457 chore(ekka): Bump version 2022-07-18 15:13:40 +02: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
Shawn 841f816e39 refactor: improve the health_check for webhook bridges 2022-07-08 09:17:23 +08:00
Zhongwen Deng 0b1117df47 chore: upgrade hocon to 0.28.3 to speed up schema cache 2022-07-07 15:00:41 +08:00
Zhongwen Deng 92019e4d4c chore: don't copy i18n.conf 2022-07-01 09:33:35 +08:00
Zhongwen Deng b3ec3c9dfb chore: reformat mix.exs 2022-06-30 21:41:16 +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
Zaiming (Stone) Shi b3f16ccb36 fix: Erlang distribution over TLS 2022-06-28 21:49:02 +02:00
Zhongwen Deng 6372456211 chore: move vm.args.* to etc/ 2022-06-28 10:36:43 +08:00
Zaiming (Stone) Shi 701a113aa4 ci: pin quicer 0.0.14 2022-06-17 12:35:54 +02:00
Zhongwen Deng f1ca88741c fix: bump minirest to 1.3.5(pmap api_spec crash log) 2022-06-17 00:10:36 +08: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
William Yang a911c27962 feat(quic): bump emqtt to 1.6.0 with quic 0.0.11 2022-06-16 10:38:46 +02:00
Zaiming (Stone) Shi d635d08c7a chore: pin ekka 0.13.0
ekka-0.13.0 has the dns.app and k8s.app_name configs made optional
the node names of peer nodes must be the same as the connecting node
2022-06-16 00:11:41 +02:00
Zhongwen Deng be7724b4e7 chore: add emqx-example-en.conf in release 2022-06-15 22:45:43 +08:00
zhongwencool fbfed35371
Merge pull request #8214 from zmstone/0613-best-effort-json-for-hocon-type-check-errors
refactor: best-effort json for hocon type check errors
2022-06-15 22:45:05 +08:00
Zaiming (Stone) Shi 738a551550 refactor: best-effort json for hocon validation errors 2022-06-15 15:01:15 +02: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
Zhongwen Deng ca17a372a4 chore: upgrade minirest to 1.3.4 2022-06-15 14:44:02 +08:00
Zaiming (Stone) Shi 022ec06bb9
Merge pull request #8187 from zmstone/0611-copy-example-configs-to-etc-elixir
mix build: release example configs
2022-06-13 13:51:52 +01: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 c76d5c0181 build(mix): copy generated docs to release 2022-06-12 21:18:00 +02:00
Zaiming (Stone) Shi 1b4f29bd64 chore: update ekka to 0.12.9
compring to 0.12.8, it included a version bump of erlang_rocksdb
which fixed a CI build issue (bad version number uploaded to github
artifacts, caused cached build result to always fail to download
hence fallback to compile from source code)
2022-06-10 13:59:30 +02:00
lafirest 787724bb99
Merge pull request #8143 from lafirest/chore/bump_esockd_version
chore: bump esockd version
2022-06-08 10:17:02 +08:00
firest 0b84479221 chore: bump esockd version 2022-06-07 13:20:56 +08:00
Zhongwen Deng eb2a4df4af feat: change node.applications default to [] 2022-06-07 10:19:26 +08:00
Zaiming (Stone) Shi 9ea923d9d7
Merge pull request #8138 from zmstone/ci-use-emqx-builder-5.0-16
ci: use emqx-builder 5.0-16
2022-06-06 14:55:18 +01:00
Zaiming (Stone) Shi fc4d9e4dcd ci: use emqx-builder 5.0-16
Fixed openssl compatibility issue
2022-06-06 10:54:26 +02:00
Zhongwen Deng de5e388afb chore: hocon validate message 2022-06-06 09:55:12 +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
Zhongwen Deng 1345b7e993 chore: bump hocon to 0.28.0 2022-05-31 19:20:27 +08:00
ieQu1 d5649d1f89 chore(mria): Bump version to 0.2.7 2022-05-30 20:20:23 +02:00
Zaiming (Stone) Shi eacd3847ed fix(emqx_mgmt): show used and total ram from lc 2022-05-27 14:04:30 +02: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 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
Zaiming (Stone) Shi 382d9079e1
Merge pull request #7923 from zmstone/0511-pin-lc-0.3.0-fix-memory-usage-false-alarm
pin lc 0.3.0 fix memory usage false alarm
2022-05-13 21:55:23 +01:00
Zaiming (Stone) Shi eb592df275 chore: pin lc version 0.3.0
lc 0.3.0 has new APIs added to get total RAM and usage ratio
2022-05-13 13:06:27 +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
Zhongwen Deng af8cad3856 chore: bump minirest to 1.3.3(force generate dispatch rule) 2022-05-12 16:42:20 +08:00
lafirest d06377d82d
Merge pull request #7925 from lafirest/chore/esockd_version
chore: update esockd to 5.9.2
2022-05-12 15:49:08 +08:00
firest 8a5c11744f chore: update esockd to 5.9.2 2022-05-12 10:18:37 +08:00
JianBo He 481fbe856b chore: pin gun to 1.3.7 2022-05-12 10:15:46 +08:00
JianBo He 1320cc3122 chore: update ehttpc to 0.2.0
In ehttpc v0.2.0, we have optimized the implementation for request collection
to reduce resource consumption. see: emqx/ehttpc#31
2022-05-12 10:15:46 +08:00
Thales Macedo Garitezi 11b61881de
chore: bump ekka -> 0.12.6, mria -> 0.2.5
reduce mria logs when in RLOG mode.

https://github.com/emqx/ekka/pull/161
https://github.com/emqx/mria/pull/84
https://github.com/emqx/mria/pull/86
2022-05-11 15:15:41 -03:00
Zhongwen Deng 9c42c9216d fix: bump minirest to 1.3.2(pmap api_spec will crash if timeout) 2022-05-10 09:38:48 +08:00
Zhongwen Deng b91e9e59ba chore: bump minirest to 1.3.1(generate api_spec concurrency) 2022-05-10 09:38:48 +08:00
Zhongwen Deng 23a01e393c chore: bump minirest to 1.3.0 2022-05-10 09:38:48 +08:00
Xinyu Liu 62d448fb28
Merge pull request #7889 from terry-xiaoyu/jq_v0.1.1
chore: update jq to v0.2.0
2022-05-07 09:57:48 +08:00
Shawn 82da4d82be chore: update jq to v0.2.0 2022-05-06 22:20:35 +08:00
Thales Macedo Garitezi 2771193359
chore(ekka): bump ekka -> 0.12.5
Improves autocluster resilience against split-brain during startup.

https://github.com/emqx/ekka/pull/160
2022-05-05 17:02:47 -03: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 6f1610257f feat: bump hocon to 0.27.5 to remove FROM_ENV 2022-04-29 08:48:12 +08:00
Zhongwen Deng b06747d961 chore: bump typeref to 0.9.1 to fix flatten error 2022-04-28 14:05:39 +08:00
Zhongwen Deng 08cad804bf fix: bump hocon to 0.27.4 to obfuscate sensitive as binary 2022-04-27 13:55:42 +08:00
Zhongwen Deng f5e09c9f2f fix: bump minirest to 1.2.13 to fix crash when upload large form data 2022-04-27 13:55:42 +08:00
ieQu1 73733221d5 chore: Bump versions of mria, ekka, snabbkaffe 2022-04-26 17:35:30 +02:00
Zhongwen Deng 5223c3ee61 feat: obfuscate sensitive values default_password 2022-04-24 09:41:29 +08:00
ieQu1 3618296eed
Merge pull request #7729 from ieQu1/sysmon-3.0.3
chore(system_monitor): Bump version to 3.0.3
2022-04-22 14:31:44 +02:00
ieQu1 0bdb8e01a0 chore(system_monitor): Bump version to 3.0.3 2022-04-22 12:58:18 +02:00
Zaiming (Stone) Shi 9212906c5b chore: pin hocon 0.27.2 2022-04-22 08:53:30 +02:00
Zhongwen Deng bdffa8d502 chore: bump emqx_http_lib to 0.5.1 2022-04-20 10:59:22 +08:00
DDDHuang 034fa3b9be fix: update mix dep version 2022-04-16 16:37: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 700c2cfb39 feat: move *i18n.conf from etc to i18n dir 2022-04-15 10:43:37 +08:00
Zhongwen Deng 630cc8ee34 feat: support i18n with desc struct. 2022-04-15 08:42:13 +08:00
Zaiming (Stone) Shi d09e050864 chore: pin replayq 0.3.4 2022-04-13 21:55:05 +02: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
William Yang 041a8b1607 feat: diagnostic logging for mnesia wait_for_table
bump mria to 0.2.3
2022-04-06 20:21:01 +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 6fd902ebc8 chore: update dependency app versions
lc: 0.2.1
emqtt: 1.5.0
2022-04-04 21:07:02 +02:00
ieQu1 aecfa77985 chore(hocon): Bump version 2022-03-29 14:09:32 +02:00
Zhongwen Deng 8d46332b30 chore: upgrade hocon to 0.26.4 to limit HOCON_MAP's key format 2022-03-25 15:00:51 +08:00
Thales Macedo Garitezi 29ca83184a
chore: bump ekka -> 0.12.3, mria -> 0.2.2 2022-03-23 14:41:10 -03:00
Zhongwen Deng bf6339ebf4 chore: upgrade hocon to 0.26.3 to fix dialyzer warning 2022-03-21 17:56:22 +08:00
Thales Macedo Garitezi c45578c130
chore: bump gen_rpc 2022-03-16 15:20:13 -03:00
Zaiming (Stone) Shi 4a35aaa50e
Merge pull request #7304 from zmstone/update-emqtt-to-1.4.8
chore: update emqtt to 1.4.8
2022-03-15 17:50:38 +01:00
Zaiming (Stone) Shi f8d8bcb8bc chore: pin ekka 0.12.2
with mnesia_down vs node_down fix
and fast rocksdb build
2022-03-15 12:16:47 +01:00
Zaiming (Stone) Shi 420ad32aa7 chore: update emqtt to 1.4.8 2022-03-15 12:11:44 +01:00
Zaiming (Stone) Shi e36b0fedf0 chore: pin mria 0.2.1
for fast pre-built binary download of rocksdb nif
2022-03-11 14:50:48 +01:00
Zaiming (Stone) Shi 4e64010a3b build: more structured build info 2022-03-02 21:22:03 +01:00
Thales Macedo Garitezi e69ca61d49
fix(mix): do not include gpb in the release
Since `gpb` is a GPL compile-time-only dependency, we should not
include it in the release.

Note that adding `gpb: :none` to the release applications list *will*
make Mix include its files *and* reference them in the startup +
release scripts...
2022-03-02 14:49:06 -03:00
Zaiming (Stone) Shi 96815539c1 chore: delete unused template values 2022-02-28 15:25:51 +01:00
Zaiming (Stone) Shi 7df2a4655a chore: pin hocon 0.26.1
0.26.0 had a bug where 'mapping' field is encoded as a integerx- list
2022-02-28 12:54:49 +01:00
Zaiming (Stone) Shi 3bdcf18590
Merge pull request #7133 from zmstone/chore-build-with-rockylinux
build: rockylinux for 5.0
2022-02-28 09:14:48 +01:00
Zaiming (Stone) Shi edb16f902e chore: pin hocon 0.16.0 for 'mappings' in generated config doc 2022-02-27 14:44:28 +01:00
zhongwencool 13a0eff678
Merge pull request #7125 from zhongwencool/schema-json
feat: generate hot config's schema.json and remove nullable option.
2022-02-25 17:18:20 +08:00
Zaiming (Stone) Shi b2cb7f1bd5 build: update to latest builder image 2022-02-25 09:09:30 +01:00
Zhongwen Deng db584f79d6 feat: upgrade hocon to 0.25.0 to replace nullable with required. 2022-02-24 22:39:03 +08:00
JianBo He fa921775e7
Merge pull request #6999 from lafirest/feat/esockd_limiter
feat(emqx_limiter): use hierarchical limiter for esockd
2022-02-24 17:33:51 +08:00
DDDHuang 90ee450a84 feat: support http error code & error code api 2022-02-22 17:14:35 +08:00
k32 115c3f2d29 chore: Fix URLs 2022-02-21 10:13:09 +01:00
Ilya Averyanov 2aeb1bc0e8
Merge pull request #7059 from savonarola/elixir-stylecheck
chore(codestyle): add formatting check for Elixir code
2022-02-21 11:43:14 +03:00
lafirest be2c36cfa0 feat(emqx_limiter): use hierarchical limiter for esockd 2022-02-21 11:37:38 +08:00
Ilya Averyanov 634d861b90 chore(codestyle): add formatting check for Elixir code 2022-02-18 19:43:48 +03:00
Zaiming (Stone) Shi e330f789af fix(ekka): pin version 0.12.1
print lock owner status before killing it
2022-02-18 09:19:57 +01:00
Zaiming (Stone) Shi 2e94880bb6 docs: More EMQ X -> EMQX rename in descriptive strings 2022-02-15 22:39:11 +01:00
Ilya Averyanov 64c59b5469 feat(license): check license before node start 2022-02-11 11:49:29 +03:00
k32 8d5241b1d0 chore(system_monitor): Bump version to 3.0.2
This version optimizes inserts into the postgres database
2022-02-08 18:23:27 +01:00
k32 72dc7276ed
Merge pull request #6940 from k32/fix-sysmon-start
fix(system_monitor): Fix conditional start
2022-02-08 13:33:37 +01:00
k32 5a1b18ae86 fix(system_monitor): Fix conditional start 2022-02-08 12:46:27 +01:00
Thales Macedo Garitezi eea217093b
fix(mix): include `node_dump` in tgz and packages 2022-02-07 18:15:17 -03:00
k32 58b69f97fd
Merge pull request #6933 from k32/sysmon301
chore(system_monitor): Bump version to 3.0.1
2022-02-07 21:33:00 +01:00
k32 490278ccb7 chore(system_monitor): Bump version to 3.0.1 2022-02-07 20:49:28 +01:00
Ilya Averyanov 17599432d1 feat(license): add license application 2022-02-07 19:05:47 +03:00
k32 9c5d35e0db chore(ekka): Bump version to 0.12.0 2022-02-07 14:39:43 +01:00
k32 dbe1282d32 chore(mria): Bump version to 0.2.0 2022-02-07 12:37:13 +01:00
k32 f699de9773 feat(system_monitor): Bump version to 3.0.0 2022-02-07 02:22:11 +01:00
Zaiming (Stone) Shi 507952c473 feat: dump schema json file to dashbarod static dir 2022-01-31 16:38:41 +01:00
Thales Macedo Garitezi d4a16fc94a
Merge pull request #6887 from emqx/mix-use-mix_env
chore(mix): use MIX_ENV to define build profile and edition

Instead of reading some environment variables to define the build profile for the Elixir build, we use the MIX_ENV value to emulate Rebar3's profiles. Also, that makes the build output directory more similar to EMQ X's current scheme.
2022-01-31 10:38:00 -03:00
zhongwencool 8041524d20 chore(dashboard): warning wehn stop dashboard listener not found. 2022-01-29 10:36:53 +08:00
Thales Macedo Garitezi a597e92576
chore(mix): use MIX_ENV to define build profile and edition 2022-01-28 17:24:35 -03: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
Thales Macedo Garitezi bd0d331b64
Merge pull request #6636 from emqx/elixir-packages-mkII
ci(mix): build emqx packages with elixir
2022-01-27 11:10:30 -03:00
Zaiming (Stone) Shi 8c114db168 chore: pin hocon 0.23.0 2022-01-27 00:23:08 +01:00
Thales Macedo Garitezi 506dad169a
chore(elixir_otp): bump emqx-builder images 2022-01-26 16:59:50 -03:00
Thales Macedo Garitezi 01092982c1
fix(elixir): do not start logger before config
Despite Hocon generating the same config in both Elixir and Erlang
releases, apparently starting Logger before other applications has the
subtle effect of redirecting all logs to `log/erlang.log.N`, even
those lines that should appear in `log/emqx.log.N`.  Simply not adding
it to the application list restores the Erlang release behavior.
2022-01-26 16:59:48 -03:00
Thales Macedo Garitezi bc498a8041
ci(mix): add fvt tests and docker images with elixir 2022-01-26 16:59:48 -03:00
Thales Macedo Garitezi 6dd11665bb
ci(mix): build emqx packages with elixir 2022-01-26 16:59:48 -03:00
Thales Macedo Garitezi f34e87daeb
chore(ekka): update ekka -> 0.11.3
This ekka tag contains the core node discovery callback feature.
2022-01-26 14:19:39 -03:00
Zaiming (Stone) Shi d2a0b163da build: mix build version per edition type 2022-01-26 14:25:59 +01:00
DDDHuang e2ba0fc4ae fix(minirest): app version to 1.2.10 support string desc in api spec 2022-01-21 09:41:13 +08: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
zhouzb e2676bcbd8 fix: fix dep of epgsql 2022-01-13 11:39:48 +08:00
k32 6ee18b6104 refactor(broker): Don't use a macro 2022-01-05 01:28:31 +01:00
Zaiming (Stone) Shi 1eaac9ea12 feat: add redbug 2022-01-04 00:56:25 +01:00
Zaiming (Stone) Shi 57a466f372 chore: sync rebar dependency to mix build 2022-01-03 12:53:49 +01:00
Thales Macedo Garitezi 6858f496a7
chore(hocon): update hocon version 2021-12-31 14:13:39 -03: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 cea54365dd
chore(mix): keep debug info and docs in beams 2021-12-28 10:27:17 -03:00
Thales Macedo Garitezi 32b7dc406f
docs: document the elixir release vars 2021-12-28 08:46:33 -03:00
Thales Macedo Garitezi 1e567ac2b1
chore(mix): populate BUILT_ON file 2021-12-27 17:28:46 -03:00
Thales Macedo Garitezi 360a00622b
chore(mix): copy more files required by relup 2021-12-27 16:07:38 -03:00
Thales Macedo Garitezi 432faf7bd2
chore(mix): copy emqx_ctl to release as well 2021-12-27 14:09:48 -03:00
Thales Macedo Garitezi a54e108296
ci(mix): add application mode check
This adds a CI check to ensure that applications and their modes are
in sync between Elixir and Rebar release builds.
2021-12-27 13:09:55 -03:00
Thales Macedo Garitezi c14e8db869
style(format): format elixir files 2021-12-27 10:51:12 -03:00
Thales Macedo Garitezi a4fd777d77
chore(mix): take into account different release/package/edition types 2021-12-27 09:57:56 -03:00
Thales Macedo Garitezi cc652c3343
ci(mix): add elixir deps check
Checks whether there are discrepancies between rebar3 and mix deps.
2021-12-24 14:44:49 -03:00
Thales Macedo Garitezi 08571f0914
chore(mix): fix: vm.args is actually a template file 2021-12-24 09:59:53 -03:00
Thales Macedo Garitezi 4977921cdb
chore(mix): produce tar and copy more files to release 2021-12-24 09:59:30 -03:00
Thales Macedo Garitezi 4287a8f88d
chore(mix): auto-discover umbrella apps 2021-12-24 08:22:26 -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 238895a301
chore(mix): correctly define release version
With this, we no longer need the last hack in `mix_release.sh`.

A version schema with 3 parts (Major.Minor.Patch) is required by
Elixir:

https://hexdocs.pm/elixir/1.13.1/Version.html#module-versions
2021-12-22 15:43:43 -03:00
Thales Macedo Garitezi 62024854e5
chore(mix): wrap produced script and set required variables
We create a shim script that calls the one produced by Mix Release,
creating and setting the required configurations.
2021-12-22 15:15:19 -03:00
Thales Macedo Garitezi 93d603e336
chore(mix): copy more required files to release
This adds a few more required file copying/templating to the release
build step.
2021-12-22 09:46:40 -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
Thales Macedo Garitezi 2ff46a6dbb
chore(mix): create a few more required files during release
Since Mix does not support hot upgrades out of the box, it does not
create a `RELEASES` file by default.  Here, we introduce functionality
similar to what `relx` does in order for that file to be generated.

fdc8d7237e/src/rlx_assemble.erl (L928-L948)

The `RELEASES` file, in its turn, is required for `nodetool` to work
properly, and `nodetool` is required for us to generate several
required config files using `hocon`.  Since the `start{_clean}.boot`
file used by the files generated by Elixir must be explicitly defined
in the `RELEASE_LIB` `boot_var`, we apply a small patch in the
existing `nodetool` in order to inject that required parameter when
calling the escript.
2021-12-21 17:28:39 -03: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