Thales Macedo Garitezi
28de7c89c7
feat: add `/sources*` HTTP APIs
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
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
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
ab66986f16
feat: add 'tags' field for action and connector
2024-01-16 13:57:48 +01:00
Zaiming (Stone) Shi
58a54adbb4
Merge remote-tracking branch 'origin/master' into release-55
2024-01-15 17:58:48 +01:00
zhongwencool
ace443fc18
refactor: refactor es's action
2024-01-15 11:31:13 +08:00
zhongwencool
e49d3ca50c
feat: support elasticsearch bridge
2024-01-15 09:33:44 +08:00
Thales Macedo Garitezi
a5e7db793b
fix(mongodb_action): make `batch_size` hidden and fixed in the API
...
Fixes https://emqx.atlassian.net/browse/ED-1171
The old bridge schema already had this override, but it had not been ported to actions.
2024-01-12 10:04:32 -03:00
Thales Macedo Garitezi
79a4a041e4
fix(bridge_api): correctly deobfuscate secrets during dry run
...
Fixes https://emqx.atlassian.net/browse/EMQX-11733
2024-01-11 15:42:14 -03:00
zhongwencool
ec34b6f41d
refactor: remove redis_type from redis action
2024-01-08 15:09:37 +08:00
zhongwencool
3404f39fd2
chore: remove redundant redis action swagger example
2024-01-08 10:45:54 +08:00
lafirest
7f57ec47d5
Merge pull request #12261 from lafirest/fix/iotdb
...
feat(iotdb): improve the IoTDB bridge to v2 style
2024-01-08 09:46:07 +08:00
firest
e20b024b6e
fix(iotdb): fix iotdb testcases
2024-01-06 13:01:43 +08:00
firest
d16458ccd0
feat(iotdb): improve the IoTDB bridge to v2 style
2024-01-05 16:54:31 +08:00
Shawn
19e2ec9748
fix: update influxdb testcases
2024-01-03 18:39:29 +08:00
zhongwencool
a16bce8c24
fix: deobfuscate ft's secret keys in api
2023-12-22 13:13:44 +01:00
zhongwencool
37930f1d3c
fix: emqx conf ctl load failed with connectors/actions
2023-12-21 22:09:53 +08:00
Thales Macedo Garitezi
b61ccf3373
fix(bridges_v1): don't list v2-only bridges in API
...
Fixes https://emqx.atlassian.net/browse/EMQX-11614
2023-12-20 10:46:35 -03:00
Thales Macedo Garitezi
3f06ebcaf7
Merge pull request #12181 from thalesmg/fix-fill-default-v1-api-return-r54-20231215
...
fix(bridge_v1_api): fill defaults for v2 raw configs and fix redis connector schema
2023-12-18 11:34:07 -03:00
Thales Macedo Garitezi
c29ada4666
fix(redis_bridge): fix connector schema and action info transformations
2023-12-15 17:33:39 -03:00
Thales Macedo Garitezi
432ddc5a3b
fix(bridge_v1_schema): undo changing v1 schema to avoid confusion
2023-12-15 12:55:34 -03:00
Stefan Strigler
ec74f77ad8
refactor(emqx_bridge): common api_fields fn for actions
2023-12-15 14:23:33 +01:00
Thales Macedo Garitezi
f94b943ec2
fix(bridge_v1_api): fill defaults for v2 raw configs
...
Fixes https://emqx.atlassian.net/browse/EMQX-11593
2023-12-15 10:18:42 -03:00
Thales Macedo Garitezi
edec431a6c
Merge pull request #12144 from thalesmg/fix-conn-schema-query-mode-r54-20231211
...
fix({action,connector}_schema): fix `resource_opts` subfields for connectors and actions, and remove redundant subfields from actions, use query mode from actions
2023-12-13 09:19:46 -03:00
zhongwencool
3c43db2828
Merge pull request #12147 from zhongwencool/bridge-description
...
fix:add descriptions fields to bridge_v1
2023-12-13 09:13:17 +08:00
Thales Macedo Garitezi
d7b96af893
Merge pull request #12145 from thalesmg/fix-postgres-res-opts-schema-r54-20231211
...
fix(postgres_schema): fix usages of `resource_opts` in connector and action schemas
2023-12-12 11:02:55 -03:00
zhongwencool
363055a32e
fix: add descriptions fields to bridge_v1
2023-12-12 10:18:18 +08:00
Thales Macedo Garitezi
b80c9b0863
fix(actions_schema): remove redundant `resource_opts` subfields for actions
...
Buffer workers don't use those fields.
2023-12-11 16:58:43 -03:00
Thales Macedo Garitezi
593283df93
fix(redis_bridge_schema): use correct `resource_opts` subfields for connector and action
2023-12-11 16:58:43 -03:00
Thales Macedo Garitezi
f7adaa8911
fix(postgres_schema): fix usages of `resource_opts` in connector and action schemas
...
Fixes https://emqx.atlassian.net/browse/EMQX-11569
2023-12-11 15:03:20 -03:00
Stefan Strigler
a7c344ba29
fix(emqx_bridge): remove unused
2023-12-11 14:58:09 +01:00
Stefan Strigler
31a7301f6f
refactor(emqx_bridge): be more generic in to_bridge_v1_config
2023-12-11 14:50:38 +01:00
Stefan Strigler
6143b3a2be
fix(emqx_bridge_mongodb): use correct config when calling downgrade_type
...
Also limit result in mongodb ..._to_bridge_v1_config to not include more fields
than what's in the schema (most notably `description`).
2023-12-11 14:08:45 +01:00
Stefan Strigler
5d7ae4b980
Merge pull request #12132 from sstrigler/EMQX-11154-bridge-v-2-my-sql-support
...
feat(emqx_bridge_mysql): port to shared connectors
2023-12-11 13:56:34 +01:00
Zaiming (Stone) Shi
ddbb8560fa
fix(dialyzer): batch 2
2023-12-08 17:59:55 +01:00
Stefan Strigler
71607aa2ad
feat(emqx_bridge_mysql): port to shared connectors
2023-12-08 16:15:18 +01:00
Thales Macedo Garitezi
c274450c5e
Merge pull request #12118 from thalesmg/fix-missing-type-name-api-actions-r54-20231206
...
fix(actions_api): add missing fields to API spec and returned data
2023-12-07 09:34:29 -03:00
Zaiming (Stone) Shi
33a7282cdd
fix(dialyzer): only include eunit when TEST is defined
2023-12-06 20:39:26 +01:00
Thales Macedo Garitezi
2757b95850
fix(actions_api): fill raw config defaults before returning
...
Fixes https://emqx.atlassian.net/browse/EMQX-11541
2023-12-06 11:13:09 -03:00
Thales Macedo Garitezi
f489de8860
Merge pull request #12100 from thalesmg/fix-password-action-probe-m-20231205
...
fix(bridges/actions api): correctly deobfuscate passwords when probing
2023-12-05 14:25:32 -03:00
Thales Macedo Garitezi
2579f8ea92
Merge pull request #12096 from thalesmg/fix-delete-deps-rules-m-20231204
...
fix(api): return list of dependent rule ids when trying to delete bridge/action
2023-12-05 14:24:50 -03:00
Thales Macedo Garitezi
e42f4155d3
fix(bridges/actions api): correctly deobfuscate passwords when probing
...
Fixes https://emqx.atlassian.net/browse/EMQX-11533
2023-12-05 11:49:50 -03:00
Thales Macedo Garitezi
1b68fbff05
fix(api): return list of dependent rule ids when trying to delete bridge/action
...
Fixes https://emqx.atlassian.net/browse/EMQX-11523
2023-12-05 11:47:26 -03:00
Thales Macedo Garitezi
ac2c99f996
test(connector): add test to ensure connector schema has `resource_opts`
...
https://emqx.atlassian.net/browse/EMQX-11509
2023-12-04 10:02:05 -03:00
Zaiming (Stone) Shi
7f4d91d490
Merge remote-tracking branch 'origin/release-54' into 1201-sync-release-54
2023-12-01 08:32:22 +01:00
Ivan Dyachkov
9fd2fa95a8
chore: bump apps versions
2023-11-30 20:01:12 +01:00
Ivan Dyachkov
ec10c51073
Merge remote-tracking branch 'upstream/release-53' into 1129-sync-r53
2023-11-30 19:51:12 +01:00
zhongwencool
0aec2f7605
feat: redis bridge v2
2023-11-29 16:06:46 +08:00
JianBo He
c8b5c51bbc
chore: fix failed test cases
2023-11-28 09:53:46 +08:00
JianBo He
cdb90ebe6b
feat: rename webhook bridge to http bridge
2023-11-28 09:53:46 +08:00
JianBo He
dc99651690
test(bridge): ensure almost test cases passed
2023-11-28 09:53:46 +08:00
JianBo He
96af7a74e8
feat: impl the http bridge v2
2023-11-28 09:53:46 +08:00
Stefan Strigler
ac370fed61
Merge pull request #12035 from sstrigler/EMQX-11382-a-new-field-should-be-added-to-the-interface-of-the-connector-to-return-the-actions-associated-with-it
...
feat(emqx_connector): add field 'actions' in API response
2023-11-27 17:39:44 +01:00
Stefan Strigler
048f4724a9
feat(emqx_connector): add field 'actions' in API response
...
Also unify schemas, use emqx_connector_schema for the generic parts.
2023-11-27 16:09:17 +01:00
Thales Macedo Garitezi
6acdc6e432
feat: add `/actions/:id/metrics/`, `/actions/:id/metrics/reset` APIs
...
Fixes https://emqx.atlassian.net/browse/EMQX-11381
2023-11-27 11:33:11 -03:00
Kjell Winblad
66945dcc5c
fix: address more comments from @thalesmg
2023-11-24 20:31:29 +01:00
Kjell Winblad
fc7bedb81a
fix: remove duplicated entry
2023-11-24 17:37:58 +01:00
Kjell Winblad
c5e281b84b
fix: emqx_auth_postgresql test suites
2023-11-24 17:33:39 +01:00
Kjell Winblad
d5b62eead0
feat: split pgsql, matrix and timescale into connector action
...
This commit splits the bridges pgsql, matrix and timescale into
connector and action.
Fixes:
https://emqx.atlassian.net/browse/EMQX-11155
2023-11-24 17:33:35 +01:00
Stefan Strigler
4e077c951b
feat(emqx_bridge_mongodb): port mongodb to shared connector and actions
2023-11-24 15:09:35 +01:00
Stefan Strigler
9ebbc9bbea
refactor(emqx_bridge): use more simplistic function to validate connector
2023-11-24 10:07:11 +01:00
Thales Macedo Garitezi
fdfa3213cc
fix(bridge_api): don't mangle configs, use correct type as argument
...
Fixes https://emqx.atlassian.net/browse/EMQX-11412
- The wrong type was being used in a list lookup function, resulting in the automatic
transformation being called erroneously and mangling the config.
- There was a left-over workaround still around which could still mangle the config.
2023-11-23 11:41:26 -03:00
Thales Macedo Garitezi
c89ec0b1f7
fix(bridge_api): don't mangle configs, use correct type as argument
...
Fixes https://emqx.atlassian.net/browse/EMQX-11412
- The wrong type was being used in a list lookup function, resulting in the automatic
transformation being called erroneously and mangling the config.
- There was a left-over workaround still around which could still mangle the config.
2023-11-23 10:25:36 -03:00
Thales Macedo Garitezi
6c9417efe0
Merge remote-tracking branch 'origin/release-53' into sync-r53-m-20231122
2023-11-22 12:02:34 -03:00
Thales Macedo Garitezi
bb549cdf8b
feat(actions): allow multiple action info modules per application
2023-11-22 09:33:01 -03:00
Thales Macedo Garitezi
38d3a1d7d0
feat(actions): allow multiple action info modules per application
2023-11-22 09:30:37 -03:00
Thales Macedo Garitezi
3a8c332805
fix(actions_api): don't crash on validation errors
...
Fixes https://emqx.atlassian.net/browse/EMQX-11394
2023-11-21 16:27:54 -03:00
Kjell Winblad
b0d670aaa9
Merge pull request #11992 from kjellwinblad/kjell/backport/action_upgrade_downgrade_hooks
...
fix(action): upgrade and downgrade strategy
2023-11-21 19:14:37 +01:00
Thales Macedo Garitezi
9e1796ec4f
feat(gcp_pubsub_producer): migrate GCP PubSub producer to actions
...
Fixes https://emqx.atlassian.net/browse/EMQX-11157
2023-11-21 14:22:42 -03:00
Thales Macedo Garitezi
6c9a8461f7
Merge pull request #11989 from thalesmg/confluent-action-m-20231120
...
feat: add confluent connector/action
2023-11-21 11:01:40 -03:00
Kjell Winblad
cd72dc11dd
fix: missing emqx_action_info module mapping
2023-11-21 14:22:29 +01:00
Thales Macedo Garitezi
068d151b14
Merge pull request #11983 from thalesmg/sync-r53-to-m-20231120
...
sync `release-53` to `master`
2023-11-21 09:02:51 -03:00
Thales Macedo Garitezi
75ee3ced68
feat: add confluent connector/action
...
Fixes https://emqx.atlassian.net/browse/EMQX-11044
See also: https://emqx.atlassian.net/wiki/spaces/EMQX/pages/712179934/Confluent+Integration
2023-11-21 08:59:42 -03:00
Kjell Winblad
6030bf6fa5
fix(action): upgrade and downgrade strategy
...
This commit adds upgrade and downgrade hooks that are called when
upgrading from a bridge V1 to connector and action or the other way
around. The automatic translation is used if the callback is not
defined.
NOTE: Backported from master
2023-11-21 11:18:21 +01:00
Thales Macedo Garitezi
6f8630304d
Merge pull request #11980 from kjellwinblad/kjell/fix_fixup_callbacks/EMQX-11428
...
fix: bridge to action upgrade fixup hook should run after upgrade
2023-11-20 16:19:43 -03:00
Kjell Winblad
edbfe090c9
feat: add custom callback for creating connector from bridge V1 config
2023-11-20 17:23:51 +01:00
Kjell Winblad
3aa8044475
fix(action): upgrade and downgrade strategy
...
This commit fixes the upgrade and downgrade strategy when upgrading
from a bridge V1 to connector and action or the other way around so that
the custom callbacks get the complete unchanged input instead of the
result of the automatic translation. The automatic translation is used
if the callback is not defined.
2023-11-20 16:40:27 +01:00
Thales Macedo Garitezi
f40f6bc5dd
refactor: split `resource_opts` fields between connector and actions
2023-11-20 12:37:36 -03:00
Thales Macedo Garitezi
53e796bbd0
Merge remote-tracking branch 'origin/release-53' into sync-r53-to-m-20231120
2023-11-20 11:49:52 -03:00
Thales Macedo Garitezi
b42d4e5ab0
Merge pull request #11950 from thalesmg/fix-bridge-v1-examples-r53-20231114
...
fix(bridges_v1): avoid merging action examples for non-v1 bridges
2023-11-20 09:12:23 -03:00
Stefan Strigler
84ff7b0b38
feat(emqx_bridge): action_info with dynamic lookup
...
This allows a n:1 relation between v1 bridge_types to action/connector types as
it's the case with mongodb for instance, where we had `mongodb_single`
`mongodb_sharded` etc and the new implementation will just have `mongodb`.
2023-11-20 10:22:37 +01:00
Thales Macedo Garitezi
eb3f54184e
refactor: address review comments and avoid transformations without schema knowledge
2023-11-17 16:16:34 -03:00
Kjell Winblad
86c126ffcd
feat: callbacks for fixup after automatic Bridge V1 upgrade/downgrade
...
This commit adds callbacks to the emqx_action_info module for
doing fixes (such as changing a field name) after the automatic
split of a Bridge V1 config or the merge of connector and action
configs for the compatibility layer.
2023-11-17 16:10:08 -03:00
Kjell Winblad
9feba802e9
chore: add convenience function for creating action schemas
2023-11-17 16:10:08 -03:00
Thales Macedo Garitezi
b92821188b
fix(kafka_producer): make status `connecting` while the client fails to connect
...
Fixes https://emqx.atlassian.net/browse/EMQX-11408
To make it consistent with the previous bridge behavior.
Also, introduces macros for resource status to avoid problems with typos.
2023-11-16 14:50:23 -03:00
Ivan Dyachkov
65ba381fd8
Merge remote-tracking branch 'upstream/master' into 1115-sync-master-to-r53
2023-11-15 09:25:03 +01:00
Thales Macedo Garitezi
5275a01727
fix(syskeeper): refactor action to new action info scheme
2023-11-14 19:49:28 +01:00
Ivan Dyachkov
7c0e345d3a
Merge remote-tracking branch 'upstream/release-54'
2023-11-14 19:38:21 +01:00
Thales Macedo Garitezi
2f1d88d414
fix(bridges_v1): avoid merging action examples for non-v1 bridges
...
Since some new bridges might not have a V1 equivalent (i.e. they are not registered in
`emqx_bridge_enterprise`), we should avoid displaying their examples in the V1 API spec.
2023-11-14 13:56:50 -03:00
Thales Macedo Garitezi
d6e9bbb95c
fix(connector): validate connector name before converting ssl certs
...
Fixes https://emqx.atlassian.net/browse/EMQX-11336
See also: https://github.com/emqx/emqx/pull/11540
2023-11-14 09:29:59 -03:00
Ivan Dyachkov
1c57993c91
Merge remote-tracking branch 'upstream/release-53' into 1114-sync-r53
2023-11-14 10:44:35 +01:00
Andrew Mayorov
7d6c9d2daa
feat(iotdb): accept wrapped secrets as passwords
2023-11-14 16:05:53 +07:00
Ivan Dyachkov
a49aea3b56
chore: bump app versions
2023-11-14 09:27:04 +01:00
Kjell Winblad
d682e6e23c
test: fix test mock by calling exported function
2023-11-14 09:20:46 +01:00
Kjell Winblad
3bea3496af
test: fix test case mock that broke due to removal
2023-11-14 09:20:46 +01:00
Kjell Winblad
ca3e5eab11
refactor: remove emqx_bridge_v2_enterprise.erl
2023-11-14 09:20:46 +01:00
Kjell Winblad
e93b71d8d5
fix: problems found by @thalesmg in code review
...
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2023-11-14 09:20:46 +01:00