Commit Graph

588 Commits

Author SHA1 Message Date
Shawn cc1222ffea fix(emqx_config): correct some function sepcs and return values 2021-08-12 17:20:05 +08:00
Shawn b652a64dbb fix(config): reset config failed due to rootname not found 2021-08-12 17:20:05 +08:00
Shawn 1c86bd6199 feat(emqx_config): add emqx_config:fill_defaults/1 2021-08-12 17:20:05 +08:00
k32 5abec37098 chore(build): Globally set snk_kind macro to msg 2021-08-11 14:03:41 +02:00
Shawn bafcb7f34a fix(emqx_config): always return atom-key map for emqx_config:get/2 2021-08-10 15:17:45 +08:00
Shawn 990c383e01 feat(emqx_config): support fetching the entire config map 2021-08-10 15:17:45 +08:00
Shawn c05e92a7cc fix(emqx_config): delete the emqx_config_handler:remove_config/2 2021-08-10 15:17:45 +08:00
Shawn b8253ee94f feat(config): support config path mixed with atom() and binary() 2021-08-10 15:17:45 +08:00
Zaiming Shi d453005d8b fix(emqx): pin quicer 0.0.7 2021-08-05 13:43:22 +02:00
Zaiming Shi 6f8ca4ce07 feat: allow disable listener from environment variable 2021-08-05 12:58:03 +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 bdb871cb9a refactor(emqx_listeners): simplify listing logic 2021-08-05 12:07:10 +02:00
DDDHuang e7cb9491c6
Merge pull request #5306 from DDDHuang/sys_info
chore: sys uptime by millisecond
2021-08-05 13:51:06 +08:00
zhanghongtong dba37513a1 fix(emqx_ctl): fix an error when "~" in the print content 2021-08-05 10:45:40 +08: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 3cda69fa3f fix(logging): text log formatter avoid binary literals 2021-08-04 08:36:10 +02:00
Zaiming Shi 58d0717b2f fix: add debug log for apps stop 2021-08-04 08:36:10 +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
Zaiming Shi b10fb4e95d refactor: unify all io:format calls to use the same macro 2021-08-01 09:36:59 +02:00
Zaiming Shi 683974e1c8 refactor(log/textfmt): print mfa metadata in text formatter 2021-08-01 09:36:59 +02:00
Zaiming Shi 2998a87a8d fix(log/jsonfmt): log map() reports at top level JSON fields 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
Zaiming Shi e57f99168b refactor(logger): delete log header parse-transform
because now we have MFA in log
2021-08-01 09:36:59 +02:00
Zaiming Shi 0f5c5db841 refactor(logger): stop using anonymous fun for logging 2021-08-01 09:36:59 +02:00
Zaiming Shi df69a9c031 chore: upgrade to hocon 0.11.0 2021-08-01 09:36:59 +02:00
zhanghongtong 9a03138e53 feat(hooks): emqx hooks support put 2021-07-30 19:01:24 +08:00
zhanghongtong 1f4ce31010 chore(release): update emqx release version 2021-07-30 17:52:35 +08:00
Shawn 054623bd56 fix(authz): update the post_config_update callback 2021-07-30 15:37:09 +08:00
Shawn dc1ba51935 fix(emqx_config): always check config files using richmap at emqx bootup 2021-07-30 15:37:09 +08:00
Shawn 35032e1d44 refactor(emqx_config): call MOD:post_config_update/3 after checking hocon schema 2021-07-30 15:37:09 +08:00
Turtle ef1b591532 chore: Dynamically get the app that starts by default 2021-07-30 13:43:25 +08:00
Zaiming Shi 729f89f514 chore(rebar.config): update hocon version 0.10.5 2021-07-30 09:18:43 +08:00
Zaiming Shi cf1246f026 feat(emqx_config): allow loading configs from binary
This will be helpful for tests
2021-07-30 09:18:43 +08:00
Zaiming Shi 82df49d165 fix(emqx_config): handle default value correctly 2021-07-29 12:18:45 +02:00
Zaiming Shi 8d2f9d4e1c refactor(emqx_config): store configs per root name
Prior to this change, the global (a big map) config is saved
to persistent_term as one single term.

With this change, configs are keyed by their name spaces,
i.e. the root struct names in hocon schema.

This is to allow loading configs with more dynamic scope,
so we can start emqx app independently (without all merged configs),
and to allow external plugins to load their configs incrementally
at run-time.
2021-07-29 12:18:45 +02:00
Zaiming Shi 085d6c9ba0 fix(emqx_schema): resolve os env in translation
default value is a part of schema which should be static and
deterministic between different run-time or build-time environment
2021-07-29 12:18:45 +02:00
Turtle cdc8000493 chore(modules): presence/delayed/telemetry/rewrite/topic_metrics independent conf 2021-07-29 16:57:14 +08:00
zhanghongtong 4c6739161d chore(emqx authz): rename root name for authz conf
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-07-29 16:44:40 +08:00
Turtle 4afae79be9 chore(statsd): update statsd conf root 2021-07-29 10:08:07 +08:00
Turtle 61c11b8e3f chore(config): delete presence/subscription/rewrite config 2021-07-28 18:58:18 +08:00
Zaiming Shi cecc3bb899 chore(config): delete lager config
the only lib used lager was amqp client which is now updated
with lager droped from its dependencies
2021-07-28 18:06:59 +08:00
Shawn 90b20aae2b fix(dialyzer): nowarn_function extra_schema_fields/1 2021-07-28 14:51:02 +08:00
Shawn e7ced477a9 feat(config): read schemas for apps from file at build time 2021-07-28 14:51:02 +08:00
Zaiming (Stone) Shi f93ee2ca17
Merge pull request #5330 from zmstone/feat-support-sname
feat: support short node name (sname)
2021-07-28 07:14:46 +02:00
Zaiming Shi e6110b0e9e fix(emqx_app): stop listeners in application prep_stop callback
Application:stop is call after the root supervisor is stopped,
in our case, prior to this fix, emqx_sup is stopped before
the listeners (hence the emqx_connection processes).

