Commit Graph

623 Commits

Author SHA1 Message Date
Zaiming (Stone) Shi 289428cc5a refactor(kafka): rename bridge type 'kafka' to 'kafka_producer' 2023-10-30 00:19:27 +01:00
Kjell Winblad 449b01ef78 feat: let bridge V2 override bridge creation opts from connector 2023-10-29 07:28:13 +01:00
Kjell Winblad 1b248279fd test(bridge_v2): test case for the local_topic feature 2023-10-28 17:59:11 +02:00
Kjell Winblad 5cfe151f7c fix: type conversion for rule with converted bridge V1 reference
* Make sure that a rule that refer to a bridge that has been converted to
a bridge V2 bridge gets its type converted if needed.
* Add test case for sending message to a Bridge V2 through a rule
2023-10-28 15:18:36 +02:00
Kjell Winblad e1009998c9 fix(emqx_bridge_v2): properly working start function 2023-10-28 14:00:05 +02:00
Kjell Winblad babf5f973a fix: use populated non-raw conf when checking if bridge_v2 is enabled 2023-10-28 07:42:45 +02:00
Kjell Winblad 917e13c0e9 fix: add start/stop/restart support to bridge v1 compatibility layer 2023-10-28 07:30:47 +02:00
Stefan Strigler 1dea3e1cc4 test: add suite for AEH bridge v2 2023-10-27 20:00:21 +02:00
Ivan Dyachkov d0ffae56d7 chore: make elvis happy 2023-10-27 19:41:20 +02:00
Kjell Winblad 886334e7b6 fix: bridge v1 compatiblity layer enable/disable 2023-10-27 18:51:20 +02:00
Kjell Winblad d61d80f338 fix: almost working bridge v1 compatibility layer for HTTP API
Most operation for the bridge V1 HTTP API compatibility layer are now
working. This has been tested by creating/deleting/updating Kafka bridge
through HTTP API, sending message to it, and resetting and checking
metrics.

