Commit Graph

588 Commits

Author SHA1 Message Date
zhouzb 096e85dc14 chore(authn): improve log and fix disabled authentication still working 2021-09-26 11:31:19 +08:00
zhouzb 6051ea92eb chore(authn): improve log 2021-09-24 17:24:04 +08:00
zhouzb e31840d943 fix(authn): add timeout option for mysql connector 2021-09-24 17:15:10 +08:00
zhouzb d391690505 chore(psk): fix bugs 2021-09-24 17:07:08 +08:00
zhouzb e9cd757432 chore(psk): delete old module and update configuration 2021-09-24 17:07:05 +08:00
zhouzb 7c61bc18cf feat(psk): support psk 2021-09-24 17:05:26 +08:00
zhongwencool 8c441673c2 feat(delayed_api): support hocon schema 2021-09-24 15:22:05 +08:00
JimMoen e737f18548 fix(mgmt_api): Friendly HTTP Status Code for Listeners. 2021-09-24 14:28:52 +08:00
Zaiming Shi 3027bc3a0c fix(schema): sll key and cert files are nullable 2021-09-23 16:57:16 +02:00
Zaiming Shi 4392357877 fix(schema): simplify ssl ciphers filed schema 2021-09-23 16:57:16 +02:00
Zaiming Shi 4f638b8242 fix(schema): upgrade to hocon 0.19.5
renamed no_conversion option to only_fill_defaults
2021-09-23 16:57:15 +02:00
Zaiming Shi 5bd67a49de chore(schema): reformat schema fields descriptions 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
zhouzb 4860049268 chore(authn): insert final newline 2021-09-23 10:11:54 +08:00
zhouzb 79026d5900 chore(authn): add supervisor for authn and fix checking errors 2021-09-23 10:11:50 +08:00
tigercl 2b9870992c
Merge pull request #5763 from tigercl/feat/clear-certs
feat(clear certs): clear certs when deleting instance
2021-09-23 09:43:56 +08:00
zhongwencool 81a795ffc9
Merge pull request #5728 from zhongwencool/swagger-hocon-spec
chore(swagger): swagger support hocon schema
2021-09-22 17:42:07 +08:00
zhongwencool 085d8e8efa chore(schema): restore space 2021-09-22 16:41:00 +08:00
zhongwencool dab5fbf285 feat(swagger): swagger support hocon schema 2021-09-21 21:41:16 +08:00
Zaiming Shi 2edd3879b8 feat(config): save override config in hocon pretty-print format 2021-09-19 14:33:43 +02:00
zhouzb bb4e5fdb4f chore(authn): fix dialyzer 2021-09-18 09:14:03 +08:00
zhouzb 69755ad3fb fix(authn): fix bug in authn 2021-09-18 09:14:03 +08:00
zhouzb b89973ce7c fix(authn): fix type error 2021-09-18 09:14:00 +08:00
zhouzb 35a4a05f03 feat(clear certs): clear certs when deleting instance 2021-09-18 09:11:41 +08:00
JimMoen 6edc9f4221 fix(emqx_types): spec refs `emqx_types.erl` instead directly. 2021-09-17 19:28:22 +08:00
JimMoen 9c95557bfc fix(emqx_types): type spec refs does not exist file. 2021-09-17 19:28:22 +08:00
JianBo He cfabb8549e build(deps): upgrade emqx_http_lib to 0.4.1 2021-09-17 18:13:57 +08:00
Zaiming (Stone) Shi ab39284ece
Merge pull request #5754 from zmstone/feat-make-possible-to-disable-client-initiated-renegotiation
feat(ssl): make possible to disable client-initiated ssl renegotiation
2021-09-17 08:22:34 +02:00
Zaiming (Stone) Shi 1af8148e30
Merge pull request #5760 from zmstone/minor-refactors
refactor(authn): minor refactors
2021-09-17 07:59:16 +02:00
tigercl 9000dab57a
Merge pull request #5761 from zmstone/fix-deps-pin-typerefl-from-main-proj
fix(deps): pin typerefl verison from root rebar.configs
2021-09-17 10:47:18 +08:00
Zaiming Shi 6cf1107f42 refactor(authn): ensure infinity timeout for gen_server call 2021-09-16 23:17:50 +02:00
Zaiming Shi 0877fb5569 refactor(authn): register providers in batch 2021-09-16 23:17:50 +02:00
Zaiming Shi 0b432a6a77 refactor(auth): rename functions from may_xx to maybe_xx 2021-09-16 23:17:50 +02:00
Zaiming Shi 13a03d8c1c feat(ssl): make possible to disable client-initiated ssl renegotiation 2021-09-16 23:17:22 +02:00
Zaiming Shi 16c652586b fix(deps): pin typerefl verison from root rebar.configs 2021-09-16 23:16:31 +02:00
zhouzb 43ce727632 chore(gen_id): using emqx_misc:gen_id/0, /1 2021-09-16 16:51:46 +08:00
JimMoen deac54c847 chore(for editor): Add comments for Emacs major mode. 2021-09-16 15:43:30 +08:00
JimMoen ba26a8511c fix(emqx_types): emqx_types:version() used but undefined. 2021-09-16 15:43:30 +08:00
k32 2a65347972
Merge pull request #5727 from k32/interleave-pqueue
feat(mqueue): Interleave messages with different priorities
2021-09-15 15:10:37 +02:00
k32 20d4652454 feat(mqueue): Interleave messages with different priorities 2021-09-15 11:58:54 +02:00
Shawn cb8dabe579 feat(bridges): add CRUD HTTP APIs for bridges 2021-09-15 17:46:42 +08:00
lafirest 75f528e08d
Merge pull request #5743 from lafirest/fix/connector
fix(emqx_schema): support get ip address by host name
2021-09-15 15:21:54 +08:00
lafirest 6c27c83dc3 fix(emqx_schema): support get ip address by host name 2021-09-15 14:59:19 +08:00
tigercl c4403e886d
Merge pull request #5732 from tigercl/feat/upload-certs
feat(upload certs): save certs to file
2021-09-15 10:58:31 +08:00
zhouzb 0fe300575e chore(authn): better function name 2021-09-15 09:59:35 +08:00
zhouzb f6d7739f01 fix(upload certs): fix external dependency 2021-09-14 16:09:36 +08:00
zhouzb 1a61640b15 feat(upload certs): serialize errors about saving cert 2021-09-14 15:07:57 +08:00
zhouzb ee178ccea9 feat(upload certs): support return cert content by http api 2021-09-14 14:59:13 +08:00
zhouzb 63d3a7b525 feat(upload certs): save certs to file 2021-09-14 13:38:09 +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
zhanghongtong 07a2ef4700 chore(release): update emqx release version 2021-09-10 19:34:45 +08:00
tigercl 78397329e8
Merge pull request #5684 from tigercl/chore/authn
chore(authn): provide easy-to-read hints for more errors
2021-09-10 19:04:11 +08:00
zhouzb a3b587c9f9 fix(authn): fix test case for authn 2021-09-10 18:13:11 +08:00
zhouzb 6b521acd6f fix(authn): fix type error for http headers 2021-09-10 17:31:16 +08:00
zhouzb b07e686350 fix(authn): fix bad type 2021-09-10 16:58:10 +08:00
zhouzb 5cea9a4edc chore(authn): add api spec 2021-09-10 15:55:37 +08:00
Zaiming Shi 01ce32094c refactor(bin/emax): delete cold_eval 2021-09-10 07:28:12 +02: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 6b7d3bcf98 chore(hocon): upgrade to 0.17.0 2021-09-10 07:27:01 +02:00
Zaiming Shi 3a60f00643 refactor(emqx_gateway_schema): use hoconsc:map 2021-09-10 07:27:01 +02:00
Zaiming Shi 0039bfca6b refactor(emqx_machine_schema): use hoconsc:map type 2021-09-10 07:27:01 +02:00
Zaiming Shi bbd1c142de refactor(emqx_schema): use hoconsc:map type 2021-09-10 07:27:01 +02:00
Zaiming Shi a9cca84595 fix(emqx_schema): allow listener to be null 2021-09-10 07:27:01 +02: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
zhouzb c6e52b32fb chore(authn): improve code of moving authenticator 2021-09-09 09:32:18 +08:00
JimMoen b5d1ffa814
Merge pull request #5673 from JimMoen/stu-dev
Code refactor during studying.
2021-09-08 18:17:05 +08:00
DDDHuang e2d9d9bfcb
fix: banned api rfc time & login hidden error type (#5681) 2021-09-08 17:53:52 +08:00
zhouzb 7d312a630b chore(authn): provide easy-to-read hints for more errors 2021-09-08 16:35:54 +08:00
Jim Moen 4e5d781d21 fix: Words spelling fix. 2021-09-08 11:39:56 +08:00
Jim Moen bcebe1de24 refactor(emqx_cm_sup): Internal functions to create workers. 2021-09-08 11:39:56 +08:00
zhouzb 287d315ed5 fix(listener): updating authentication no longer causes the listener to restart 2021-09-08 11:24:59 +08:00
zhouzb 29cad91a47 fix(authn): fix superuser in mongodb authn 2021-09-08 10:58:00 +08:00
zhouzb 8531e9ce11 chore(authn): rename superuser to is_superuser 2021-09-08 09:53:39 +08:00
zhouzb be38bcc5cc chore(authn): adapt listener id type 2021-09-08 09:46:47 +08:00
Jim Moen c54847b6e9 refactor(mqtt_frame): Avoid duplicate variable when frame assembling. 2021-09-08 09:26:47 +08:00
zhouzb 627de1d58c fix(test): fix test case 2021-09-07 10:29:45 +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
Shawn 60b8215360 feat(config): support wildcard paths for config handlers 2021-09-03 13:39:43 +08:00
Shawn a89bc97ed8 fix(config): don't write to override.conf if 'override_conf_file' is not set 2021-09-03 10:42:12 +08:00
Shawn daca99f0f6 feat(config): add option 'persistent => boolean()' to emqx:update_config/3 2021-09-03 10:42:12 +08:00
Shawn 304874f0ff feat(config): load and merge emqx_override.conf at bootup 2021-09-03 10:42:12 +08:00
DDDHuang 3bc92e5845
fix: mgmt listener cli (#5632)
* fix: mgmt cli linteners
2021-09-02 17:16:13 +08:00
zhongwencool 679edbc29c feat(cluster-call): support confirm success after all mfa apply ok 2021-09-02 10:03:03 +08:00
Shawn 12b8297745 fix(config): emqx_config:fill_defaults/1,2 not working 2021-09-01 14:13:19 +08:00
DDDHuang 8d2b72c278
fix: alarms api return time (#5612) 2021-08-31 19:12:27 +08:00
Shawn 7e53469bb8 fix(listeners): update the testcases for listeners 2021-08-31 19:01:11 +08:00
Shawn 0af39e88a4 feat(listeners): add DELETE APIs for removing the listeners 2021-08-31 19:01:11 +08:00
Shawn 0d1bc6d689 feat(listeners): add config handler for listeners 2021-08-31 19:01:11 +08:00
Shawn e6306bccd8 feat(map_lib): add emqx_map_lib:diff_maps/2 2021-08-31 19:01:11 +08:00
Shawn 50ccaec4b0 fix(emqx_schema): define bind as a mandatory config of listener 2021-08-31 19:01:11 +08:00
Shawn 8c36b7879f feat(listeners): APIs for updating the listener 2021-08-31 19:01:11 +08:00
Shawn 05fc6d9e45 fix(dialyzer): bad function spec for emqx_map_lib:deep_convert/3 2021-08-31 19:01:11 +08:00
Shawn ca327b7c55 refactor(listener): GET /listeners API returns full config of listeners 2021-08-31 19:01:11 +08:00
Zaiming Shi 5165fd6b30 refactor(schema): implement new hocon_schema callbacks 2021-08-30 09:56:03 +08:00
Zaiming Shi 9e4c7b5f76 chore(config): upgrade to hocon 0.14.0 2021-08-30 09:56:03 +08:00
zhanghongtong eb495535d2 chore(release): update emqx release version 2021-08-27 21:19:53 +08:00
DDDHuang 9893c0263a
refactor: banned api (#5578) 2021-08-27 18:21:49 +08:00
zhanghongtong 46fb99d44e chore(emqx_authz): rename rules to sources in emqx_authz 2021-08-27 17:51:11 +08:00
William Yang 341df69166
Merge pull request #5584 from qzhuyan/dev/william/5.0-quic-support-2
quicer 0.0.8
2021-08-27 10:29:42 +02: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 f03fc88161 chore(emqx_authz): fix test cases error
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-08-27 15:08:56 +08:00
William Yang dbc971f264 feat(quic): bump quicer to 0.0.8 2021-08-27 08:36:45 +02:00
William Yang 6186fa29a0 feat(quic): bump to emqtt 1.4.3 2021-08-27 08:36:43 +02:00
William Yang 1b5acdb9c5 feat(quic): at least 8 x number of cores acceptors 2021-08-27 08:35:40 +02:00
William Yang eb7625a595 fix: quic listener spec 2021-08-27 08:35:40 +02:00
William Yang 2ef2acc850 feat(quic): adapt to quicer 0.0.8 2021-08-27 08:35:40 +02:00
William Yang abd58bb235 feat(quic): idle_timeout
transport idle timeout should be at least 3x mqtt idle_timeout
2021-08-27 08:35:38 +02:00
William Yang cf04e5cce3 feat(quic): adapt to new quicer 2021-08-27 08:34:01 +02:00
DDDHuang 86231f795d
refactor: close managment http 8081 (#5564) 2021-08-27 13:46:39 +08:00
Shawn 4c1e0802d9 fix(logger): remove debug code from emqx_logger 2021-08-26 18:44:15 +08:00
Shawn 436dba83b8 feat(logger): update configs for logger at runtime 2021-08-26 18:31:44 +08:00
zhongwencool 60c1c4edba feat: move cluster_call to emqx_machine 2021-08-26 17:23:38 +08:00
zhongwencool 2c1b1fbfa8 chore(config): rename cluster_call to hot_config_loader 2021-08-26 17:22:56 +08:00
zhongwencool d55ba6b2e8 chore: transaction without nnonymous function 2021-08-26 17:20:22 +08:00
zhongwencool 765c94152b feat: add cluster_call.retry_interval/mfa_max_history/mfa_cleanup_interval config 2021-08-26 17:20:22 +08:00
zhongwencool 53e386ad4e feat(emqx_cluster_call): ensure the consistency of resources
When EMQX updates the cluster resources via HTTP API, it first updates the local node resources, and then updates all other nodes via RPC Multi Call to ensure the consistency of resources (configuration) in the cluster.
2021-08-26 17:17:47 +08:00
Shawn 005332d45d fix(config): do not allow default values for configs in zones 2021-08-26 09:11:30 +08:00
Shawn 7b63f7f18b refactor(emqx_mangement): update emqx_mangement for new listener,zone configs 2021-08-26 09:11:30 +08:00
Shawn 4ea451e207 fix(emqx): update the type spec for listener 2021-08-26 09:11:30 +08:00
Shawn cc56c74964 refactor(emqx): update the tests for the new zone,listener config 2021-08-26 09:11:30 +08:00
Shawn c5f0091b5d refactor(config): rework - config struct for zones and listeners
```
listeners.tcp.default {
  bind = "0.0.0.0:1883"
  acceptors = 16
  max_connections = 1024000
  access_rules = [
    "allow all"
  ]
  proxy_protocol = false
  proxy_protocol_timeout = 3s
  mountpoint = ""
  tcp.backlog = 1024
  tcp.buffer = 4KB
}
listeners.ssl.default {
  bind = "0.0.0.0:8883"
  acceptors = 16
  max_connections = 512000
  access_rules = [
    "allow all"
  ]
  proxy_protocol = false
  proxy_protocol_timeout = 3s
  mountpoint = ""
  ssl.versions = ["tlsv1.3", "tlsv1.2", "tlsv1.1", "tlsv1"]
  ssl.keyfile = "etc/certs/key.pem"
  ssl.certfile = "etc/certs/cert.pem"
  ssl.cacertfile = "etc/certs/cacert.pem"
  tcp.backlog = 1024
  tcp.buffer = 4KB
}
listeners.quic.default {
  bind = "0.0.0.0:14567"
  acceptors = 16
  max_connections = 1024000
  keyfile = "etc/certs/key.pem"
  certfile = "etc/certs/cert.pem"
  mountpoint = ""
}
listeners.ws.default {
  bind = "0.0.0.0:8083"
  acceptors = 16
  max_connections = 1024000
  access_rules = [
    "allow all"
  ]
  proxy_protocol = false
  proxy_protocol_timeout = 3s
  mountpoint = ""
  tcp.backlog = 1024
  tcp.buffer = 4KB
  websocket.idle_timeout = 86400s
}
listeners.wss.default {
  bind = "0.0.0.0:8084"
  acceptors = 16
  max_connections = 512000
  access_rules = [
    "allow all"
  ]
  proxy_protocol = false
  proxy_protocol_timeout = 3s
  mountpoint = ""
  ssl.keyfile = "etc/certs/key.pem"
  ssl.certfile = "etc/certs/cert.pem"
  ssl.cacertfile = "etc/certs/cacert.pem"
  tcp.backlog = 1024
  tcp.buffer = 4KB
  websocket.idle_timeout = 86400s
}
```

```
zones.default {

}
```
2021-08-26 09:11:30 +08:00
Turtle e4f5e9332e feat: support array bridge_mqtt conf 2021-08-25 13:34:00 +08:00
Rory Z 1886aa8bff chore: fix dialyzer error 2021-08-25 10:15:00 +08:00
zhanghongtong 5652917af6 chore(authorization): moves authorization configuration items from zone to root 2021-08-25 10:15:00 +08:00
k32 2b976af9ea chore(ekka): Bump version to 0.10.8 2021-08-23 14:10:26 +02:00
k32 9c74fa42a5 chore(rlog): Use the new method of creating shards 2021-08-21 17:47:53 +02:00
k32 53a0c8b8a8 chore(ekka): Bump version to 0.10.7 2021-08-21 17:47:34 +02:00
Shawn 91f787533d fix(log): text formatter crash
```
(emqx@127.0.0.1)1> logger:error("abc").
ok
2021-08-20T18:10:01.180622+08:00 error: FORMATTER CRASH: {string,"abc"}
```
2021-08-21 15:36:36 +08:00
Shawn f3efc89192
refactor(config): replace all ':' with '=' in the *.conf (#5531) 2021-08-19 19:57:42 +08:00
zhouzb f0ba6af660 chore(authn): fix dialyzer 2021-08-19 16:01:55 +08:00
zhouzb 87051c0e53 test(authn): fix test case 2021-08-19 16:01:55 +08:00
zhouzb 178d1006e1 chore(match): reduce the risk of crash 2021-08-19 16:01:55 +08:00
zhouzb e6f9767066 feat(authn): support superuser 2021-08-19 15:59:26 +08:00
Shawn ef59309ed0 fix(config): check config failed when updating 2021-08-19 15:53:45 +08:00
Shawn e17612b237 fix(config): return only updated confs for emqx:update_config/2,3 2021-08-19 15:53:45 +08:00
DDDHuang 9c76247cde fix: alarms api timestamp millisecond 2021-08-19 09:56:32 +08:00
Shawn 213b7c2501 fix(config_api): improve the schema for config update APIs 2021-08-19 09:38:33 +08:00
Shawn e8e95d39ef
refactor(config): move emqx_config:get/get_raw to emqx:get_config/get_raw_config (#5517) 2021-08-18 14:52:57 +08:00
Shawn bf6251e20f refactor(config): update the return values of config handlers 2021-08-18 09:42:06 +08:00
Shawn e5c3199d6e fix(config): emqx:update_config/2,3 doesn't work on binary conf paths 2021-08-18 09:42:06 +08:00
Shawn 24207b80cb refactor(config): improve the return value of emqx:update_config/2,3 2021-08-18 09:42:06 +08:00
Shawn bd8263e324 refactor(config): move APIs for config update,remove,reset to emqx
Move the emqx_config:update,remove,reset APIs to emqx, to remove
the circular dependency between the modules emqx_config and
emqx_config_handler.

After this change the dependency among these modules will be:

```
emqx ---> emqx_config
   |          ^
   |          |
   + ---> emqx_conifg_handler
```
2021-08-18 09:42:06 +08:00
Shawn a2067c3bf3 refactor(spec): move some type specs from emqx_config_handler to emqx_config 2021-08-18 09:42:06 +08:00
Shawn 7f03cd0e8b fix(config): update the calls to emqx_config:update/2,3 2021-08-16 17:41:53 +08:00
Shawn b381b5d2b9 feat(emqx_config): return config maps when emqx_config:update/2,3 2021-08-16 17:41:53 +08:00
zhanghongtong 26c0754732 chore(release): update emqx release version
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-08-13 17:55:56 +08:00
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