Commit Graph

19630 Commits

Author SHA1 Message Date
Thales Macedo Garitezi 6a0c54b40e ci(dev): add `.git/` to `.gitignore`
For some reason, some tools like [ripgrep](https://github.com/BurntSushi/ripgrep) will
search `.git` when using the `-.`/`--hidden` flag, even when not using `--no-ignore-vcs`.
This leads to several unwanted results.
2024-01-16 17:31:28 -03:00
Zaiming (Stone) Shi 4fa906731d
Merge pull request #12333 from zmstone/0116-add-tags-for-action-and-connectors
feat: add 'tags' field for action and connector
2024-01-16 18:56:57 +00:00
SergeTupchiy 23c0dc58fb
Merge pull request #12337 from SergeTupchiy/refactor-emqx-cm-test-flush
test(emqx_cm_SUITE): use one helper function `emqx_pool:flush_async_tasks/1`
2024-01-16 20:15:16 +02:00
Serge Tupchii 80e82db282 test(emqx_cm_SUITE): use one helper function: `emqx_pool:flush_async_tasks/1` 2024-01-16 19:42:37 +02:00
SergeTupchiy ed78f2488b
Merge pull request #12336 from SergeTupchiy/EMQX-11743-dedicated-channel-cleanup-pool
perf(emqx_cm): use a dedicated pool for channel cleanup
2024-01-16 19:38:15 +02:00
Serge Tupchii b472b56883 perf(emqx_cm): use a dedicated pool for channel cleanup
This is to isolate channels cleanup from other async tasks (like routes cleanup),
as channels cleanup can be quite slow under high network latency conditions.

Fixes: EMQX-11743
2024-01-16 19:08:02 +02:00
Zaiming (Stone) Shi 01d52e37c4
fix: resource tag type should be binary string
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2024-01-16 17:35:22 +01:00
Zaiming (Stone) Shi 1a02e8edba
Merge pull request #12334 from zmstone/0116-fix-authz-logging
0116 fix authz logging
2024-01-16 16:33:15 +00:00
Thales Macedo Garitezi 2a41cad54f fix(sources): remote irrelevant `resource_opts` fields for sources
Since they don't use buffer workers, they shouldn't have buffer-related sub-fields.
2024-01-16 11:29:35 -03:00
Thales Macedo Garitezi a8f9e5676f docs(mqtt_bridge): add API examples 2024-01-16 10:42:52 -03:00
Kjell Winblad 60fab6ee45 refactor: attempt to improve function names 2024-01-16 10:42:52 -03:00
Kjell Winblad c6cd3adccb refactor: fix type upgrade calls and move compatiblitly logic
Some bridge V1 to V2 calls were wrong but did not seem to cause issues
(perhaps due to locking test coverage). This commit also move
compatibility logic from the API module to the emqx_bridge_v2 module
where most of the compatibility logic exists.
2024-01-16 10:42:52 -03:00
Thales Macedo Garitezi 440a543a85 docs: fix typo 2024-01-16 10:42:52 -03:00
Thales Macedo Garitezi 938429f351 chore(mqtt_bridge): change schema to remote `remote` sub-fields and hide `local`
`local` is still needed for backwards compatibility
2024-01-16 10:42:52 -03:00
Thales Macedo Garitezi 007af20a30 test(bridge_v2_api): adapt more tests to sources 2024-01-16 10:42:52 -03:00
Thales Macedo Garitezi fc88a1ed1e test(sources_api): add some tests to cover `/sources` HTTP API
Also fixes a bug with `DELETE /sources/:id`
2024-01-16 10:42:52 -03:00
Thales Macedo Garitezi 8f304d3456 test(bridge_v2_api): refactor suite to use CT matrix 2024-01-16 10:42:52 -03:00
Thales Macedo Garitezi cc24fe6e93 feat(mqtt_consumer): add support for rule engine `FROM` 2024-01-16 10:42:52 -03:00
Thales Macedo Garitezi 28de7c89c7 feat: add `/sources*` HTTP APIs 2024-01-16 10:42:52 -03:00
Thales Macedo Garitezi e6ccfa5b39 fix(mqtt_bridge): fixes after rebasing onto current `master`
Rebased on top of 7f57ec47d5
2024-01-16 10:42:52 -03:00
Thales Macedo Garitezi 6511693b2e refactor(action_api): prepare for `/sources` HTTP API 2024-01-16 10:42:52 -03:00
Thales Macedo Garitezi 12dc9fbeb9 test(mqtt_bridge): fix assertion 2024-01-16 10:42:52 -03:00
Thales Macedo Garitezi 862283ff7c test: fix expected connector name after name convention generation changed 2024-01-16 10:42:52 -03:00
Thales Macedo Garitezi 7fc069da46 test: fix another broken test 2024-01-16 10:42:52 -03:00
Thales Macedo Garitezi 1ad3100cad chore: add i18n 2024-01-16 10:42:52 -03:00
Thales Macedo Garitezi 3597ee7c93 fix(mqtt_action): fix resource_opts schema 2024-01-16 10:42:52 -03:00
Thales Macedo Garitezi ab1b0dda67 refactor: fix typo 2024-01-16 10:42:52 -03:00
Thales Macedo Garitezi 697c8f5ee1 test: fix broken tests 2024-01-16 10:42:52 -03:00
Thales Macedo Garitezi cc34660ab9 fix(actions): use backward-compatible ids 2024-01-16 10:42:52 -03:00
Thales Macedo Garitezi 14b99737e9 fix(mqtt_bridge): add missing fields to POST api spec; fix test 2024-01-16 10:42:52 -03:00
Thales Macedo Garitezi 7befe898d0 fix(mqtt_bridge): fix schema 2024-01-16 10:42:52 -03:00
Thales Macedo Garitezi 139da6d720 fix: don't double-write the transformed config; return a triplet in all cases 2024-01-16 10:42:52 -03:00
Kjell Winblad 2ecc775fb7 style: remove commented out code and fix copyright headers 2024-01-16 10:42:52 -03:00
Kjell Winblad 886ed55374 fix: don't call non-existing function 2024-01-16 10:42:52 -03:00
Kjell Winblad 145ed2e632 fix: elvis style error 2024-01-16 10:42:52 -03:00
Kjell Winblad f199a0f24a feat: refactor MQTT bridge to source, action, and connector
This commit:

* refactors the MQTT V1 bridge into connector, source and action
* Extends the compatibility layer so it works for sources
* Fixes the MQTT bridge test suite so that all test cases passes

We still need to add a HTTP API handling sources. Also, we still need to
add HTTP API example schemes and examples for the MQTT
connector/action/source.

We should also make sure that we handle the corner cases of the MQTT V1
bridge automatic upgrade downgrade in a sufficiently good way:

* An error is currently thrown when converting an MQTT V1 bridge without
  egress or ingress config.
* If there is a source and action with the same name we will currently
  throw an error in the compatibility layer.
* We will also throw an error when converting an MQTT V1 bridge with
  both ingress and egress.

The above is probably the right thing to do  but we have to make sure
that we return a reasonable error to the user when this happens.

(partly)
Fixes:
https://emqx.atlassian.net/browse/EMQX-11489
2024-01-16 10:42:52 -03:00
Zaiming (Stone) Shi 996a851cf6 chore: format username as string in log formatter 2024-01-16 14:42:10 +01:00
Zaiming (Stone) Shi 541525c50f fix(authz): fix authz result logs
prior to this fix, it's always the default authz result logged at
warning level
2024-01-16 14:40:53 +01:00
Zaiming (Stone) Shi 1fe1a62fe2 test: fix already exported function warning 2024-01-16 14:00:34 +01:00
Zaiming (Stone) Shi ab66986f16 feat: add 'tags' field for action and connector 2024-01-16 13:57:48 +01:00
JianBo He b6d0365027
Merge pull request #12267 from HJianBo/new-timeout-param-for-invite
feat(cluster): supports inviting nodes to join the cluster in an asynchronous manner
2024-01-16 10:11:20 +08:00
Andrew Mayorov 3c28acd85e
Merge pull request #12329 from keynslug/fix/EMQX-11483/broker-rel55
feat(routing): add route sync process pool
2024-01-15 19:04:26 +01:00
Andrew Mayorov f7bda457fa
chore: add changelog entry 2024-01-15 17:59:56 +01:00
Zaiming (Stone) Shi 58a54adbb4 Merge remote-tracking branch 'origin/master' into release-55 2024-01-15 17:58:48 +01:00
lafirest 04d3e0335b
Merge pull request #12328 from lafirest/fix/iotdb
fix(iotdb): ensure the `data` field is `required`
2024-01-15 23:26:36 +08:00
William Yang 8b05d36121
Merge pull request #12325 from qzhuyan/dev/william/quic-lstner-reload-binding
feat(quic): support reload with new binding port
2024-01-15 13:57:50 +01:00
firest 50ce2384d9 fix(iotdb): ensure the `data` field is `required` 2024-01-15 20:29:58 +08:00
JianBo He 9441cf080b
chore: apply suggestions from code review
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2024-01-15 18:48:17 +08:00
William Yang d2d3ddb72a test(quic): listener port updates 2024-01-15 11:42:45 +01:00
William Yang c77837a9ea feat(quic): support reload with new binding port 2024-01-15 11:33:25 +01:00