The start, stop, restart, enable, disable operations still need to be
fixed.
2023-10-27 18:25:11 +02:00
Thales Macedo Garitezi f8d330c2f3 fix(bridge_v2): don't spawn buffer workers for `simple_{,a}sync_internal_buffer` 2023-10-27 10:30:03 -03:00
Thales Macedo Garitezi 951184014e test(bridge_v2): add test cases for root post config update handler callback 2023-10-27 08:42:59 -03:00
Thales Macedo Garitezi 27aff47c17 fix(connector): check that there are no active channels when removing 2023-10-27 08:23:28 -03:00
Thales Macedo Garitezi f2c9739ce2 feat(bridge_v2): validate connector references when creating/updating bridges 2023-10-27 11:53:42 +02:00
Thales Macedo Garitezi 83e05b0d77 fix(bridge_resource): use more lax parsing of bridge id 2023-10-27 11:53:42 +02:00
Thales Macedo Garitezi d574821160 fix(bridge_api): use translated config to check if bridge is enabled 2023-10-27 11:53:42 +02:00
Kjell Winblad 90a23d98fe fix: channel handling when resource not connected 2023-10-27 11:53:42 +02:00
Stefan Strigler 2228a0d477 feat: port azure event hub to bridge_v2 2023-10-27 11:53:41 +02:00
Stefan Strigler 238603a101 fix: bridge_v2 tags were still bridge 2023-10-27 11:53:41 +02:00
Kjell Winblad 5aac90ab4e fix: don't send message to channels that are not operational 2023-10-27 11:53:41 +02:00
Kjell Winblad bba5b42c99 fix: broken test cases 2023-10-27 11:53:41 +02:00
Kjell Winblad 477ed11de8 fix: periodical status checks and alarms for channels 2023-10-27 11:53:41 +02:00
Kjell Winblad 38bf2ae445 fix: issues found by spellcheck script 2023-10-27 11:53:41 +02:00
Kjell Winblad 2d05e3a975 fix: dialyzer problem for community edition 2023-10-27 11:53:41 +02:00
Kjell Winblad 6c6c2e0cff fix: dialyzer warnings for community edition 2023-10-27 11:53:41 +02:00
Stefan Strigler a847b043df fix: disable bridge_v2 tests if not on enterprise 2023-10-27 11:53:41 +02:00
Kjell Winblad e72b952138 fix: problems reported by dialyzer 2023-10-27 11:53:41 +02:00
Stefan Strigler 2b66018d3b fix: enable param is atom 2023-10-27 11:53:41 +02:00
Stefan Strigler abcae6b509 fix: refactor handling of operation(s) [ie 'start'] 2023-10-27 11:53:41 +02:00
Stefan Strigler 676572c65a fix: use check_schema to simplify API implementation 2023-10-27 11:53:41 +02:00
Stefan Strigler 2a1e135304 test: fix tests after emqx_authn changes 2023-10-27 11:53:41 +02:00
Stefan Strigler d46f8efe60 test: add emqx_bridge_v2_api_SUITE 2023-10-27 11:53:41 +02:00
Kjell Winblad cb3892038a fix: typo 2023-10-27 11:53:41 +02:00
Kjell Winblad 2cd1c88f7f fix: fixup after rebasing on release-23 2023-10-27 11:53:41 +02:00
Kjell Winblad d8a9778d7c feat: add compatibilty layer function for checking if valid bridge_v1 2023-10-27 11:53:41 +02:00
Stefan Strigler e2b4fb3bda fix: support 'start' operation 2023-10-27 11:53:41 +02:00
Stefan Strigler 6568759a7e fix: add bridge_v2_probe 2023-10-27 11:53:41 +02:00
Stefan Strigler 7ad709560d fix: bridge_not_found renamed 2023-10-27 11:53:41 +02:00
Kjell Winblad 2249a2cb50 fix: remove unused function 2023-10-27 11:53:41 +02:00
Stefan Strigler 38f5c7dcf4 feat: HTTP API for bridge_v2 2023-10-27 11:53:41 +02:00
Kjell Winblad a5a060473c feat: restructure emqx_bridge_v2 for better readability 2023-10-27 11:53:41 +02:00
Kjell Winblad e13196c1ca feat(bridge_v2): dry_run and specific test suite 2023-10-27 11:53:41 +02:00
Kjell Winblad 04943ccbf0 refactor: better name of funtion 2023-10-27 11:53:41 +02:00
Kjell Winblad b0b518067a fix: remove connector as well on Bridge V1 remove
For backwards compatibility we remove the connector for the Bridge V2
bridge when performing the remove operation but only if no other
channels depend on the connector.
2023-10-27 11:53:41 +02:00
Kjell Winblad 828bbc57ac feat: test case fixes and compatibility layer probe etc
* test case fixes for Bridge V1 suite
* Bug fixes
* local_topic
* Bridge V1 probe compatibility functionality
2023-10-27 11:53:41 +02:00
Kjell Winblad c0df85ac09 feat: Bridge V2 compatiblilty layer progress and local topic
* Most Bridge V1 HTTP API calls are now compatible with Bridge V2
* Local topics works for Bridge V2 now
* A lot of work on trying to get the old Kafka producer test suite
  to work after the refactorings
2023-10-27 11:53:40 +02:00
Stefan Strigler 99904cab27 fix: don't break root for non enterprise 2023-10-27 11:53:40 +02:00
Kjell Winblad 5374d35be3 feat: started to make bridge_v2 compatible with old style bridges 2023-10-27 11:53:40 +02:00
Kjell Winblad f7984be946 feat: add connector schema scaffold and break out Kafka conector
This commit is the beginning of an effort to split bridges into a
connector part and a bridge part.

Several bridges should be able to share a connector pool defined by a
single connector. The connectors should be possible to enable and
disable similar to how one can disable and enable bridges. There should
also be an API for checking the status of a connector and for
add/edit/delete connectors similar to the current bridge API.

Issues:
https://emqx.atlassian.net/browse/EMQX-10805
2023-10-27 11:53:40 +02:00