This causes shutdown to emit a lot of error logs
e.g. emqx_broker pool is down, but emqx_connection process is still
trying to call the pool
2021-07-28 08:53:49 +08:00
Zaiming Shi d628d37a93 fix(emqx_os_mon): log info level for unexpected message
also reply error for unexpected gen_server call
and refine log message for unexpected gen_server cast
2021-07-28 08:53:36 +08:00
Zaiming Shi d68589e0cb feat(boot): make possible to boot on short name 2021-07-27 22:16:10 +02:00
Zaiming Shi 0ab713050d fix(emqx_schema): call new hocon_schema API to get field value 2021-07-27 09:26:37 +02:00
Turtle 7a24878436 feat(prometheus): Support swagger prometheus API 2021-07-27 08:57:40 +08:00
Shawn c0c5bcc698 feat(config): support deleting a config entry 2021-07-26 18:50:24 +08:00
zhanghongtong 4c5b75f281 chore: rename acl to authz
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-07-26 16:10:33 +08:00
Turtle 569d54a4c0 feat(dashboard): Update the configuration file to hocon 2021-07-26 15:00:40 +08:00
turtleDeng cafed47da6
refactor(config): rename emqx_config:update_config/2 to emqx_config:update/2
refactor(config): rename emqx_config:update_config/2 to emqx_config:update/2
2021-07-26 09:14:13 +08:00
Zaiming (Stone) Shi 2e6b5a0d34
Merge pull request #5305 from zmstone/chore-add-notice-files
chore: add notice files
2021-07-24 09:49:52 +02:00
Shawn 935ef0db20 fix(config): rename callback functions for emqx_config_handler 2021-07-23 18:56:30 +08:00
DDDHuang ec88e3a404 chore: sys uptime by millisecond 2021-07-23 18:32:38 +08:00
turtleDeng 29826000f0
Merge branch 'master' into update_config 2021-07-23 18:09:01 +08:00
turtleDeng 6bc096d22e
Merge pull request #5292 from turtleDeng/statsd
feat(statsd): optimize default value & add statsd http API
2021-07-23 18:05:58 +08:00
zhanghongtong 4b50bfb4c2 chore(config): rename acl to authorize in emqx.conf
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-07-23 17:56:15 +08:00
Zaiming Shi 79c550dc54 chore: add notice files 2021-07-23 11:47:04 +02:00
Turtle 6617ba2772 feat(statsd): add statsd http API 2021-07-23 17:41:53 +08:00
Shawn 2ddcfdf365 refactor(config): rename emqx_config:update_config/2 to emqx_config:update/2 2021-07-23 17:25:39 +08:00
Shawn d205a88f2a refactor(config): change alarm.validity_period to ms 2021-07-23 17:06:28 +08:00
Shawn 67f76c009a refactor(config): change sysmon.os.mem_check_interval to ms 2021-07-23 17:06:28 +08:00
Shawn 41820e3bbd refactor(config): change sysmon.os.cpu_check_interval to ms 2021-07-23 17:06:28 +08:00
Shawn 14da108443 fix(mqtt): mqtt5 property session expiry interval not working 2021-07-23 17:06:28 +08:00
Shawn 0704cbc986 refactor(config): change mqtt.session_expiry_interval to ms 2021-07-23 17:06:28 +08:00
Shawn 684e46c45d refactor(config): change mqtt.await_rel_timeout to ms 2021-07-23 17:06:28 +08:00
Shawn c5bc7e7e57 fix(test): update testcases for retry_interval 2021-07-23 17:06:28 +08:00
Shawn 93e1257045 refactor(config): change mqtt.retry_interval to ms 2021-07-23 17:06:28 +08:00
Shawn 048ba1e067 refactor(config): change global_gc_interval to ms 2021-07-23 17:06:28 +08:00
DDDHuang e96bac87ce refactor: alarms api; add: alarms format function 2021-07-23 13:56:23 +08:00
DDDHuang 9642bcce88 refactor: listeners api; add: listeners list function; fix: listener
already start error
2021-07-23 13:52:19 +08:00
Shawn 7c5caee89c fix(trie): export set_compact/1 2021-07-23 10:56:20 +08:00
Shawn 327a464844 fix(test): reload emqx_plugins after updating the config 2021-07-23 10:56:20 +08:00
Shawn c2e7acc1f1 fix(test): change application:set_env/3 to emqx_config:put/2 2021-07-23 10:56:20 +08:00
Shawn 5fd54d13d2 fix(test): cannot get trie_compaction config 2021-07-23 10:56:20 +08:00
Shawn 0a3b77f65d fix(config): write configs to emqx_override.conf failed 2021-07-23 10:56:20 +08:00
Shawn 2666c06232 refactor(config): load emqx.conf before all other tasks in emqx_app 2021-07-23 10:56:20 +08:00
Shawn 1433a7e0fe refactor(config): remove emqx:get_env/1,2 2021-07-23 10:56:20 +08:00
Turtle 709f6a535b feat(telemetry): telemetry API support swagger 2021-07-22 16:21:05 +08:00
Zaiming (Stone) Shi fd2c3fe37b
Merge pull request #5282 from zmstone/upgrade-ekka-0.10.4
fix(rebar.config): upgrade to ekka 0.10.4
2021-07-21 15:24:28 +02:00
Zaiming Shi 051ac91299 fix(rebar.config): upgrade to ekka 0.10.4 2021-07-21 11:54:32 +02:00
William Yang de387c4c8e chore: gitignore erlang_ls.config 2021-07-21 17:51:49 +08:00
William Yang 7521d09079 feat(quic): toggle QUIC listener and fix ci test 2021-07-21 17:51:49 +08:00
Shawn f913cf9617 fix(rpc): read tcp_client_num from emqx_config 2021-07-21 17:34:01 +08:00
Shawn 29bb4c2a01 fix(configs): correct the default value of some configs 2021-07-21 17:34:01 +08:00
JianBo He 74db04f1c0 chore(emqx): enrich version type 2021-07-21 16:09:48 +08:00
JianBo He 26ba1b630c test(session): fix test cases 2021-07-21 09:47:49 +08:00
JianBo He b782d4c53a refactor(emqx): strip the side effects of emqx_session module 2021-07-21 09:47:49 +08:00
Shawn 98c7f9edb2 refactor(configs): make mqtt related configs only in zone 2021-07-20 11:41:16 +08:00
Shawn af5470cb30 refactor(configs): make acl related configs only in zone 2021-07-20 11:41:16 +08:00
Shawn e0e9b7ec5b fix(emqx_congestion): read congestion config only from zone 2021-07-20 11:41:16 +08:00
Shawn 2898e9c6dc refactor(config): make rate_limit only in listeners for now 2021-07-20 11:41:16 +08:00
Shawn e6424d63d8 refactor(config): don't allow inheritable config entries 2021-07-20 11:41:16 +08:00
Shawn 31f016fa22 refactor(config): remove emqx_zone 2021-07-19 14:47:43 +08:00
zhanghongtong 2476664385 chore(release): update emqx release version 2021-07-17 18:12:40 +08:00
Shawn a0f8ca2c3f fix(config): delete the emqx.conf.old 2021-07-17 17:36:01 +08:00
Turtle 7b38ae7f47 fix(test): fix check paho test cases fail 2021-07-17 17:09:16 +08:00
Shawn c9cf8b66e7 fix(docker): cannot set log_level using os env 2021-07-17 15:25:18 +08:00
Shawn 7a77f4f54e fix(emqx_schema): start emqx as standalone app failed 2021-07-17 10:19:06 +08:00
Shawn 4d279e47d8 chore(merge): merge code from master 2021-07-17 01:20:57 +08:00
Shawn b82693cc0b fix(authz): support config hot upgrading 2021-07-17 01:18:14 +08:00
turtleDeng fc13c59d7b
chore: use hocon to replace cuttlefish 2021-07-16 23:52:43 +08:00
turtleDeng 8c9be070b4
chore: update hocon tag 2021-07-16 19:59:06 +08:00
Shawn 6d871cc52f fix(authz): resources not created when authz started 2021-07-16 18:06:10 +08:00
Shawn bb6d7c4e0b
Merge branch 'master' into emqx_config 2021-07-16 16:49:50 +08:00
k32 9d9d9f2ce3
Merge pull request #5227 from k32/dev/bump_ekka
chore(ekka): Bump version to 0.10.3
2021-07-15 17:09:59 +02:00
Shawn 543f2c78c5 fix(ekka): cluster cannot get started with the new config 2021-07-15 20:28:12 +08:00
Shawn a1488b3946 fix(test): merge conflicts 2021-07-15 18:54:31 +08:00
Shawn ba166967c9
Merge branch 'master' into emqx_config 2021-07-15 18:44:56 +08:00
Shawn a16a15e3a9 fix(test): remove tlsv1.3 provisionally to make test pass 2021-07-15 18:34:27 +08:00
Shawn d5756ecd52 fix(test): update the testcases 2021-07-15 17:19:46 +08:00
Shawn 6fbf20b930 fix(test): update the testcases 2021-07-15 16:19:26 +08:00
Shawn 3c47ab92d7 fix(listeners): update the default tls ciphers 2021-07-15 15:11:54 +08:00
Shawn f6702b020e fix(hocon): update hocon version to 0.10.1 2021-07-15 13:57:24 +08:00
Shawn 533f4cf63e fix(dialyzer): some dialyzer complains 2021-07-15 13:52:06 +08:00
Shawn 4da59a5785 fix(dialyzer): some dialyzer problems 2021-07-15 11:56:13 +08:00
Shawn 7d66760c1e fix(hocon): start emqx failed using os env configs 2021-07-15 11:55:31 +08:00
zhouzb beecc4c5a2 test(authn): fix test case for authn 2021-07-15 11:36:49 +08:00
k32 3bb41ae367 chore(ekka): Bump version to 0.10.3 2021-07-14 17:49:31 +02:00
zhouzb 6a8e35ce3a feat(one authn): merge simple authn and enhanced authn 2021-07-14 16:54:13 +08:00
Shawn 8e32d5314d
Merge branch 'master' into emqx_config 2021-07-14 09:33:58 +08:00
Shawn 25d7616881 fix(test): update the testcases for emqx_ws_connection_SUITE 2021-07-13 19:58:54 +08:00
Shawn 7d9321a141 fix(test): apply default configs for emqx_session_SUITE 2021-07-13 18:39:57 +08:00
Shawn e4e7eb81e4 fix(test): update the testcases for emqx_mqtt_caps_SUITE 2021-07-13 17:42:44 +08:00
Shawn 3aaf7041a6 fix(test): update the testcases for emqx_os_mon_SUITE 2021-07-13 17:41:15 +08:00
Shawn 01c4c655fb fix(config): make emqx_caps work with the new config struct 2021-07-13 16:42:32 +08:00
Shawn a0bddfc834 fix(config): start quic connection with zone and listener names 2021-07-13 16:41:20 +08:00
Shawn b123299c70 fix(config): make flapping work with the new config 2021-07-13 16:39:59 +08:00
Shawn 871353704a fix(test): update the testcases for emqx_channel_SUITE 2021-07-13 16:38:06 +08:00
Shawn 868b31d123 fix(test): update the testcases for emqx_mqtt_protocol_v5_SUITE 2021-07-13 16:37:18 +08:00
Shawn 6d9918d3e5 fix(test): update the testcases for emqx_vm_mon_SUITE 2021-07-13 13:52:29 +08:00
Shawn 400e08e229 fix(flapping): make the flapping work with the new config structure 2021-07-12 20:43:11 +08:00
zhanghongtong 9081a22b8c chore(deps): deps in rebar must not be use branch
Can use tags or commit ids in rebar deps

Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-07-12 18:28:47 +08:00
Shawn 499ab5d9c4 fix(config): configure a plain map for mqueue_priorities 2021-07-12 18:10:47 +08:00
Shawn 88638da287 fix(test): always init session with zone and listener names 2021-07-12 16:00:04 +08:00
Shawn ea68beeef6 fix(test): update test cases for emqx_client_SUITE 2021-07-12 15:41:43 +08:00
Shawn 042ff2e0d7 fix(test): update test cases for emqx_connection_SUITE 2021-07-10 18:01:45 +08:00
Shawn 4c122d0722 fix(test): update test cases for emqx_channel_SUITE 2021-07-10 14:29:45 +08:00
Zaiming (Stone) Shi 6b3cfd7c5d
fix(boot): boot exit on config error (#5200)
* fix(hocon): fail on hocon command errors

call_hocon bash function respects exit code

* fix(bin/emax): get dist_port config from hocon

after config file refactoring (to hocon format) the grep pattern
no longer works

* fix(bin/emqx): set -o pipefail

* feat(bin/emqx): add a DEBUG option
2021-07-10 08:51:35 +08:00
Shawn 9cda6ab3c8 feat(alarm): update the validity_period timer 2021-07-09 19:09:44 +08:00
Shawn 14af90d0c3 fix(test): update test cases for emqx_acl_cache_SUITE 2021-07-09 15:38:51 +08:00
Shawn fb78e510ca fix(test): update test cases for emqx_access_control_SUITE 2021-07-09 15:04:54 +08:00
Zaiming Shi e990220e83 fix(emqx.conf): default wss max_connection from 16 to 102400 2021-07-09 07:34:04 +02:00
Shawn 0ac2492b36 fix(config): read app env 'config_files' to get the path to emqx.conf 2021-07-08 19:27:36 +08:00
Shawn 27d5c5b2d9 feat(config): make quic listener start with the new config 2021-07-08 15:05:07 +08:00
William Yang 79d169b3ff chore(quic): bump emqtt vsn to 1.4.2 2021-07-07 13:41:47 +02:00
William Yang 660d16e84b feat(config): set the endpoint to "" to disable listener 2021-07-07 13:41:47 +02:00
William Yang 1f20bae392 feat(quic): conditionally build/start quicer app 2021-07-07 13:41:47 +02:00
William Yang 6adb76cf27 ci: try 32bit fix from quicer 2021-07-07 13:41:43 +02:00
Shawn 477097c062 chore(project): merge code from master 2021-07-07 19:32:52 +08:00
Shawn 4dd72e59fa feat(listeners): make the APIs and CLIs work with the new listener 2021-07-07 16:22:38 +08:00
Shawn 630b54f6ee feat(acl): make mqtt over websocket work with the new config 2021-07-07 14:43:54 +08:00
Shawn 707851c36f refactor(force_shutdown): force shutdown the connection if it don't kill itself 2021-07-06 20:11:49 +08:00
Shawn 7c0fd642bb feat(acl): make acl cache work with the new config 2021-07-06 19:24:54 +08:00
Shawn 5efd5c8d3b refactor(emqx_connection): make the mqtt tcp connection work with new config 2021-07-06 18:26:54 +08:00
Shawn 969e72c82b refactor(connection): remove active_n from state 2021-07-05 19:13:55 +08:00
Shawn 10b01a34ef refactor(listeners): reformat the code for starting stopping listeners 2021-07-05 19:12:26 +08:00
Shawn 6d92d87ae7 feat(map_lib): support emqx_map_lib:deep_merge/2 2021-07-05 19:11:05 +08:00
Shawn 807bbb391c feat(map_lib): support emqx_config:get_listener_conf/3,4 2021-07-05 16:40:00 +08:00
Shawn 0aec496886 feat(map_lib): support emqx_map_lib:deep_find/2 2021-07-05 16:02:03 +08:00
Shawn 30c2a76dae refactor(emqx_config): move helper funcs to emqx_map_lib 2021-07-05 15:16:01 +08:00
DDDHuang ce1e6ce89d fix: start jiffy by emqx 2021-07-05 14:41:33 +08:00
Shawn a884d215e1 fix(connection): start connection failed 2021-07-05 13:50:37 +08:00
Shawn fb809a5c08 fix(active_n): revert the changes to active_n 2021-07-05 11:28:21 +08:00
Shawn 8b3fcde380 feat(config): make the listeners up 2021-07-02 22:17:22 +08:00
JianBo He 8ee86f2fbe fix(gw): start emqx-gateway after emqx restarted 2021-07-02 20:41:46 +08:00
JianBo He 56cdd469ff
feat(gateway): The prototype for emqx-gateway application
* feat(gateway): add gateway application

* chore(gateway): add normalize confs function

* refactor: move emqx-stomp to emqx-gateway subdir

* chore(gateway): fix some bad function defination

* chore(gateway): rename type to gwid

* chore(gw-stomp): upgrade the implementation to suppport gateway instance

* feat(gw-stomp): add reconnect mechanism

* refactor(stomp): upgrade connection&channel module to latest

* refactor(stomp): more details for handle_in/out

* refactor(stomp): get it up and running

* chore(gw): load some modules by default

* refactor: upgrade the emqx-gateway schema module

* test(stomp): fix testcases for stomp gateway

* chore(gw): remove needless lines

* chore(gateway): correct a lot of specs

* chore(gw): add a draft for metrics

* chore(gw): add metrics process

* fix(gw): fix cm process monitor

* test(gw): add test cases for gateway-regitry

* feat(gw): add metrics/cli for gateway

* fix(gw): fix xref errors

* chore(gw): pretty gateway metrics print format

* chore(gw-stomp): generate clientid by default

* chore(gw): more reliable

* chore(gw): rename gwid -> type

* chore(gw): impl the update logic

* chore(gw): some format improvement

* chore(gw): adapts the hocon configs

* fix(gw): fix xref errors

* test(gw): update configurations for tests

* chore(gw): ignore diaylzer warnings

* fix(gw): fix bad function call

* chore(gw): remove needless comments
2021-07-02 20:17:40 +08:00
zhanghongtong 4313e37994 chore(release): update emqx release version 2021-07-02 19:11:02 +08:00
Turtle 24292f4f4e chore: delete plugins related configuration 2021-07-02 18:12:06 +08:00
William Yang 5ae8cd2fa3 fix(quic): dialyzer errors 2021-07-02 17:10:56 +08:00
William Yang 72117f3f1d feat(quic): bump emqtt and quicer version
emqtt: 1.4.1
quicer: 0.0.5
2021-07-02 17:10:56 +08:00
William Yang 82d0f2b016 feat(quic): Add tests and support more listener option
- support option `active_n`
- add quic group in emqx_mqtt_protocol_v5_SUITE
- fix rate limit
2021-07-02 17:10:56 +08:00
Turtle 390b28a25d fix: join cluster fail 2021-07-02 17:01:16 +08:00
Turtle 918a26e921 feat(conf): merge all conf to emqx.conf 2021-07-02 17:01:16 +08:00
Turtle fb2f2741a4 fix: fix test cases fail 2021-07-02 14:41:28 +08:00
Turtle 4b87594839 feat(conf): sys、mon、alarm、plugins、broker、mqtt conf to hocon 2021-07-02 14:41:28 +08:00
zhouzb c7cbe819ed feat(hocon): convert config format of rpc and log to hocon 2021-07-02 14:41:28 +08:00
Shawn 092c5455c8 feat(config): change configs of zone and listener to hocon format 2021-07-02 14:41:28 +08:00
Turtle 8266a79867 feat(conf): cluster/node conf to hocon 2021-07-02 14:41:28 +08:00
Shawn 8dcb5ceb86 fix(config): get config problems in sysmon 2021-07-01 18:01:38 +08:00
Shawn aad393f8d7 feat(config): apply new config struct to emqx_sys_mon 2021-07-01 16:27:59 +08:00
Shawn db38137d5c feat(config): apply new config struct to emqx_alarm 2021-07-01 15:00:59 +08:00
Shawn 66aaed1f87 feat(config): update emqx_schema for logger 2021-07-01 11:47:33 +08:00
lafirest 860aea50db chore(emqx_retainer): change config of emqx_retainer to use hocon 2021-06-30 21:42:34 +08:00
Shawn d2c50baf93 fix(config): set console_handler.enable to turewhen start from console 2021-06-30 19:24:37 +08:00
Shawn 02c9a3163b refactor(config): emqx.conf for 5.0 2021-06-30 09:39:03 +08:00
k32 dae4c771d0
Merge pull request #5126 from k32/dev/delayed-mod-shard
chore(mod_delayed): Add RLOG shard
2021-06-29 13:05:41 +02:00
zhanghongtong c9acf423ba chore: rename authorze_cache function name to check_authorization_cache 2021-06-29 10:09:15 +08:00
zhanghongtong e1b0f44a8a chore: rename check_authz to authorize 2021-06-29 10:09:15 +08:00
zhanghongtong c63bdc355a chore: rename check_acl to check_authz
update emqx_coap vsn

rename OnClientCheckAcl to OnClientCheckAuthz in exhook
2021-06-29 10:09:15 +08:00
k32 e8e956b074 chore(mod_delayed): Add RLOG shard 2021-06-28 21:35:10 +02:00
k32 73ec8c47cc chore(rule_engine): Add an RLOG shard 2021-06-28 20:29:08 +02:00
k32 26b2216e25 chore(shared_sub): Add shared_sub shard 2021-06-28 17:52:57 +02:00
k32 ce4800e6ae chore(alarm): Alarm shard 2021-06-28 17:52:57 +02:00
k32 7c9861dbaa chore(banned): Add banned shard 2021-06-28 14:05:35 +02:00
k32 ca1b789ef6
Merge pull request #5100 from k32/dev/authn-shard
Create authN shard
2021-06-28 12:57:36 +02:00
zhanghongtong 64ce0d0e4f chore(acl): delete acl nomatch config item 2021-06-28 17:47:44 +08:00
William Yang 5571c54607
Merge pull request #5002 from qzhuyan/dev/william/quic-support-centos7
Quic support part 1
2021-06-28 10:49:44 +02:00
k32 dc1deff3f3 refactor(rlog): Fix initialization of emqx_cm_registry table 2021-06-28 10:35:36 +02:00
Rory Z 1f7291380b chore: delete internal acl code 2021-06-28 11:44:01 +08:00
turtleDeng 89529ec4fa chore: reset plugin conf generate (#5094)
* chore: reset plugin conf generate

* fix(plugin): check dialyzer fail

* chore: rm emqx_management_schema.erl file

* fix(plugin): check dialyzer fail

* fix(plugin): fix check ct fail

* fix(plugin): check dialyzer fail
2021-06-28 11:43:48 +08:00
Turtle c9ac851d27 feat(prometheus): Update the configuration file to hocon 2021-06-28 11:43:48 +08:00
Shawn cc1f57ff01 Add some APIs for emqx_config (#5095) 2021-06-28 11:43:48 +08:00
Shawn d77352168f Reference to foreign schema definitions in emqx_schema (#5090) 2021-06-28 11:43:48 +08:00
Shawn 36c7785fd0 The config handler phase2 (#5052)
* refator(config_handler): handle and validate the updates to raw_configs

* fix(hocon): update hocon to 0.8.0

* refactor(config_handler): check and apply envs only in top-level handler

* refactor(config_handler): update config from top level to bottom level

* refactor(emqx_data_bridge): move configs to emqx.conf

* fix(emqx_schema): remove the extra config path

* fix(config_handler): load the emqx.conf when starting emqx_config_handler

* fix(data_bridge): API not working

* feat(config_handler): save updated configs to emqx_override.conf

* fix(config_handler): cannot find the emqx.conf and emqx_override.conf

* fix(emqx_config): cannot find the correct path for etc dir

* fix(test): load load emqx_schema foreign refereced apps

* refactor(emqx_plugin): do not generate configs before load plugins

All configs (including the configs for plugins) now should go into
the `emqx.conf`.

* fix(tests): update the test cases for plugins

* fix(tests): don't include schema from apps when testing

* fix(tests): use emqx-ct-helper branch hocon
2021-06-28 11:43:48 +08:00
k32 198e3c03e0 feat(emqx_management): mqtt_app shard 2021-06-28 11:43:48 +08:00
Zaiming Shi 871f23f047 build: do not allow user override PKG_VSN
We have an assertion in code, allowing user to override
will compile but not run.
2021-06-28 11:43:48 +08:00
Turtle 205e588b22 fix(plugins): fix load plugin generate hocon configs fail 2021-06-28 11:43:31 +08:00
Shawn e2d96e46a0 change resource,connectors,data_bridges as normal apps (#5034) 2021-06-28 11:43:31 +08:00
Turtle f004e36e28 feat(plugins): Support load plugins of hocon configuration format 2021-06-28 11:43:31 +08:00
Rory Z 87cc94ad28 chore(hooks): update type 2021-06-28 11:43:31 +08:00
Rory Z 0dd068135d chore(hooks): delete is_function() 2021-06-28 11:43:31 +08:00
Rory Z b21959b0c3 test: fix tests error 2021-06-28 11:43:31 +08:00
Rory Z 46fe77687c chore(dialyzer): fix dialyzer error 2021-06-28 11:43:31 +08:00
zhanghongtong 64a63ab892 chore(hooks): emqx_hooks no longer accept anonymous functions 2021-06-28 11:43:31 +08:00
Zaiming Shi 62df9f03ad fix(emqx_schema): add 'sensitive' flag for passowrd configs 2021-06-28 11:43:31 +08:00
Zaiming Shi 1fca3cd1b5 chore(rebar.config): use hocon 0.6.0
hocon 0.6.0 added supports for sensitive config flagging
sub-struct type checking, and remote struct referencing
2021-06-28 11:43:31 +08:00
Shawn ff54fbd1d1 fix(shared_sub): discard all unexpected msgs 2021-06-28 11:43:14 +08:00
Shawn 95e7a4dd7b chore(appup): update the appup for 4.3.5 2021-06-28 11:43:13 +08:00
Shawn 8f15a41f54 fix(shared_sub): failed to clean the emqx_shared_subscription tab
A trick that fixes the issue that we demonitored the shared subscriber
too early if it not unsubscribed all of the topics.
2021-06-28 11:42:56 +08:00
Turtle 22f1e8d7ed chore(review): review 4.3.4 2021-06-28 11:42:39 +08:00
JianBo He 8da6d5cf16 fix(emqx_cm): catch noproc exception from rpc_call (#5048) 2021-06-28 11:42:39 +08:00
JianBo He 2bc586b930 fix(ws): avoid funcation_clause for un-inited websocket 2021-06-28 11:40:43 +08:00
Zaiming Shi 0451f89c22 chore(conf): change default number of gen_rpc connections to 1 2021-06-28 11:40:24 +08:00
JianBo He 8352fa6f31 fix(mqttsn): fix proto_name to MQTT-SN instead of MQTT (#4961) 2021-06-28 11:40:22 +08:00
Rory Z c79e478c42 chore: delete internal acl code 2021-06-25 18:45:34 +08:00
turtleDeng c9c6b69cc9
chore: reset plugin conf generate (#5094)
* chore: reset plugin conf generate

* fix(plugin): check dialyzer fail

* chore: rm emqx_management_schema.erl file

* fix(plugin): check dialyzer fail

* fix(plugin): fix check ct fail

* fix(plugin): check dialyzer fail
2021-06-25 17:06:30 +08:00
Turtle 2582fdcfe8 feat(prometheus): Update the configuration file to hocon 2021-06-25 16:31:18 +08:00
Shawn d5eb37c537
Add some APIs for emqx_config (#5095) 2021-06-25 15:40:28 +08:00
Shawn 9977d836bc
Reference to foreign schema definitions in emqx_schema (#5090) 2021-06-25 12:46:57 +08:00
Shawn 704af9f3b1
The config handler phase2 (#5052)
* refator(config_handler): handle and validate the updates to raw_configs

* fix(hocon): update hocon to 0.8.0

* refactor(config_handler): check and apply envs only in top-level handler

* refactor(config_handler): update config from top level to bottom level

* refactor(emqx_data_bridge): move configs to emqx.conf

* fix(emqx_schema): remove the extra config path

* fix(config_handler): load the emqx.conf when starting emqx_config_handler

* fix(data_bridge): API not working

* feat(config_handler): save updated configs to emqx_override.conf

* fix(config_handler): cannot find the emqx.conf and emqx_override.conf

* fix(emqx_config): cannot find the correct path for etc dir

* fix(test): load load emqx_schema foreign refereced apps

* refactor(emqx_plugin): do not generate configs before load plugins

All configs (including the configs for plugins) now should go into
the `emqx.conf`.

* fix(tests): update the test cases for plugins

* fix(tests): don't include schema from apps when testing

* fix(tests): use emqx-ct-helper branch hocon
2021-06-25 11:47:18 +08:00
k32 a14ab5f90a
Merge pull request #5053 from k32/dev/mgmt-shard
feat(emqx_management): mqtt_app shard
2021-06-23 19:42:47 +02:00
Zaiming Shi d7ed66f234 build: do not allow user override PKG_VSN
We have an assertion in code, allowing user to override
will compile but not run.
2021-06-22 18:56:31 +08:00
k32 239255f251 feat(emqx_management): mqtt_app shard 2021-06-21 18:02:11 +02:00
Turtle bc71a1e2c6 fix(plugins): fix load plugin generate hocon configs fail 2021-06-19 16:47:09 +08:00
Shawn 8978464269
change resource,connectors,data_bridges as normal apps (#5034) 2021-06-19 16:27:21 +08:00
Turtle ffcbcaed3c feat(plugins): Support load plugins of hocon configuration format 2021-06-19 13:42:21 +08:00
Rory Z 186094d2ab chore(hooks): update type 2021-06-18 18:59:52 +08:00
Rory Z 1fa55f5a4e chore(hooks): delete is_function() 2021-06-18 18:59:52 +08:00
Rory Z 1a09d636ae test: fix tests error 2021-06-18 18:59:52 +08:00
Rory Z 536c7256da chore(dialyzer): fix dialyzer error 2021-06-18 18:59:52 +08:00
zhanghongtong bbf6b4e64e chore(hooks): emqx_hooks no longer accept anonymous functions 2021-06-18 18:59:52 +08:00
Zaiming Shi 36cd03cc98 fix(emqx_schema): add 'sensitive' flag for passowrd configs 2021-06-18 09:02:25 +08:00
Zaiming Shi 6865f36d90 chore(rebar.config): use hocon 0.6.0
hocon 0.6.0 added supports for sensitive config flagging
sub-struct type checking, and remote struct referencing
2021-06-18 09:02:25 +08:00
William Yang d1978aaaf2 chore(quic): fix format 2021-06-17 09:03:10 +02:00
William Yang b4a9d663ae feat(quic): quic conn idle_timeout default 1min 2021-06-17 09:03:10 +02:00
William Yang 4e2e2d5635 feat(quic): update emqx_schema for quic 2021-06-17 09:03:10 +02:00
William Yang fd785240f5 feat(quic): bump quicer to 0.0.3 2021-06-17 09:03:10 +02:00
William Yang e34470f9f2 feat(quic): remove unsupported configs. 2021-06-17 09:03:10 +02:00
William Yang af2faed107 feat(quic): switch to deps on emqx quicer repo 2021-06-17 09:03:10 +02:00
k32 6505340cb8 feat(rlog): Introduce routing RLOG shard 2021-06-16 16:05:10 +02:00
turtleDeng 0515ef6e45
feat(connector): add more connector (#4985) 2021-06-16 11:28:26 +08:00
Shawn 8b0a6d955b fix(test): ci failed due to existing subscriptions 2021-06-16 11:27:34 +08:00
Shawn 444c721f93 fix(config): change handler name to emqx_data_bridge_config_handler 2021-06-16 11:27:34 +08:00
Shawn b11afc6997 fix(config): start the top level config handler at emqx bootup 2021-06-16 11:27:34 +08:00
Shawn 378a2b7b9e feat(config): update config to the sub config handler 2021-06-16 11:27:34 +08:00
Shawn ccba714cd6 feat(config): add emqx_config_handler 2021-06-16 11:27:34 +08:00
William Yang 68844cefd9 feat(quic): update emqx_schema for quic 2021-06-15 15:36:04 +02:00
William Yang bb6459ba3a build: add quic dep in app/emqx/rebar.config 2021-06-15 15:36:04 +02:00
William Yang 14614fbe33 feat(quic): adapt to new quicer API. 2021-06-15 15:36:04 +02:00
William Yang 5356668eac feat(quic): adapt to hocon schema 2021-06-15 15:36:04 +02:00
William Yang 1ffd2cf245 chore(config): adapt to new config format 2021-06-15 15:36:04 +02:00
William Yang f9a113477e feat(quic): use quicer:getstat instead. 2021-06-15 15:36:04 +02:00
William Yang e062be2b0e feat(quic): reload quicer lib before start listener 2021-06-15 15:36:04 +02:00
William Yang 14057c033d feat(quic): support stop/start quic listeners. 2021-06-15 15:36:03 +02:00
William Yang 06f9674ce3 feat(quic): add quicer to application deps list. 2021-06-15 15:36:03 +02:00
William Yang 9570d01792 fix(quic): error handling for getstats.
- return {error, closed} instead
- quicer demo/3 branch.
2021-06-15 15:36:03 +02:00
William Yang 570e096b56 fix(quic): return empty list for dead 'Socket' 2021-06-15 15:36:03 +02:00
William Yang 087aa1dd53 feat(quic): handle stream close. 2021-06-15 15:36:03 +02:00
William Yang 70f22d2c1b feat(quic): reuse emqx_connection module for quic. 2021-06-15 15:36:03 +02:00
William Yang 899ba579fc feat(quic): compile and start quicer listener. 2021-06-15 15:36:03 +02:00
Zaiming Shi c84af95190 chore: ensure new env override prefix variable 2021-06-15 12:35:08 +02:00
Zaiming Shi 9a78f812e1 fix(emqx_resource): fix schema schema definition 2021-06-15 12:35:08 +02:00
Zaiming Shi bde5d11078 fix(hocon): call new schema definition functions 2021-06-15 12:35:07 +02:00
Zaiming Shi 909814a34d fix(hocon): pin hocon 0.5.1 2021-06-15 12:35:07 +02:00
k32 13803f9159 feat(rlog): Add RLOG to EMQX 2021-06-14 15:05:36 +02:00
Zaiming Shi b92a6837d7 build(emqx): fix emqx standalone dialyzer 2021-06-07 09:09:28 +02:00
Zaiming Shi 7da34b80e5 chore(emqx): bump app version to 5.0.0 2021-06-07 09:09:28 +02:00
Zaiming Shi 13b7dcef4b chore(emqx): emqtt as test dependency 2021-06-07 09:09:28 +02:00
Zaiming Shi 045a944192 chore(ci): check emqx app standalone 2021-06-07 09:09:28 +02:00
Zaiming Shi 36e3675d54 test(emqx_listeners_SUITE): fix etc dir path 2021-06-07 09:09:28 +02:00
Zaiming Shi 311cb7b659 build: relocate BUILT_ON template 2021-06-07 09:09:28 +02:00
Zaiming Shi 1715b87dce chore: move root level src, test, include, priv and etc to apps/emqx 2021-06-07 09:09:28 +02:00