Commit Graph

721 Commits

Author SHA1 Message Date
Ilya Averyanov
f8e6aab86f Merge branch 'release-57' into 0617-release-57-sync
* release-57:
  chore(auth,http): cache REs for parsing URIs
  fix(auth,http): improve URI handling
  chore: revert ULOG/ELOG
  test: generate dispatch.eterm in dashboard test
  docs: refine change log
  feat: make the dashboard restart quicker
  chore: fix typo
  fix(http authz): handle unknown content types in responses
  chore: change types of mysql and mongodb fields to `template()`
  fix(client mgmt api): allow projecting `client_attrs` from client fields
  fix(emqx_rule_funcs): expose regex_extract function to rule engine
2024-06-17 18:53:39 +03:00
SergeTupchiy
830266b4d5
Merge pull request #13126 from SergeTupchiy/EMQX-11967-cross-cluster-route-replication-syncer-actor
cluster linking
2024-06-17 18:52:46 +03:00
Thales Macedo Garitezi
f5eb3e7471
Merge pull request #13250 from thalesmg/ds-singleton-m-20240613
feat: enforce singleton discovery strategy when using DS `builtin_local` backend
2024-06-17 09:34:05 -03:00
Serge Tupchii
ff16521d4f fix(clusterlink): add schema descriptions, fix dialyzer warnings, add resource_opts 2024-06-17 12:23:52 +03:00
Serge Tupchii
f08342c704 feat: cluster link prototype WIP 2024-06-17 12:23:48 +03:00
zmstone
2b7f3a597f
Merge pull request #13245 from qzhuyan/merge/william/sync-rel57-to-master
sync release57 to master
2024-06-15 09:13:55 +02:00
zhongwencool
d433fc7c30
Merge pull request #13236 from zhongwencool/bug-schema-validation
fix: some minor bug fixes
2024-06-15 06:40:28 +08:00
zhongwencool
a6e3a09118 feat: make the dashboard restart quicker 2024-06-14 18:22:34 +08:00
William Yang
d39b8caff9 Merge branch 'release-57' into merge/william/sync-rel57-to-master 2024-06-14 08:17:09 +02:00
Thales Macedo Garitezi
01635722e9
docs: improve descriptions
Co-authored-by: ieQu1 <99872536+ieQu1@users.noreply.github.com>
2024-06-13 18:34:44 -03:00
Thales Macedo Garitezi
52e6c88941 feat: enforce singleton discovery strategy when using DS builtin_local backend
Fixes https://emqx.atlassian.net/browse/EMQX-12493
2024-06-13 17:04:23 -03:00
William Yang
723144199e
Merge pull request #13211 from qzhuyan/fix/william/rel57/ee-tls
Fix/william/rel57/ee tls
2024-06-13 13:19:44 +02:00
zhongwencool
825bfe4717 fix: load bad configs return unknown msg 2024-06-13 14:55:23 +08:00
zhongwencool
800a79adde test: test failed with_mfa 2024-06-13 09:50:52 +08:00
zhongwencool
c72b455a83 feat: add hidden option to record MFA and line in the log is very useful for debug. 2024-06-12 22:51:45 +08:00
Thales Macedo Garitezi
db572d35a7 Merge remote-tracking branch 'origin/release-57' into sync-r57-m-20240611 2024-06-11 15:34:54 -03:00
William Yang
7c37bf9965 feat(tls): ee only: TLS partial_chain and Keyusage 2024-06-10 10:24:48 +02:00
Thales Macedo Garitezi
ef36350bf6 feat: implement message transformation
Fixes https://emqx.atlassian.net/browse/EMQX-12517
2024-06-06 17:51:08 -03:00
Ilia Averianov
dc95218c68
Merge pull request #13144 from savonarola/0528-increase-bridge-buffer-drop-log-level
chore(bridges): increase log level for bridge buffer overflow reports
2024-06-04 12:37:50 +03:00
Thales Macedo Garitezi
c916c83c7c feat: implement azure blob storage action
Fixes https://emqx.atlassian.net/browse/EMQX-12280
2024-05-31 11:07:44 -03:00
Ilya Averyanov
db713cb656 chore(bridges): increase log level for bridge buffer overflow reports
Co-authored-by: Andrew Mayorov <encube.ul@gmail.com>
2024-05-31 16:35:18 +03:00
zmstone
96ef37d0ea chore: port diverged modules back to oss 2024-05-27 22:40:08 +02:00
zmstone
238c207b09 chore: bump app versions 2024-05-27 20:26:52 +02:00
William Yang
d8eecfe64f feat(quic-lb): add configuration 2024-05-23 10:32:20 +02:00
ieQu1
acb19a06cf Merge remote-tracking branch 'origin/release-57' 2024-05-21 15:04:46 +02:00
zhongwencool
1ac7aa151e
Merge pull request #13048 from thalesmg/sv-backup-r57-20240514
feat(schema validation): implement backup restore
2024-05-17 09:47:04 +08:00
ieQu1
73f17249e9
fix(sessds): Rename session_persistence to durable_sessions 2024-05-16 21:31:32 +02:00
Thales Macedo Garitezi
34a29e6363 feat(schema validation): implement support for ctl conf load 2024-05-16 09:55:42 -03:00
firest
7a7bd84cba fix(limiter): improved log content 2024-05-14 15:34:13 +08:00
firest
1fefb421bc feat(limiter): lift the log level of rate limiter to warning 2024-05-10 18:47:55 +08:00
Ivan Dyachkov
035b8480b0 chore(emqx_conf): extract data dirs to sync to a macro 2024-05-02 10:25:53 +02:00
zmstone
1db932df21 chore(mgmt): PUT /configs?ignore_readonly=true, lower log to info level 2024-04-29 10:20:47 +02:00
zmstone
07cbdc6e90 feat(mgmt): add ignore_readonly qeury-string to PUT /configs API 2024-04-28 14:45:53 +02:00
zmstone
5a4bfff9e5 refactor: add template_str type 2024-04-17 20:34:33 +02:00
zmstone
f9f14f9758 refactor(emqx_conf): raise exception at higher level for more context 2024-04-17 13:10:55 +02:00
zmstone
51c8173174 feat(bridge): add is_template flag to bridge config fields 2024-04-17 13:10:55 +02:00
Ivan Dyachkov
3ef160eed2 Merge remote-tracking branch 'upstream/release-56' into 0415-sync-release-56 2024-04-15 08:09:03 +02:00
zmstone
eac25194e5 refactor: resolve some old TODOs
move dashboard schema generation code to the right module
2024-04-11 13:41:34 +02:00
zhongwencool
8381132919 chore: bump emqx_conf to 0.1.36 2024-04-09 14:44:11 +08:00
zhongwencool
a1495689c0 fix: clean self node's cluster commit when leave cluster 2024-04-09 14:13:25 +08:00
Ivan Dyachkov
db9efb9317 chore: bump apps versions 2024-03-28 10:19:09 +01:00
Ivan Dyachkov
f4446ec680 Merge remote-tracking branch 'upstream/release-56' into 0328-sync-release-56 2024-03-28 09:59:54 +01:00
Zaiming (Stone) Shi
beb9152d50
Merge pull request #12750 from zmstone/0316-introduce-client-attrs
0316 introduce client_attrs
2024-03-27 16:19:47 +01:00
Thales Macedo Garitezi
da4a04c411
Merge pull request #12777 from thalesmg/test-flaky-conf-copy-m-20240325
test: attempt to fix flaky test
2024-03-26 11:52:12 -03:00
zmstone
067f018337 test: fix test cases 2024-03-26 13:36:12 +01:00
zmstone
c42e980442 feat(log): configurable time format
now logs can be configured to use 'epoch' or 'rfc3339' time format
2024-03-26 13:09:32 +01:00
Thales Macedo Garitezi
6259f95aab test: attempt to fix flaky test
```
   expected: {ok,<<...>>}
       got: {error,enoent}
      line: 187
   comment: #{node => 'emqx_conf_app_SUITE9@127.0.0.1'}
```
2024-03-25 14:36:22 -03:00
Thales Macedo Garitezi
59ff43ec87 feat(message validation): implement metrics
Fixes https://emqx.atlassian.net/browse/EMQX-12071
2024-03-25 10:55:01 -03:00
zmstone
df913f2450 docs: refine changelog 2024-03-23 14:11:30 +01:00
zmstone
2c81b56377 feat: add authentication_failure throttled log
also included changes:

