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