k32
5a1b18ae86
fix(system_monitor): Fix conditional start
2022-02-08 12:46:27 +01:00
zhongwencool
3b4eade1ad
Merge pull request #6900 from zhongwencool/restricted-shell
...
feat(shell): add restricted shell and user_default
2022-02-08 17:25:28 +08:00
zhongwencool
00fe866392
chore(test): add restricted_shell CT test.
2022-02-08 10:49:11 +08:00
Ilya Averyanov
17599432d1
feat(license): add license application
2022-02-07 19:05:47 +03:00
zhongwencool
f24c05b1bd
chore(shell): make restricted_shell prompt more friendly.
2022-02-07 15:33:59 +08:00
zhongwencool
b189d594c3
chore: fix dialyzer warning.
2022-02-07 15:33:59 +08:00
zhongwencool
3efa583830
feat(shell): add emqx version to prompt.
2022-02-07 15:33:59 +08:00
zhongwencool
6a701e098f
feat(shell): add restricted shell and user_default
2022-02-07 15:33:59 +08:00
k32
f699de9773
feat(system_monitor): Bump version to 3.0.0
2022-02-07 02:22:11 +01:00
Kian-Meng Ang
fc92e4c8bf
docs: fix typos
2022-01-27 12:29:38 +01:00
JimMoen
82e3565344
chore: major mode file variable for Emacs
2022-01-13 15:53:47 +08:00
Zaiming (Stone) Shi
63167cea70
chore: update copyright
2022-01-05 20:55:00 +01:00
Zaiming (Stone) Shi
2fbe2dd0c3
fix(boot): ensure emqx_conf is the first app to boot
...
The first one to boot after emqx_machine
2022-01-03 12:53:49 +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
94a5965560
fix(rule): dead lock when update configs for rules
2021-12-31 00:03:03 +08:00
Shawn
626a4c4713
fix(machine): some apps not restarted after joining into the cluster
2021-12-31 00:03:03 +08:00
Thales Macedo Garitezi
11c169501e
chore(mix): fix app dependencies and reboot apps (emqx_conf)
...
While declaring `emqx_conf` as an application dependency of
`emqx_resource` worked for releases, it messed up the startup
relationship during tests. Since only removing `emqx_conf` from the
`applications` key in `emqx_resource` breaks the list of apps that
need to be rebooted on config changes (since `emqx_conf` is not on any
apps dependencies list, it was not being added to the final
topologically sorted list), we now always add it as a vertex to ensure
its presence there. This (apparently) makes the rebar3 release, the
mix release and test runs behave normally.
2021-12-23 13:48:28 -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
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
Zaiming (Stone) Shi
b9a3b558ee
refactor(plugins): refactor plugins configuration interface
2021-12-16 13:59:20 +01:00
k32
9fbc247e29
feat(system_monitor): Add system_monitor application
2021-12-08 16:34:10 +01:00
JianBo He
f23d2f2c92
chore: refine case side-effect
2021-11-17 10:46:46 +08: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
9fdd5e6a7e
fix(emqx_machine): Fix start/stop callbacks ( #5969 )
...
* fix(emqx_machine): Fix start/stop callbacks
* chore(ekka): Bump version to 0.11.1
* fix(router): Wait for the tables
* fix(emqx_cluster_rpc): Stop cluster RPC when joining a cluster
* fix(emqx_app): Fix a deadlock when joining the cluster
* fix(emqx_telemetry): Wait for mnesia tables
* test(ct_helper): Start ekka before emqx
2021-10-21 14:49:21 +08:00
Zaiming (Stone) Shi
ed069cfecc
Merge pull request #5963 from zmstone/refactor-authn-schema
...
refactor(authn): check authenticator config with provider module
2021-10-21 08:07:48 +02:00
Zaiming Shi
ce5b456872
refactor(authn): make schema doc generation work
2021-10-20 17:42:06 +02:00
k32
8e58699ff5
Merge pull request #5937 from k32/mria
...
feat(mria): Replace ekka_mnesia with mria
2021-10-20 13:15:23 +02:00
Zaiming Shi
9c414096c7
test(authz): test HTTP apis for built-in-database
2021-10-20 09:17:21 +08:00
Zaiming Shi
0fcb3a1e93
docs: add more schema docs for authz
2021-10-20 09:17:21 +08:00
k32
37a1c45af0
fix(dialyzer): Fix problems found by dialyzer
2021-10-18 22:04:05 +02:00
k32
07ea6e5689
fix(mria): Fix startup sequence
2021-10-18 22:04:05 +02:00
k32
73a4816d9c
fix(mria): Hook up mria to emqx_machine
2021-10-18 22:04:05 +02:00
k32
7086135ec8
chore(mria): Remove the obsolete annotiation
2021-10-18 22:04:05 +02:00
k32
d14b8e7da9
chore(mria): ekka_rlog -> mria_rlog
2021-10-18 22:04:05 +02:00
k32
326923850c
chore(mria): Get rid of copy_mnesia callback
2021-10-18 22:04:05 +02:00
k32
e14a62d4d6
chore(mria): ekka_mnesia:start/stop -> mria:start/stop
2021-10-18 22:04:05 +02:00
k32
9965d6e028
chore(mria): ekka_mnesia:create_table -> mria:create_table
2021-10-18 22:04:05 +02:00
k32
ae2056da1b
chore(mria): Fix clear_table and ro_transaction calls
2021-10-18 22:04:05 +02:00
k32
b515a45a4f
chore(mria): Rename module: ekka_mnesia -> mria
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
lafirest
8a2c5e2422
feat(rate_limiter): implement hierarchical token buckets
2021-10-14 10:20:05 +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
af36e1a791
fix: emqx_cluster_rpc.hrl to emqx_machine.hrl
2021-09-30 16:04:30 +08:00
zhongwencool
93c210887b
chore: don't use emqx_machine.hrl in emqx
2021-09-30 16:04:30 +08:00
zhongwencool
44a6f04a45
chore: reorganize shards position
2021-09-30 16:04:30 +08:00
zhongwencool
be123f613d
Fix: apps should boots after emqx_machine_sup's children spawn. ( #5851 )
...
* fix(cluster_call): apps should start after cluster_call init
* fix: undef function
* chore: reformat code
* fix: ekka must start before emqx
2021-09-30 13:56:18 +08:00
tigercl
55ec5bab9e
Merge pull request #5773 from tigercl/feat/psk-file
...
feat(psk): support psk
2021-09-29 13:37:49 +08:00
zhouzb
74c9a38e9f
fix(psk): fix bugs and add test case
2021-09-27 21:42:32 +08:00
Spycsh
c3b980fde9
chore: fix Windows compilation process
2021-09-27 21:24:10 +08:00
zhongwencool
5280f83651
Merge pull request #5784 from zhongwencool/delayed-api-schema
...
feat(delayed_api): support hocon schema
2021-09-27 13:45:17 +08:00
Shawn
bd081913b5
refactor(rules): remove emqx_rule_actions
2021-09-26 23:00:08 +08:00
zhongwencool
cae79a0584
feat(swagger): move public page/limit/error_code to emqx_dashboard_swagger module
2021-09-24 21:51:53 +08:00
zhongwencool
8c441673c2
feat(delayed_api): support hocon schema
2021-09-24 15:22:05 +08:00
Zaiming Shi
b1cf5bc1d4
fix(schema): do not validate etc_dir
2021-09-23 16:56:02 +02:00
Zaiming Shi
97e1cf65b7
refactor(schema): make a client ssl options schema
...
client and server ssl options share some common fields
this commit make an abstraction for the common fields
then export server_ssl_options_schema/2 and client_ssl_options_schema/1
for other schema modules to call
2021-09-23 16:56:02 +02:00
Zaiming Shi
fbd5701989
fix(emqx_schema): make ssl config schema right
2021-09-23 16:56:02 +02:00
zhongwencool
65633a4ad2
chore(cluster-call): more detail about failed case
2021-09-18 12:34:20 +08:00
zhongwencool
6ed0bdc665
fix(cluster-call): MinDelay clumiscalculation, don't sleep in first check.
2021-09-17 15:23:25 +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
Spycsh
f971dfd149
chore(config): add etc dir config
2021-09-10 20:31:32 +08:00
Zaiming Shi
0b11ab2d59
refactor(schema): reorder config root fields
...
so more important configs are ordered before less important
2021-09-10 07:28:09 +02:00
Zaiming Shi
01166a8bfb
feat(schema): generate document when building the release
2021-09-10 07:27:02 +02:00
Zaiming Shi
0039bfca6b
refactor(emqx_machine_schema): use hoconsc:map type
2021-09-10 07:27:01 +02:00
zhongwencool
9820027953
fix(cluster-call): fixed crash test case
2021-09-10 13:17:17 +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
037b75a276
refactor(bridges): remote the old emqx_bridge_mqtt app
2021-09-10 11:43:03 +08:00
Shawn
bfb2df37ce
refactor(bridge): rename emqx_data_bridge to emqx_bridge
2021-09-10 11:43:03 +08:00
zhongwencool
6bc7378e63
fix(cluster-call): fix typo and add is_success/1 help function
2021-09-10 09:40:30 +08:00
zhongwencool
24aaa5349b
chore(cluster-call): more clear function/var name
2021-09-07 10:00:19 +08:00
zhouzb
e998770f2e
refactor(authn): refactor to support global and listener authentication
2021-09-06 18:46:08 +08:00
Zaiming Shi
19aff7bfdd
fix(authz): schema fields used directly.
2021-09-03 14:58:49 +02:00
Zaiming Shi
ec13463f4a
refactor(schema): prepare for hocon schema doc generation
2021-09-03 11:02:31 +02:00
zhongwencool
679edbc29c
feat(cluster-call): support confirm success after all mfa apply ok
2021-09-02 10:03:03 +08:00
Zaiming Shi
5165fd6b30
refactor(schema): implement new hocon_schema callbacks
2021-08-30 09:56:03 +08:00
Zaiming (Stone) Shi
c64af6a78c
Merge pull request #5532 from zhongwencool/master
...
feat(emqx_cluster_call): ensure the consistency of resources
2021-08-27 09:40:31 +02:00
zhanghongtong
4594d2d42b
chore(authorization): merge authorization in emqx and emqx_authz
2021-08-27 15:08:56 +08:00
DDDHuang
86231f795d
refactor: close managment http 8081 ( #5564 )
2021-08-27 13:46:39 +08:00
zhongwencool
e35a6c7350
chore: cluster_call early aborted
2021-08-27 11:15:46 +08:00
zhongwencool
c1c24af002
fix: dialyzer warning
2021-08-27 10:09:26 +08:00
zhongwencool
73238ed81f
feat: emqx_resource support cluster_call
2021-08-26 17:23:39 +08:00
zhongwencool
4528508620
feat: replace gen_statem by gen_server
2021-08-26 17:23:38 +08:00
zhongwencool
60c1c4edba
feat: move cluster_call to emqx_machine
2021-08-26 17:23:38 +08:00
Turtle
e4f5e9332e
feat: support array bridge_mqtt conf
2021-08-25 13:34:00 +08:00
DDDHuang
aa6f1ac88d
feat: auto subscribe, todo: test SUITE
2021-08-25 11:57:37 +08:00
k32
397a04ec7c
Merge pull request #5509 from k32/rlog-fixes
...
Minor fixes to improve compatibility with RLOG feature
2021-08-23 16:10:33 +02:00
Shawn
de92cd411b
feat(log): get the least severe level of handlers as the primary level
2021-08-23 18:25:45 +08:00
Shawn
8ac8b9785b
refactor(config): update the conf struct for logger
2021-08-23 18:25:45 +08:00
Shawn
985dce786c
refactor(config): update the conf struct for logger
2021-08-23 18:25:45 +08:00
k32
af902df040
fix(emqx_machine): Fix application startup order
...
Ekka application should be started first
2021-08-21 17:47:34 +02:00
Shawn
f3efc89192
refactor(config): replace all ':' with '=' in the *.conf ( #5531 )
2021-08-19 19:57:42 +08:00
Turtle
96ee04bbd0
chore(modules): remove start emqx-ee load_modules
2021-08-13 13:44:00 +08:00
Shawn
1c86bd6199
feat(emqx_config): add emqx_config:fill_defaults/1
2021-08-12 17:20:05 +08:00
JianBo He
b3fac24c5e
chore(schmea): include the emqx_exhook_schema
2021-08-12 16:34:10 +08:00
x1001100011
9640132edc
Merge pull request #5452 from x1001100011/make-EMQX_DEP_APPS-static
...
feat: make EMQX_DEPS_APPS static
2021-08-11 21:50:57 -07:00
Zaiming Shi
ac1763cd80
fix(config): infinity is not valid for log.max_depth
2021-08-11 10:14:59 +02:00
x1001100011
698c6c6ebc
feat: make EMQX_DEPS_APPS static
2021-08-11 01:09:27 -07:00
Zaiming Shi
f1262e04bf
feat: log error if timed out waiting after init:stop
2021-08-09 10:28:30 +02:00
Zaiming Shi
668ecbe97b
fix: improve node stop wait loop
2021-08-09 10:28:04 +02:00
Zaiming Shi
e698600903
refactor(emqx_machine): supervise terminator
2021-08-06 12:51:25 +02:00
Zaiming Shi
032a49114c
fix(emqx_machine): start terminator in emqx_machine_app
2021-08-06 12:16:15 +02:00
Zaiming Shi
5063d3a2b3
fix(emqx_machine): ensure digraph is deleted after use
...
also add tests
2021-08-06 12:16:10 +02:00
Zaiming Shi
75f9741d75
fix(terminator): ensure erl_signal_server init:stop
...
ensure init:stop can be triggered by kill signal even before the
terminator is ready
2021-08-06 11:10:16 +02:00
Zaiming Shi
304b322a0c
fix(emqx_machine): handle early shutdown
2021-08-06 10:20:42 +02:00
Zaiming Shi
81c9dcb6ae
refactor(emqx_machine_terminator): future-proof try-catch
...
Ensure exceptions in emqx_machine:stop_apps/0 is caught
and call init:stop/0 in the after clause
2021-08-06 08:51:48 +02:00
Zaiming Shi
044e084698
feat(emqx_machine): ignore sighup, ensure sigterm
2021-08-06 08:46:07 +02:00
Zaiming Shi
85f8ba10ce
fix(emqx_machine_signal_handler): ignore unknown info
2021-08-06 08:21:06 +02:00
Zaiming Shi
bee8f01ee8
feat(emqx_machine): add a kill signal handler
...
Now the signal from kill PID can also be handled gracefully
2021-08-06 02:12:21 +02:00
Zaiming Shi
4025d31295
refactor(emqx_machine): move code from _app module to to emqx_machine
2021-08-05 14:30:59 +02:00
Zaiming Shi
bc23ff5e47
feat: add graceful shutdown
...
prior to this cahnge emqx node shutdown is done by init:stop
which might have undesired stop order of the applications
in this change, emqx_machine_terminator is added to stop apps
in defined order and then terminate the node in infinite loop
2021-08-05 14:11:58 +02:00
Zaiming Shi
ce24696329
refactor(emqx_app): start quic listener condition
...
when the app is present, and when listners are configured
2021-08-05 12:58:03 +02:00
Zaiming Shi
e6232665a3
refactor(emqx): ensure app shutdown and reboot order
...
make use of application dependency to ensure start order.
also the same dependency top-sorted for shutdown and reboot order
2021-08-04 08:40:03 +02:00
Zaiming Shi
e6907478ba
test: move emqx_global_gc_SUITE to emqx_machine app
2021-08-04 08:36:10 +02:00
Zaiming Shi
5b5006e8ab
refactor(emqx_sup): move global gc to emqx_machine app
2021-08-04 08:36:10 +02:00
Zaiming Shi
522d8e0a4a
refactor(config): split config and schema
2021-08-04 08:36:10 +02:00
Zaiming Shi
4bbd398550
refactor(emqx): create emqx_machine app
2021-08-04 08:36:10 +02:00