1. add 'username' to log metadata
2. add 'tag' to authz warning logs
2024-03-20 14:42:01 +01:00
zhongwencool
d7c01a4fe0 fix: cant replace source conf 2024-03-19 18:53:51 +08:00
Andrew Mayorov
92088a5905 test(conf): fix flaky config sync testcases
Before the recent changes these testcases relied on the fact that
peer nodes that are part of the test cluster are started one after
the other. This is now not the case in general with `emqx_cth_cluster`,
so now we need to additionally find the "longest running node" in the
cluster before running test logic.
2024-03-13 11:26:49 -03:00
Serge Tupchii
e725064a2a fix(emqx_conf_schema): use timeout_duration_s() type for log.throttling.time_window field 2024-03-04 22:41:28 +02:00
Zaiming (Stone) Shi
704eceb7c7
Merge pull request #12599 from zmstone/0227-refactor-log-config-template
docs: add log docs
2024-02-28 17:58:14 +01:00
Andrew Mayorov
ef4ae92da4
Merge pull request #12523 from keynslug/ft/bump-ekka-0.19.0
refactor: bump ekka to 0.19.0 w/o mnesia boot phase
2024-02-28 17:46:29 +01:00
Andrew Mayorov
20c4029b33
test(cluster-rpc): unload any mocks in end_per_suite/1
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2024-02-28 14:52:37 +01:00
Thales Macedo Garitezi
787dcd0e86
Merge pull request #12577 from thalesmg/gcp-service-json-binary-m-20240223
feat(gcp_pubsub_bridges): make service account json a binary
2024-02-27 15:42:42 -03:00
Zaiming (Stone) Shi
ef99037335 docs: add log docs 2024-02-27 19:24:56 +01:00
Andrew Mayorov
6ea9d2a6d9
test(conf): simplify confsync test suite 2024-02-27 16:41:54 +01:00
Andrew Mayorov
ae79516fd2
test(cluster-rpc): ensure testsuite is side-effects-free 2024-02-27 16:41:54 +01:00
Zaiming (Stone) Shi
652e977b3c chore: for dashboad add a 'minimum' attribute for duration_s type 2024-02-26 13:51:07 +01:00
Thales Macedo Garitezi
f2c372d9ff feat(gcp_pubsub_bridges): make service account json a binary
Fixes https://emqx.atlassian.net/browse/EMQX-11384

