Commit Graph

2060 Commits

Author SHA1 Message Date
JianBo He fdb41fe137 chore(gw): adapt the lates minirest and emqx-config 2021-08-27 18:23:12 +08:00
JianBo He dacc53facf refactor(gw): suppport the hot upgrade gateway instance 2021-08-27 18:23:12 +08:00
JianBo He 8886d60720 refactor(gw): change the on_gateway_update/3 callback params 2021-08-27 18:23:12 +08:00
JianBo He bce130d9f9 chore(gw): integrate config-handler 2021-08-27 18:23:12 +08:00
JianBo He 86e28d5abb chore(gw): rename rawconf to config 2021-08-27 18:23:12 +08:00
JianBo He 9c855ba8c2 chore(gw): cleanup the massive schema defination 2021-08-27 18:23:12 +08:00
JianBo He ef372e415d chore(gw): fix the time format 2021-08-27 18:23:12 +08:00
JianBo He e239fb07cd chore(gw): add http-api for gateway summary lists 2021-08-27 18:23:12 +08:00
JianBo He 836ca38c2b chore(gw): append the protoname into listener name 2021-08-27 18:23:12 +08:00
JianBo He 914c375d9e chore(gw): adjust the configuration format 2021-08-27 18:23:12 +08:00
JianBo He f333a0b888 chore(gw): rename functions 2021-08-27 18:23:12 +08:00
JianBo He eb8ec65162 refactor(gw): refactor authentication to authenticator 2021-08-27 18:23:12 +08:00
JianBo He 6de250741e chore(gw): add started_at/created_at field 2021-08-27 18:23:12 +08:00
JianBo He 75dc4ea9a2 feat(gw): add the http api skeleton 2021-08-27 18:23:12 +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
DDDHuang 9d9eb2095b
fix: delayed message api page param & doc (#5587) 2021-08-27 17:13:16 +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
zhanghongtong f2e29184de chore(emqx_authz): use new config path 2021-08-27 15:08:56 +08:00
zhanghongtong 6f8c87001f chore(authz): add default config
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-08-27 15:08:56 +08:00
zhanghongtong 4594d2d42b chore(authorization): merge authorization in emqx and emqx_authz 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
Turtle 856d394860 feat(topic_metrics): update topic_metrics conf to array 2021-08-27 13:58:21 +08:00
Turtle 307eaa7f1e feat(rewrite): update rewrite conf to array 2021-08-27 13:58:21 +08:00
zhongwencool 468102f462 chore: replace recon by obsserver_cli 1.7.0 2021-08-27 13:55:49 +08:00
zhongwencool f4e3eeb2b2 chore(recon): rename to emqx_ctl observer status 2021-08-27 13:55:49 +08:00
zhongwencool 6957445554 chore(recon): add observer_cli to emqx_ctl 2021-08-27 13:55:49 +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
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
DDDHuang e92255114f fix: update delayed config 2021-08-26 18:04:46 +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
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 e5129ead6d fix(CI): Error detected: 'Invalid reference to group api in emqx_rule_engine_SUITE:all/0' 2021-08-26 17:17:47 +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
DDDHuang bcd15e9388
fix: delayed message api doc (#5569)
* fix: delayed message api doc & add delayed message internal & remaning params
2021-08-26 15:11:41 +08:00
DDDHuang 6d7d94c452 fix: topic rewrite api method 2021-08-26 10:08:01 +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
DDDHuang 4be58ae759 fix: event message api method 2021-08-25 17:38:08 +08:00
Turtle e4f5e9332e feat: support array bridge_mqtt conf 2021-08-25 13:34:00 +08:00
DDDHuang 78cf115a90 fix: swagger doc 2021-08-25 11:58:28 +08:00
DDDHuang f184cd3d0e fix: node parameters 2021-08-25 11:57:51 +08:00
DDDHuang bafe5bae1c fix: placeholder & topic schema no default 2021-08-25 11:57:37 +08:00
DDDHuang b13ae50bed fix: start sup 2021-08-25 11:57:37 +08:00
DDDHuang aa6f1ac88d feat: auto subscribe, todo: test SUITE 2021-08-25 11:57:37 +08:00
Rory Z 7e8dde7e26 chore: fix dialyzer error
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-08-25 10:15:00 +08:00
zhanghongtong a2bafd1a18 feat(authz): support authorization config file part 2 2021-08-25 10:15:00 +08:00
zhanghongtong a7fac1a7a3 feat(authz): support authorization config file part 1. 2021-08-25 10:15:00 +08:00
Rory Z 1886aa8bff chore: fix dialyzer error 2021-08-25 10:15:00 +08:00
zhanghongtong bfb363bc61 chore(emqx_authz): rename authorization to authorization_rules in emqx_authz.conf 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
Turtle 87881621bb fix: fix typo 2021-08-25 10:13:21 +08:00
Turtle 675d23111c chore(swagger-schema): Delete the schema that is not reused 2021-08-24 23:01:51 +08:00
DDDHuang bf67fa1be1 fix: generate topic metrics api & delayed message api path 2021-08-24 22:47:27 +08:00
Turtle a1ae4457df feat(prometheus): add get prometheus_format stats api 2021-08-24 21:01:21 +08:00
Turtle bc325e55fc fix(authn-authz-api): fix authn/authz test cases fail 2021-08-24 18:19:21 +08:00
Turtle e0c05242a7 refactor(minirest-callback): refactor minirest callback function 2021-08-24 18:19:21 +08:00
Turtle 0cb5c3e6ec refactor(topic-metrics): refactor topic_metrics api 2021-08-24 11:15:25 +08:00
Turtle ffc9846744 Merge branch 'refactor-mgmt-schema-util' of https://github.com/turtleDeng/emqx into refactor-mgmt-schema-util 2021-08-24 11:10:34 +08:00
turtleDeng 1eee85c2bf
Merge pull request #1 from DDDHuang/deng_mgmt_pr
fix: alarms api page & limit parameters
2021-08-24 11:10:26 +08:00
DDDHuang f1ba482ed6 fix: alarms api page & limit parameters 2021-08-24 11:04:39 +08:00
Turtle 5a87d941f6 refactor(retainer): refactor emqx_retainer test case 2021-08-24 10:53:06 +08:00
Turtle 47378e0e96 refactor(schema-utils): refactor mgmt swagger schema utils 2021-08-24 10:53:06 +08:00
DDDHuang 8125ec7d08
feat: topic metrics api (#5520) 2021-08-24 10:52:18 +08:00
DDDHuang 32a84b3aba fix: clients api node params 2021-08-24 10:51:01 +08:00
Turtle 55c3ea6064 refactor(retainer): refactor emqx_retainer test case 2021-08-24 10:47:42 +08:00
DDDHuang e88823fd36
Merge pull request #5540 from DDDHuang/fix_clients_api
fix: clients subscribe api
2021-08-24 09:57:17 +08:00
Turtle 5c93c35559 refactor(schema-utils): refactor mgmt swagger schema utils 2021-08-24 00:32:51 +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
k32 2b976af9ea chore(ekka): Bump version to 0.10.8 2021-08-23 14:10:26 +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
DDDHuang 25bae9e397 fix: clients subscribe api 2021-08-23 10:31:24 +08:00
Turtle 31f588671d refactor(statsd): refactor statsd swagger schema 2021-08-23 09:42:25 +08:00
Turtle d4d4ba9ea4 refactor(prometheus): refactor prometheus swagger schema 2021-08-23 09:41:46 +08:00
k32 ecd7964a5d fix(authn): Use local content shard for the chain table 2021-08-21 17:49:00 +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
k32 ca0fb214a7 feat(emqx-sn): Add tables to the SN shard 2021-08-21 17:47:34 +02: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 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
DDDHuang 65563e9f8c
Merge pull request #5511 from DDDHuang/delayed_api
feat: add delayed api
2021-08-19 17:59:29 +08:00
DDDHuang c07fadc336
Merge pull request #5526 from DDDHuang/fix_node_stats_api
fix: node stats api
2021-08-19 17:59:05 +08:00
DDDHuang 11ea506af6
Merge branch 'master' into delayed_api 2021-08-19 17:24:16 +08:00
DDDHuang cc1b8eca6c fix: params & config generate; api base64 encode payload 2021-08-19 17:23:11 +08:00
DDDHuang 2088fe17cf fix: node stats api 2021-08-19 16:45:38 +08:00
zhouzb f0ba6af660 chore(authn): fix dialyzer 2021-08-19 16:01:55 +08:00
zhouzb e6c01cb6e6 fix(undefined function): fix undefined function 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 e5892d16e5 feat(auth): support hot config 2021-08-19 16:01:38 +08:00
zhouzb e6f9767066 feat(authn): support superuser 2021-08-19 15:59:26 +08:00
zhouzb 429def6b95 fix(authn): fix http api spec 2021-08-19 15:59:26 +08:00
zhouzb 3f2ca5282c chore(authn): remove implied schema 2021-08-19 15:59:26 +08:00
zhouzb b7bc8b8cac feat(authn): improve apis of moving authenticators 2021-08-19 15:59:26 +08:00
zhouzb 60f0e8e5a5 refactor(authn): replace mnesia with ets table 2021-08-19 15:59:26 +08:00
zhouzb 61da3a4fd7 feat(authn hot config): initial support for hot config 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
lafirest d321cdbd47
Merge pull request #5515 from lafirest/refactor/emqx_retainer_api
refactor(emqx_retainer): emqx_retainer_api use openapi model
2021-08-19 10:56:58 +08:00
DDDHuang 5520326ce3 feat: add delayed api 2021-08-19 10:48:12 +08:00
lafirest adc6226eae refactor(emqx_retainer): emqx_retainer_api use openapi model 2021-08-19 10:12:08 +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
turtleDeng f01b77e4fe
refactor(event-message): refactor event_message
* refactor(event-message): refactor event_message configuration

* feat(event-message): add event_message REST API
2021-08-18 16:26:15 +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 5f6bcd1ebb fix(config_api): remove config APIs that already been provided by apps 2021-08-18 11:30:20 +08:00
Shawn a1da519d55 fix(rewrite): use emqx:update_config/2 instead of emqx_config:update/2 2021-08-18 09:42:06 +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
JianBo He 9190f1f6f9 chore(gw): reformat config options 2021-08-18 09:26:48 +08:00
JianBo He b8cb31c0ff fix(gw): fix the bad return value for initiating chain 2021-08-18 09:26:48 +08:00
JianBo He 430f20adc1 fix(gw): fix conn_state 2021-08-18 09:26:48 +08:00
JianBo He c5a4e05418 refactor(gw): rename gateway type to name 2021-08-18 09:26:48 +08:00
JianBo He 9072a60652 chore(gw): refine the cli command 2021-08-18 09:26:48 +08:00
JianBo He 630e0fb8cb test(gw): fix bad test cases 2021-08-18 09:26:48 +08:00
JianBo He cac0ea4b19 chore(gw): fix dialyzer warnigns 2021-08-18 09:26:48 +08:00
JianBo He be4d2495f0 refactor(gw): single instance support only 2021-08-18 09:26:48 +08:00
DDDHuang 50ee840220
feat: add rewrite api (#5502) 2021-08-17 17:49:37 +08:00
Turtle 7fcd925eff feat(delayed): add delayed REST HTTP API 2021-08-17 09:21:19 +08:00
turtleDeng 4dc5772103
chore(rule-metrics): remove hot upgrade code change 2021-08-17 09:15:27 +08:00
Shawn 988d620421 fix(test): mock emqx_resource:remove/1 in emqx_authz_http_SUITE 2021-08-16 17:41:53 +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
DDDHuang 4b3b4dd54c fix: dashboard 404 conflict 2021-08-13 16:57:10 +08:00
DDDHuang 3f1d3b9cf4
Merge pull request #5482 from DDDHuang/monitor_millseconds
fix: monitor timestamp millsecond
2021-08-13 15:27:48 +08:00
DDDHuang 1868414637
Merge pull request #5473 from DDDHuang/jwt
feat: api support jwt
2021-08-13 15:26:45 +08:00
DDDHuang 23a8e28f77 fix: monitor timestamp millsecond 2021-08-13 14:26:43 +08:00
DDDHuang 22dd6e1a86 fix: rename tab & params 2021-08-13 14:19:31 +08:00
tigercl e73df538a7
Merge pull request #5476 from k32/fix-auth-init-order
fix(rlog): Ensure the correct order of table initalization
2021-08-13 13:49:06 +08:00
Turtle 96ee04bbd0 chore(modules): remove start emqx-ee load_modules 2021-08-13 13:44:00 +08:00
DDDHuang 93dbdaa84a feat: dashboard api support jwt 2021-08-13 11:23:13 +08:00
lafirest e80d95bd76
Merge pull request #5470 from lafirest/fix/emqx_coap
fix(emqx_gateway): fix some error in README and code
2021-08-13 10:46:37 +08:00
k32 dfa6761e49 fix(rlog): Ensure the correct order of table initalization 2021-08-12 19:58:52 +02:00
zhanghongtong 618125b1da fix(connector): fix schema error for mongo 2021-08-12 21:52:06 +08:00
DDDHuang 3b52328244 fix: monitor response data format 2021-08-12 19:41:53 +08:00
lafirest 20f9cf19cd fix(emqx_gateway): fix some error in README and code 2021-08-12 19:01:28 +08:00
Shawn 4bf1e83449 fix(test): variable 'Id' shadowed in 'fun' 2021-08-12 17:20:05 +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 8dbb14b668 feat(config): improve the API for resetting configs 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
JianBo He a4d29ec8de chore(exhook): fix diaylzer warnings 2021-08-12 16:34:10 +08:00
JianBo He 4921c00a19 chore(exhook): change the name to binary type 2021-08-12 16:34:10 +08:00
JianBo He b3fac24c5e chore(schmea): include the emqx_exhook_schema 2021-08-12 16:34:10 +08:00
JianBo He 3cef377b33 feat(exhook): make request_failed_action working 2021-08-12 16:34:10 +08:00
JianBo He 6574fc4f14 fix(exhook): set trap_exit flag 2021-08-12 16:34:10 +08:00
JianBo He f5acf5fd0b refactor(exhook): move all manager code into mngr module 2021-08-12 16:34:10 +08:00
JianBo He 7e5be6ed6c refactor(exhook): add mechanism to reload the failure server 2021-08-12 16:34:10 +08:00
DDDHuang 870b68c104
Merge pull request #5463 from DDDHuang/fix_moniyor
fix: depart monitor api path & add parameter
2021-08-12 14:35:37 +08:00
lafirest 18c2765a1e
Merge pull request #5441 from lafirest/refactor/emqx_coap
refactor(emqx_gateway): refactor the emqx_coap
2021-08-12 14:05:12 +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
DDDHuang e3415ae361 fix: depart api path & add parameter 2021-08-12 12:24:11 +08:00
DDDHuang 8efe854f63 fix: remove test code 2021-08-12 10:24:46 +08:00
DDDHuang 324a036aa8 fix: users api path & params name 2021-08-12 10:23:28 +08:00
k32 5abec37098 chore(build): Globally set snk_kind macro to msg 2021-08-11 14:03:41 +02:00
Zaiming (Stone) Shi 258191a5b4
Merge pull request #5453 from zmstone/fix-invalide-config-value-in-schema
fix(config): infinity is not valid for log.max_depth
2021-08-11 13:48:47 +02:00
lafirest aafdf29cd8 refactor(emqx_gateway): refactor the emqx_coap 2021-08-11 19:03:02 +08:00
zhanghongtong a94bfaf28b feat(authz api): support move rule position
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-08-11 18:23:22 +08:00
DDDHuang d62e7239c2
Merge pull request #5451 from DDDHuang/fix_monitor_params
fix: merge counters each node
2021-08-11 17:46:25 +08: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
DDDHuang 776aabda7d fix: merge counters each node 2021-08-11 15:00:30 +08:00
zhanghongtong 632cc895d5 chore(authz): formatting error returned
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-08-11 11:06:58 +08:00
zhanghongtong 69a0fafd6b feat(authz api): get api support paging
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-08-11 11:06:58 +08:00
zhanghongtong c821528af9 feat(authz api): full CURD api 2021-08-11 11:06:58 +08:00
zhanghongtong 4bb1e9c964 feat(authz): more better update function
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-08-11 11:06:58 +08:00
zhanghongtong c26ec5c0dd feat(authz): support api
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-08-11 11:06:58 +08:00
lafirest 69a202e4c0
Merge pull request #5446 from lafirest/chore/emqx_retainer
chore(emqx_retainer): simplified the retainer config
2021-08-11 09:46:21 +08:00
Zaiming (Stone) Shi 1239eb23b0
Merge pull request #5407 from zmstone/build-ci-on-otp-24
Build ci on otp 24
2021-08-10 12:20:48 +02:00
lafirest 6c73679b02 chore(emqx_retainer): simplified the retainer config 2021-08-10 17:47:30 +08:00
Shawn 566d6f8d74 refactor(config): create a dedicate API for config reset 2021-08-10 15:17:45 +08:00
Shawn a4b773b66f refactor(config): create only one API for resetting configs 2021-08-10 15:17:45 +08:00
Shawn 74a849bfbb refactor(config): create APIs for each root-name 2021-08-10 15:17:45 +08: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 eee98a5803 fix(API): return 400 if delete failed 2021-08-10 15:17:45 +08:00
Shawn 139712fc94 fix(API): return 200 for PUT method 2021-08-10 15:17:45 +08:00
Shawn 2738815af9 feat(API): add a general API to update configs 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
Shawn c745120453 fix(api): update config APIs for emqx core 2021-08-10 15:17:45 +08:00
Shawn c9911a3b5f feat(api): add API /v5/configs for updating configs 2021-08-10 15:17:45 +08:00
DDDHuang 1064278db1 chore: add node param in subscription 2021-08-10 14:23:17 +08:00
DDDHuang 054406322a
Merge pull request #5440 from DDDHuang/api_desc
chore: add some api params description
2021-08-10 13:41:23 +08:00
DDDHuang a87521358e chore: add some api params description 2021-08-10 11:42:58 +08:00
Zaiming Shi 0fb81c7e99 fix(coap): log error level only when it error 2021-08-09 21:46:07 +02:00
DDDHuang dc2f6303d4
Merge pull request #5393 from DDDHuang/dashboard_metrics
feat: add dashboard metrics; api username params
2021-08-09 18:36:42 +08:00
x1001100011 0fe3083cd7 build: add erlang 24.0.1 for ci 2021-08-09 11:12:25 +02:00
Zaiming (Stone) Shi 672f94e118
Merge pull request #5430 from zmstone/refactor-simplify-ci-scripts
refactor: simplify ci scripts
2021-08-09 11:09:44 +02: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
DDDHuang b50afba5b9 feat: add dash board metrics 2021-08-09 16:20:02 +08:00
tigercl 40a9932167
Merge pull request #5427 from tigercl/feat/redis-authn
feat(authn redis): support authn with redis
2021-08-09 11:11:37 +08:00
JianBo He ade69c1e18 fix(exhook): more safe type convertion 2021-08-07 08:48:34 +08:00
JianBo He 6dd33907f1 fix(exhook): fix the server name type 2021-08-07 08:48:34 +08:00
JianBo He 183a65d263 fix(exhook): fix the server config format 2021-08-07 08:48:34 +08:00
JianBo He 31d4f72d16 fix(exhook): correct the broker-info 2021-08-07 08:48:34 +08: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
zhouzb f43d3e9f66 feat(authn redis): add api spec for redis authentication 2021-08-06 15:22:49 +08: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
zhouzb 3761db0525 feat(authn redis): support authn with redis 2021-08-06 14:05:31 +08: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 d453005d8b fix(emqx): pin quicer 0.0.7 2021-08-05 13:43:22 +02:00
Zaiming Shi d3038c0b71 fix(exhook): BrokerInfo uptime is now a duration integer 2021-08-05 12:58:03 +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
JianBo He 835eb84b5d chore(gw): remove needless files 2021-08-05 09:47:17 +08:00
JianBo He 94e33c3917 chore(gw): adapt to authn config format 2021-08-05 09:47:17 +08:00
JianBo He 1b2f732f13 chore(gw): fix zone name 2021-08-05 09:47:17 +08:00
JianBo He f36c523ae8 chore(gw): integrate with emqx-authn 2021-08-05 09:47:17 +08:00
Zaiming (Stone) Shi 58446217a6
Merge pull request #5341 from zmstone/split-emqx-app
Split emqx app
2021-08-04 09:43:10 +02:00
DDDHuang b3ea7f9cce
Merge pull request #5378 from DDDHuang/clients_api_fix
fix: add cleints api query params doc & unsubscribe api
2021-08-04 15:07:51 +08:00
Zaiming Shi 781de7f2a7 test(authz): ensure config cleaned up after test 2021-08-04 08:40:09 +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
DDDHuang b99ec04267
Merge pull request #5379 from DDDHuang/listeners_api_fix
fix: listeners id param name
2021-08-04 14:39:45 +08:00
DDDHuang ac2084daeb
Merge pull request #5382 from DDDHuang/publish_api_fix
fix: publish api params
2021-08-04 14:39:05 +08: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
JianBo He 7e00805af3 chore(gw-lwm2m): remove needless files 2021-08-04 10:10:22 +08:00
JianBo He b16cf44bf6 refactor(gw-lwm2m): refine lwm2m 2021-08-04 10:10:22 +08:00
DDDHuang 07a4d54a25 fix: unsubscribe api; query params 2021-08-03 17:08:40 +08:00
JianBo He 82321da7ad chore(exhook): bump version 2021-08-03 14:06:58 +08:00
JianBo He d7322aff19 chore(exhook): empty appup.src 2021-08-03 14:06:58 +08:00
JianBo He 604e282978 chore(exhook): fix dialyzer warnings 2021-08-03 14:06:58 +08:00
JianBo He 922aa7aae5 test(exhook): refine property-tests 2021-08-03 14:06:58 +08:00
JianBo He 7c46c8712b docs(exhook): renanme CheckAcl to Authorize 2021-08-03 14:06:58 +08:00
JianBo He aa019b34ad test(exhook): refine tests 2021-08-03 14:06:58 +08:00
JianBo He 879c191e41 refactor(exhook): adapt to the hocon schmea 2021-08-03 14:06:58 +08:00
tigercl 58b39361b3
Merge pull request #5388 from tigercl/feat/authn-api
feat(authn api): support query authentication status
2021-08-03 11:05:12 +08:00
zhouzb 05b72157e2 test(authn): add test cases 2021-08-03 10:40:08 +08:00
zhouzb 99534e7212 feat(authn api): support query authentication status 2021-08-03 10:25:04 +08:00
lafirest 149ef6d7cc style(emqx_gateway): improve some emqx_coap code 2021-08-03 09:48:08 +08:00
zhouzb 5e9ed72975 chore(authn rename): missing name change 2021-08-03 09:24:49 +08:00
zhouzb fb716ae8b2 chore(authn rename): rename emqx_authn to authentication 2021-08-03 09:21:07 +08:00
DDDHuang 8e2b1aed32 fix: publish api params 2021-08-02 17:20:15 +08:00
DDDHuang 52ff6e1b3e fix: listeners id param name 2021-08-02 15:54:25 +08:00
DDDHuang ca50dfe686 fix: add cleints api query params doc 2021-08-02 10:03:28 +08: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 5f51f68cc9 fix(mqttsn): do not call emqx_logger:Level directly 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
lafirest 137294db8f refactor(eqmx_gateway): port emqx_coap into emqx_gateway framework 2021-07-31 15:50:09 +08: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
Zaiming Shi 40faa31241 test(authz): no need to mock emqx_config 2021-07-30 16:53:21 +08:00
tigercl 305142f991
Merge pull request #5361 from turtleDeng/plugins/module-attr
chore(plugins): delete emqx_plugins module attributes
2021-07-30 15:54:20 +08:00
JianBo He e6a2770e2f chore(gw): rename emqx_gateway to gateway 2021-07-30 15:42:03 +08:00
JianBo He 602f0ebb60 feat(gw-sn): call subscribe/unsubscribe hook 2021-07-30 15:42:03 +08:00
JianBo He c986f89319 test(gw): use emqx_config:init_load/2 2021-07-30 15:42:03 +08:00
JianBo He ec72513cf8 feat(gw-stomp): call unsubscribe hook 2021-07-30 15:42:03 +08:00
JianBo He f87bef9ffb feat(gw-stomp): run subscribe hooks 2021-07-30 15:42:03 +08:00
JianBo He a116c0afd1 fix(gw-stomp): unify the hearbeat type name 2021-07-30 15:42:03 +08:00
JianBo He c36cdf9682 refactor(gw): add bytes & packets metrics 2021-07-30 15:42:03 +08:00
JianBo He 80eb7f313d docs(gw): enrich README.md 2021-07-30 15:42:03 +08:00
JianBo He 67bb8d0564 chore(gw): some format improvement 2021-07-30 15:42:03 +08:00
JianBo He 6f084fe6cf fix(gw-cli): fix start/stop/lookup not works 2021-07-30 15:42:03 +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 9e97de04c9 chore(plugins): delete emqx_plugins module attributes 2021-07-30 14:32:01 +08:00
Turtle d8eb8a36e0 test(modules/event_message): do not set fake config 2021-07-30 14:17:34 +08:00
Turtle ef1b591532 chore: Dynamically get the app that starts by default 2021-07-30 13:43:25 +08:00
tigercl e2d507cad9
Merge pull request #5356 from tigercl/feat/authn-mongo-api
feat(authn mongo api): add api spec for mongo authn
2021-07-30 13:16:31 +08:00
Turtle 485f1293fc chore(event_message): rename event_topic to event_message 2021-07-30 12:10:55 +08:00
Turtle ebe31c79d4 feat(event-topic): Add more fields to disconnected event payload 2021-07-30 12:10:55 +08:00
Turtle d6c375ab5b feat(event-topic): fix check dialyzer 2021-07-30 12:10:55 +08:00
Turtle 459d2154c7 feat(event-topic): add more test cases 2021-07-30 12:10:55 +08:00
Turtle 3903575435 feat(event-topic): support publish broker event topic 2021-07-30 12:10:55 +08:00
zhouzb 1c3d46d29e feat(authn api): add required spec 2021-07-30 12:01:17 +08:00
zhouzb 5c9dabc064 feat(authn mongo api): add api spec for mongo authn 2021-07-30 11:47:48 +08:00
Zaiming Shi 18fb18be89 test(modules/rewrite): do not set fake config
the hand-crafted fake raw config does not pass hocon schema check
this commit changes to use HOCON text as input for both test cases
2021-07-30 09:18:43 +08:00
Zaiming Shi 729f89f514 chore(rebar.config): update hocon version 0.10.5 2021-07-30 09:18:43 +08:00
Zaiming Shi 9dcb725898 fix(emqx_authz): update config with own schema module 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
Turtle 740b729778 feat(api): support stats/metrics API aggregate 2021-07-30 09:09:45 +08:00
Zaiming (Stone) Shi dcfc705811
Merge pull request #5342 from zmstone/refactor-config-store-per-root
refactor(emqx_config): store configs per root name
2021-07-29 17:38:33 +02:00
Zaiming Shi 4836d0a1fc test(exproto): delete unused code 2021-07-29 16:30:29 +02:00
zhouzb 336fe63c1c feat(enable authn): support enable authn by http api 2021-07-29 20:45:19 +08:00
Zaiming Shi c0ffbd68c8 test(emqx_authz): adjust meck and app start order 2021-07-29 13:32:57 +02:00
Zaiming Shi d0e9d4c4d5 fix(emqx_resource): raise error when failed to pick worker 2021-07-29 12:34:16 +02: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 2fcb9124bf chore(modules): fix check dialyzer 2021-07-29 16:57:14 +08:00
Turtle 76e3dd1905 chore(modules): Get the status by conf 2021-07-29 16:57:14 +08:00
Turtle cdc8000493 chore(modules): presence/delayed/telemetry/rewrite/topic_metrics independent conf 2021-07-29 16:57:14 +08:00
tigercl 59f645dc59
Merge pull request #5346 from tigercl/feat/mongo-auhtn
feat(authn): support mongodb authn
2021-07-29 16:51:28 +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
zhanghongtong 4ef00072b9 chore(authz): add annotations for rules
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-07-29 16:44:40 +08:00
zhouzb 5b6452d853 feat(authn): support mongodb authn 2021-07-29 16:07:36 +08:00
Turtle 0ef38c75ed chore(prometheus): update prometheus conf root name 2021-07-29 10:34:27 +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
Turtle b609ec5801 chore: delete emqx_telemetry_SUITE.erl file 2021-07-28 18:15:30 +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
zhouzb 76d6949cd1 fix(authn): fix password hash algorithm for mysql and pgsql authn 2021-07-28 14:26:26 +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
zhanghongtong c1cbd8ece4 feat(authz): add enable config for connectot in config file
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-07-27 13:39:28 +08:00
zhanghongtong 8ba0890ce5 feat(authz): add id for every rule 2021-07-27 13:39:28 +08:00
tigercl 4dea41f8a2
Merge pull request #5319 from tigercl/feat/authn-http-api
feat(authn): provide http api and improve update mechanism
2021-07-27 11:16:59 +08:00