New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: add connector schema scaffold and break out Kafka conector #11581
feat: add connector schema scaffold and break out Kafka conector #11581
Conversation
5c5baac
to
05c4348
Compare
765b2d3
to
0953a8a
Compare
false -> | ||
{error, | ||
<<<<"on_add_channel callback function not available for connector with resource id ">>/binary, | ||
ResId/binary>>} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if this happens, isn't it a bug?
we should perhaps crash it or perform higher level sanity check?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree, we could crash here. Will fix
%% TODO: rename this to `kafka_producer' after alias support is added | ||
%% to hocon; keeping this as just `kafka' for backwards compatibility. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
now it's the time for this TODO?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, this is probably a good time. We can try to do this before the merge.
7fb736e
to
4f04afb
Compare
b88f282
to
e3260a5
Compare
f843b52
to
a2cb00b
Compare
a70de06
to
26f0cb8
Compare
32f01cd
to
1ce7c2e
Compare
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
* 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
Prior to this fix, Kafka producer config was used as client config
85d0876
to
5f17a8f
Compare
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.
* 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
Closing this since @id has squashed and merged to release-53 |
This work in progress draft PR 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.
Fixes:
https://emqx.atlassian.net/browse/EMQX-10953
NOTE:
This PR still requires a lot of work and is just created to increase transparency while doing the work.
Summary
🤖 Generated by Copilot at 02cd5d0
This pull request adds hocon schema support for the kafka connector configuration in the enterprise edition of emqx. It refactors and documents the connector_config fields in
emqx_bridge_kafka.erl
and adds new schema modules inemqx_conf
andemqx_connector
applications.PR Checklist
Please convert it to a draft if any of the following conditions are not met. Reviewers may skip over until all the items are checked:
changes/(ce|ee)/(feat|perf|fix)-<PR-id>.en.md
filesChecklist for CI (.github/workflows) changes
changes/
dir for user-facing artifacts update