Today, service_account_json config field is an embedded object (map()).

This requires user to embed a JSON object into the config file instead of embedding it as
a string.

We should support binary() type as input, but keep supporting map() for backward
compatibility.
2024-02-26 09:21:07 -03:00
Zaiming (Stone) Shi
5af01c041b
Merge pull request #12559 from zmstone/0221-refactor-use-atom-fileds
refactor: use atoms for root config fields
2024-02-23 14:38:19 +01:00
zhongwencool
fbf4afc3c5 fix(api): more detail error when don't allow update readonly key 2024-02-23 16:43:15 +08:00
Zaiming (Stone) Shi
46877e979b chore: update copyright-year 2024-02-23 08:21:06 +01:00
Zaiming (Stone) Shi
88b1d9ba88 refactor: use atoms for root config fields and types 2024-02-22 16:51:40 +01:00
Thales Macedo Garitezi
d469f4158e chore: bump app vsns 2024-02-20 16:53:57 -03:00
Zaiming (Stone) Shi
1de9e9dd01
Merge pull request #12541 from zmstone/0220-fail-fqdn-node-name-if-dns-discovery
Fail fast if node host is not IP address but cluster strategy is `dns` with `a` or `aaaa` record type
2024-02-20 17:48:02 +01:00
Zaiming (Stone) Shi
dc015e7a6f fix(schema): validate cluster strategy and node name
If cluster strategy is configured as `dns`, the node name
must be IP address
2024-02-20 16:09:54 +01:00
Serge Tupchii
9bd0d1ba1b feat: enable log throttling for potentially flooding log events 2024-02-20 14:20:21 +02:00
Serge Tupchii
98ba300f7c feat: implement log throttling 2024-02-20 13:23:17 +02:00
Zaiming (Stone) Shi
2b46cbab7a
Merge pull request #12517 from zmstone/0213-hocon-multiline-string-with-indentation
0213 hocon multiline string with indentation
2024-02-16 15:12:46 +01:00
Zaiming (Stone) Shi
a389d78b42 chore: delete stale code 2024-02-16 10:32:13 +01:00
Andrew Mayorov
841fdea124
test(conf): update and simplify some testcases 2024-02-13 20:36:22 +01:00
Andrew Mayorov
21780e2126
feat(emqx-conf): manage mria tables explicitly during startup 2024-02-13 20:36:21 +01:00
Zaiming (Stone) Shi
d7b0456bb0 feat: rename emqx ctl cluster_sync 'tnxid' to 'inspect' 2024-02-05 16:50:55 +01:00
Serge Tupchii
5e0c3d4051 feat(emqx_conf): support AAAA cluster dns record type
Ekka autocluster DNS already supports AAAA records, so it's only needed to update enum in schema.
2024-02-02 12:13:29 +02:00
Zaiming (Stone) Shi
dbe2baa405
Merge pull request #12408 from zmstone/sync-release-55
Sync release 55
2024-01-27 19:20:58 +00:00
ieQu1
963df8f941 fix(sessds): Delete the routes when the session expires 2024-01-26 17:49:33 +01:00
ieQu1
8e8d3af096 fix(sessds): Refactor emqx_persistent_session_ds to use CRUD module 2024-01-26 17:49:33 +01:00
Zaiming (Stone) Shi
2a40152721 Merge remote-tracking branch 'origin/release-55' into sync-release-55 2024-01-26 16:51:13 +01:00
JimMoen
58b60181d7
fix(prom_mria): move mria callback into emqx_prometheus.erl
- they will return in same api endpoint.
2024-01-25 19:36:38 +08:00
Thales Macedo Garitezi
fb39e1eacc feat(ds): allow customizing the data directory
The storage expectations for the RocksDB DB may be different from our usual data
directory.  Also, it may consume a lot more storage than other data.

