diff --git a/apps/emqx_bridge_tdengine/docker-ct b/apps/emqx_bridge_tdengine/docker-ct new file mode 100644 index 000000000..c6f0bc826 --- /dev/null +++ b/apps/emqx_bridge_tdengine/docker-ct @@ -0,0 +1,2 @@ +toxiproxy +tdengine diff --git a/apps/emqx_bridge_tdengine/rebar.config b/apps/emqx_bridge_tdengine/rebar.config new file mode 100644 index 000000000..72ebca1db --- /dev/null +++ b/apps/emqx_bridge_tdengine/rebar.config @@ -0,0 +1,8 @@ +{erl_opts, [debug_info]}. + +{deps, [ + {tdengine, {git, "https://github.com/emqx/tdengine-client-erl", {tag, "0.1.6"}}}, + {emqx_connector, {path, "../../apps/emqx_connector"}}, + {emqx_resource, {path, "../../apps/emqx_resource"}}, + {emqx_bridge, {path, "../../apps/emqx_bridge"}} +]}. diff --git a/apps/emqx_bridge_tdengine/src/emqx_bridge_tdengine.app.src b/apps/emqx_bridge_tdengine/src/emqx_bridge_tdengine.app.src index 05e8a6f9f..141973e1e 100644 --- a/apps/emqx_bridge_tdengine/src/emqx_bridge_tdengine.app.src +++ b/apps/emqx_bridge_tdengine/src/emqx_bridge_tdengine.app.src @@ -1,8 +1,8 @@ {application, emqx_bridge_tdengine, [ {description, "EMQX Enterprise TDEngine Bridge"}, - {vsn, "0.1.0"}, + {vsn, "0.1.1"}, {registered, []}, - {applications, [kernel, stdlib]}, + {applications, [kernel, stdlib, tdengine]}, {env, []}, {modules, []}, {links, []} diff --git a/lib-ee/emqx_ee_bridge/src/emqx_ee_bridge_tdengine.erl b/apps/emqx_bridge_tdengine/src/emqx_bridge_tdengine.erl similarity index 95% rename from lib-ee/emqx_ee_bridge/src/emqx_ee_bridge_tdengine.erl rename to apps/emqx_bridge_tdengine/src/emqx_bridge_tdengine.erl index 777bc4f2b..abdc26592 100644 --- a/lib-ee/emqx_ee_bridge/src/emqx_ee_bridge_tdengine.erl +++ b/apps/emqx_bridge_tdengine/src/emqx_bridge_tdengine.erl @@ -1,7 +1,7 @@ %%-------------------------------------------------------------------- %% Copyright (c) 2023 EMQ Technologies Co., Ltd. All Rights Reserved. %%-------------------------------------------------------------------- --module(emqx_ee_bridge_tdengine). +-module(emqx_bridge_tdengine). -include_lib("typerefl/include/types.hrl"). -include_lib("hocon/include/hoconsc.hrl"). @@ -81,7 +81,8 @@ fields("config") -> binary(), #{desc => ?DESC("local_topic"), default => undefined} )} - ] ++ emqx_resource_schema:fields("resource_opts") ++ emqx_ee_connector_tdengine:fields(config); + ] ++ emqx_resource_schema:fields("resource_opts") ++ + emqx_bridge_tdengine_connector:fields(config); fields("post") -> [type_field(), name_field() | fields("config")]; fields("put") -> diff --git a/lib-ee/emqx_ee_connector/src/emqx_ee_connector_tdengine.erl b/apps/emqx_bridge_tdengine/src/emqx_bridge_tdengine_connector.erl similarity index 99% rename from lib-ee/emqx_ee_connector/src/emqx_ee_connector_tdengine.erl rename to apps/emqx_bridge_tdengine/src/emqx_bridge_tdengine_connector.erl index 09cbd8db8..46a70e8b6 100644 --- a/lib-ee/emqx_ee_connector/src/emqx_ee_connector_tdengine.erl +++ b/apps/emqx_bridge_tdengine/src/emqx_bridge_tdengine_connector.erl @@ -2,7 +2,7 @@ %% Copyright (c) 2023 EMQ Technologies Co., Ltd. All Rights Reserved. %%-------------------------------------------------------------------- --module(emqx_ee_connector_tdengine). +-module(emqx_bridge_tdengine_connector). -behaviour(emqx_resource). diff --git a/lib-ee/emqx_ee_bridge/test/emqx_ee_bridge_tdengine_SUITE.erl b/apps/emqx_bridge_tdengine/test/emqx_bridge_tdengine_SUITE.erl similarity index 99% rename from lib-ee/emqx_ee_bridge/test/emqx_ee_bridge_tdengine_SUITE.erl rename to apps/emqx_bridge_tdengine/test/emqx_bridge_tdengine_SUITE.erl index 36ed10f38..1b8db1aaa 100644 --- a/lib-ee/emqx_ee_bridge/test/emqx_ee_bridge_tdengine_SUITE.erl +++ b/apps/emqx_bridge_tdengine/test/emqx_bridge_tdengine_SUITE.erl @@ -2,7 +2,7 @@ %% Copyright (c) 2022-2023 EMQ Technologies Co., Ltd. All Rights Reserved. %%-------------------------------------------------------------------- --module(emqx_ee_bridge_tdengine_SUITE). +-module(emqx_bridge_tdengine_SUITE). -compile(nowarn_export_all). -compile(export_all). diff --git a/lib-ee/emqx_ee_bridge/docker-ct b/lib-ee/emqx_ee_bridge/docker-ct index 37a5c9765..faff109eb 100644 --- a/lib-ee/emqx_ee_bridge/docker-ct +++ b/lib-ee/emqx_ee_bridge/docker-ct @@ -6,6 +6,5 @@ mysql redis redis_cluster pgsql -tdengine clickhouse dynamo diff --git a/lib-ee/emqx_ee_bridge/src/emqx_ee_bridge.app.src b/lib-ee/emqx_ee_bridge/src/emqx_ee_bridge.app.src index decf7d033..df1d778fc 100644 --- a/lib-ee/emqx_ee_bridge/src/emqx_ee_bridge.app.src +++ b/lib-ee/emqx_ee_bridge/src/emqx_ee_bridge.app.src @@ -14,7 +14,8 @@ emqx_bridge_pulsar, emqx_bridge_sqlserver, emqx_bridge_rocketmq, - emqx_bridge_rabbitmq + emqx_bridge_rabbitmq, + emqx_bridge_tdengine ]}, {env, []}, {modules, []}, diff --git a/lib-ee/emqx_ee_bridge/src/emqx_ee_bridge.erl b/lib-ee/emqx_ee_bridge/src/emqx_ee_bridge.erl index 80c627cc8..9761123da 100644 --- a/lib-ee/emqx_ee_bridge/src/emqx_ee_bridge.erl +++ b/lib-ee/emqx_ee_bridge/src/emqx_ee_bridge.erl @@ -31,7 +31,7 @@ api_schemas(Method) -> ref(emqx_ee_bridge_redis, Method ++ "_cluster"), ref(emqx_ee_bridge_timescale, Method), ref(emqx_ee_bridge_matrix, Method), - ref(emqx_ee_bridge_tdengine, Method), + ref(emqx_bridge_tdengine, Method), ref(emqx_ee_bridge_clickhouse, Method), ref(emqx_ee_bridge_dynamo, Method), ref(emqx_bridge_rocketmq, Method), @@ -56,7 +56,7 @@ schema_modules() -> emqx_ee_bridge_pgsql, emqx_ee_bridge_timescale, emqx_ee_bridge_matrix, - emqx_ee_bridge_tdengine, + emqx_bridge_tdengine, emqx_ee_bridge_clickhouse, emqx_ee_bridge_dynamo, emqx_bridge_rocketmq, @@ -100,7 +100,7 @@ resource_type(redis_cluster) -> emqx_ee_connector_redis; resource_type(pgsql) -> emqx_connector_pgsql; resource_type(timescale) -> emqx_connector_pgsql; resource_type(matrix) -> emqx_connector_pgsql; -resource_type(tdengine) -> emqx_ee_connector_tdengine; +resource_type(tdengine) -> emqx_bridge_tdengine_connector; resource_type(clickhouse) -> emqx_ee_connector_clickhouse; resource_type(dynamo) -> emqx_ee_connector_dynamo; resource_type(rocketmq) -> emqx_bridge_rocketmq_connector; @@ -139,7 +139,7 @@ fields(bridges) -> )}, {tdengine, mk( - hoconsc:map(name, ref(emqx_ee_bridge_tdengine, "config")), + hoconsc:map(name, ref(emqx_bridge_tdengine, "config")), #{ desc => <<"TDengine Bridge Config">>, required => false diff --git a/lib-ee/emqx_ee_connector/rebar.config b/lib-ee/emqx_ee_connector/rebar.config index a61ed9630..a9c2b4181 100644 --- a/lib-ee/emqx_ee_connector/rebar.config +++ b/lib-ee/emqx_ee_connector/rebar.config @@ -2,7 +2,6 @@ {deps, [ {hstreamdb_erl, {git, "https://github.com/hstreamdb/hstreamdb_erl.git", {tag, "0.2.5"}}}, {influxdb, {git, "https://github.com/emqx/influxdb-client-erl", {tag, "1.1.9"}}}, - {tdengine, {git, "https://github.com/emqx/tdengine-client-erl", {tag, "0.1.6"}}}, {clickhouse, {git, "https://github.com/emqx/clickhouse-client-erl", {tag, "0.3"}}}, {erlcloud, {git, "https://github.com/emqx/erlcloud.git", {tag,"3.5.16-emqx-1"}}}, {emqx, {path, "../../apps/emqx"}}, diff --git a/lib-ee/emqx_ee_connector/src/emqx_ee_connector.app.src b/lib-ee/emqx_ee_connector/src/emqx_ee_connector.app.src index d02995975..32dcc084c 100644 --- a/lib-ee/emqx_ee_connector/src/emqx_ee_connector.app.src +++ b/lib-ee/emqx_ee_connector/src/emqx_ee_connector.app.src @@ -8,7 +8,6 @@ ecpool, hstreamdb_erl, influxdb, - tdengine, clickhouse, erlcloud ]}, diff --git a/rel/i18n/emqx_ee_bridge_tdengine.hocon b/rel/i18n/emqx_bridge_tdengine.hocon similarity index 97% rename from rel/i18n/emqx_ee_bridge_tdengine.hocon rename to rel/i18n/emqx_bridge_tdengine.hocon index e6ece89c8..2d1059d28 100644 --- a/rel/i18n/emqx_ee_bridge_tdengine.hocon +++ b/rel/i18n/emqx_bridge_tdengine.hocon @@ -1,4 +1,4 @@ -emqx_ee_bridge_tdengine { +emqx_bridge_tdengine { config_enable.desc: """Enable or disable this bridge""" diff --git a/rel/i18n/emqx_ee_connector_tdengine.hocon b/rel/i18n/emqx_bridge_tdengine_connector.hocon similarity index 88% rename from rel/i18n/emqx_ee_connector_tdengine.hocon rename to rel/i18n/emqx_bridge_tdengine_connector.hocon index 9a34b32ce..9c42dbaa0 100644 --- a/rel/i18n/emqx_ee_connector_tdengine.hocon +++ b/rel/i18n/emqx_bridge_tdengine_connector.hocon @@ -1,4 +1,4 @@ -emqx_ee_connector_tdengine { +emqx_bridge_tdengine_connector { server.desc: """The IPv4 or IPv6 address or the hostname to connect to.
diff --git a/rel/i18n/zh/emqx_ee_bridge_tdengine.hocon b/rel/i18n/zh/emqx_bridge_tdengine.hocon similarity index 96% rename from rel/i18n/zh/emqx_ee_bridge_tdengine.hocon rename to rel/i18n/zh/emqx_bridge_tdengine.hocon index 5e417a1c7..8d0c7a24e 100644 --- a/rel/i18n/zh/emqx_ee_bridge_tdengine.hocon +++ b/rel/i18n/zh/emqx_bridge_tdengine.hocon @@ -1,4 +1,4 @@ -emqx_ee_bridge_tdengine { +emqx_bridge_tdengine { config_enable.desc: """启用/禁用桥接""" diff --git a/rel/i18n/zh/emqx_ee_connector_tdengine.hocon b/rel/i18n/zh/emqx_bridge_tdengine_connector.hocon similarity index 88% rename from rel/i18n/zh/emqx_ee_connector_tdengine.hocon rename to rel/i18n/zh/emqx_bridge_tdengine_connector.hocon index f3064aeb5..6465bff35 100644 --- a/rel/i18n/zh/emqx_ee_connector_tdengine.hocon +++ b/rel/i18n/zh/emqx_bridge_tdengine_connector.hocon @@ -1,4 +1,4 @@ -emqx_ee_connector_tdengine { +emqx_bridge_tdengine_connector { server.desc: """将要连接的 IPv4 或 IPv6 地址,或者主机名。