This allows customizing the data directory for the builtin DS storage backend.

Note: if the cluster was already initialized using a directory path, changing that config
will have no effect.  This path is currently persisted in mnesia and used when reopening
the DB.
2024-01-25 16:01:42 +08:00
JimMoen
5158395bcf
feat(prometheus): data integration prom data 2024-01-21 00:14:34 +08:00
JimMoen
e0feb580b6
feat(prometheus): auth metrics with text/plain 2024-01-21 00:14:32 +08:00
zhongwencool
ec34b6f41d refactor: remove redis_type from redis action 2024-01-08 15:09:37 +08:00
zhongwencool
3404f39fd2 chore: remove redundant redis action swagger example 2024-01-08 10:45:54 +08:00
Ivan Dyachkov
06117c3a33 Merge remote-tracking branch 'upstream/release-54' into 0105-sync-r54 2024-01-05 14:20:38 +01:00
zhongwencool
00e8a36dbe fix: the API prompt garbled characters for updating the configuration 2024-01-03 15:34:45 +08:00
Serge Tupchii
423b8b4274 fix(emqx_opentelemetry): use converter to convert legacy metrics config
HOCON converter is cleaner and safer option,
that will also work for configurations defined in emqx.conf.
Previously used `upgrade_raw_conf/1` is currently not supported in hocon_cli (used in bin/emqx).

Fixes: EMQX-11643
2023-12-27 14:15:12 +02:00
zhongwencool
11feab983f fix: clean rpc_commit when force_leave cluster 2023-12-26 15:25:58 +08:00
Zaiming (Stone) Shi
a9b1b82546
Merge pull request #12210 from keynslug/feat/EMQX-11579/schema-type-doc
feat(schema): provide type-level documentation snippets
2023-12-21 18:46:22 +01:00
Andrew Mayorov
aa3f8d6735
fix(typedoc): meld it into the field doc in the meantime 2023-12-21 17:15:54 +01:00
Andrew Mayorov
85d7518a7d
feat(schema): provide type-level documentation snippets
For stuff like `duration()`, `bytesize()` and `secret()` for now.
2023-12-21 17:15:54 +01:00
zhongwencool
37930f1d3c fix: emqx conf ctl load failed with connectors/actions 2023-12-21 22:09:53 +08:00
Thales Macedo Garitezi
471877598e
Merge pull request #12209 from thalesmg/fix-schema-file-typo-r54-20231220
ci: fix typo in file name
2023-12-20 17:49:07 -03:00
Thales Macedo Garitezi
aeabff41c9 ci: fix typo in file name 2023-12-20 15:39:57 -03:00
Serge Tupchii
333709164c refactor: change mria default shard transport from 'gen_rpc' to 'distr'
Erlang distribution seems to outperform gen_rpc (unless gen_rpc clients
are scaled up, but this is not easy to achive for shard transport as it
may reorder events).
2023-12-20 15:37:00 +02:00
zhongwencool
a46b415c77 fix: support bridge v1 conf hocon-format in the put configs API. 2023-12-19 16:40:45 +08:00
zhongwencool
d9e179b364 fix: use microsecond precision as the primary key for audit logs to prevent duplication 2023-12-15 09:07:04 +08:00