Andrew Mayorov
343b679741
feat(tpl): make escaping mechanism more foolproof
...
Treat "${$}" as literal "$". This allows to template express
strings, for example, of the form "${some_var_value}" where
`some_var_value` is interpolated from bindings.
2023-11-02 17:11:11 +07:00
Andrew Mayorov
f689d6c233
fix(tpl): ensure backward compat in `emqx_rule_engine`
...
Missing bindings in string templates will be rendered as "undefined",
as before. Rendering still assumes that missing binding with implicit
default (`undefined`) is an error.
This will also restore complete backward compat in `emqx_prometheus`.
2023-11-02 17:11:11 +07:00
Andrew Mayorov
1fcdfe991c
fix(tpl): add few missing `@doc`s + correct typespecs
2023-11-02 17:11:11 +07:00
Andrew Mayorov
a9693eada7
fix(tpl): rename `trivial` -> `is_const`
...
This is clearer. Former naming was a bit misleading.
2023-11-02 17:11:11 +07:00
Andrew Mayorov
7bb995f0c6
feat(tpl): support `:n` SQL parameters
2023-11-02 17:11:11 +07:00
Andrew Mayorov
dfb7faf6a8
fix(tpl): ensure rough backward compat in `emqx_prometheus`
...
But also emit warning when job name template renders with errors.
2023-11-02 17:11:10 +07:00
Andrew Mayorov
49fba40ee7
fix(tpl): ensure backward compat with authz / authn templates
...
This commit leans heavy into discouraging the former approach where
only part of placeholders were interpolated, depending on `placeholders`
option.
2023-11-02 17:11:10 +07:00
Andrew Mayorov
49f5325c67
feat(tpl): unify validations / errors var representations
2023-11-02 17:11:10 +07:00
Andrew Mayorov
b812f9af5a
feat(tpl): use `emqx_connector_template` in `emqx_rule_engine` app
2023-11-02 17:11:10 +07:00
Andrew Mayorov
e1bca5844f
feat(tpl): use `emqx_connector_template` in `emqx_prometheus` app
2023-11-02 17:11:10 +07:00
Andrew Mayorov
0538a77700
feat(tpl): use `emqx_connector_template` in `emqx_authn`, `emqx_authz`
...
This slightly changes semantics: now the attempt to create authenticator
with illegal bindings in templates will fail, instead of treating them
as literals. The runtime behaviour on the other hand should be the same.
2023-11-02 17:11:10 +07:00
Andrew Mayorov
35902dc72d
feat(tpl): switch basic connectors to `emqx_connector_template`
...
Also avoid `filename:join/2` in HTTP connector since it's both OS specific
and an overkill.
2023-11-02 17:11:09 +07:00
Andrew Mayorov
28d55d72ca
feat(tpl): split `emqx_placeholder` into a couple of modules
...
Located under `emqx_connector` for now. The APIs of the new modules
are slightly different from the old ones. The new ones are more
explicit in terms of error handling. Also copy the according testsuite
from `emqx_plugin_libs` and enrich it for better coverage.
2023-11-02 17:11:09 +07:00
Zaiming (Stone) Shi
73dd2f0ffd
chore: bump version to e5.3.1-alpha.3
2023-11-02 10:36:41 +01:00
Zaiming (Stone) Shi
f5818a86e3
Merge pull request #11860 from thalesmg/fix-delete-shared-bridgev2-r53-20231101
...
fix(bridge_v1): return 400 if trying to delete shared bridge via http api v1
2023-11-02 10:30:47 +01:00
Zaiming (Stone) Shi
a44f8eb583
Merge pull request #11861 from zmstone/1101-do-not-repeat-print-shell-warning
...
fix(shell): do not repeat print shell warnings
2023-11-02 10:28:56 +01:00
Zaiming (Stone) Shi
34ec7375ba
Merge pull request #11862 from kjellwinblad/kjell/shared_con/del_rules/EMQX-11293
...
fix(bridge_v2 API): optional cascading delete operation
2023-11-02 10:28:43 +01:00
Kjell Winblad
ec2d339355
Merge pull request #11857 from kjellwinblad/kjell/shared_con/EMQX-11270
...
fix(bridge_v2): channels should not be removed when status is connecting
2023-11-01 16:46:47 +01:00
Ivan Dyachkov
5b964ef415
Merge pull request #11858 from id/1101-emqx-11288-fix-kafka-replaq-dir-conflict
...
emqx 11288 fix kafka replaq dir conflict
2023-11-01 16:45:02 +01:00
Thales Macedo Garitezi
4bea65bf97
fix(bridge_v2_api): don't disable schema check
2023-11-01 12:44:40 -03:00
Ivan Dyachkov
2dd5061643
fix(kafka): kafka bridge replaq dir conflict
2023-11-01 15:44:28 +01:00
Kjell Winblad
357b664c8d
fix(bridge_v2): more fixes thanks to PR comments from @thalesmg
2023-11-01 15:27:54 +01:00
Kjell Winblad
b06d05eaac
test(bridge_v2): fix test case after new API
2023-11-01 15:27:54 +01:00
Kjell Winblad
96d6c6db49
test(bridge_v2): emqx_bridge_v2_kafka_producer_SUITE fix after API change
2023-11-01 15:27:53 +01:00
Kjell Winblad
edb1d37e67
chore(bridge_v2): make fixes thanks to PR comments from @thalesmg
2023-11-01 15:27:53 +01:00
Kjell Winblad
95f3b94ac3
fix(bridge_v2): channels should not be removed when status is connecting
...
This fixes so that channels are not removed from the resource state when
their status is connecting. This is needed for Kafka since Kafka's message
buffer is stored in the resource state.
Fixes:
https://emqx.atlassian.net/browse/EMQX-11270
2023-11-01 15:27:53 +01:00
Kjell Winblad
1e935e9eb4
fix(bridge_v2 API): optional cascading delete operation
...
This commit makes the delete HTTP API operation for Bridge V2 behave in
the same way as in the Bridge V1 API.
Fixes:
https://emqx.atlassian.net/browse/EMQX-11293
2023-11-01 15:03:18 +01:00
Zaiming (Stone) Shi
c38725facd
fix(shell): do not repeat print shell warnings
2023-11-01 14:44:18 +01:00
lafirest
17544dc410
Merge pull request #11852 from lafirest/feat/gbt_gw
...
feat(gbt32960): Port the GBT32960 gateway from v4
2023-11-01 21:03:18 +08:00
Thales Macedo Garitezi
c03979a48a
fix(bridge_v1): return 400 if trying to delete shared bridge via http api v1
2023-11-01 09:51:26 -03:00
firest
6b50fdcf9e
chore(gbt32960): update changes
2023-11-01 19:35:44 +08:00
firest
30a72f557f
fix(gateway): improve gateway schema modules
...
1. enhances the gateway name as an enum
2. make the schema more flexible and extensible without some hardcode
2023-11-01 18:55:36 +08:00
Kjell Winblad
10b2894b6e
chore(bridge_v2_api): remove misplaced handling code
2023-11-01 11:31:17 +01:00
Zaiming (Stone) Shi
ae760a4ca1
Merge pull request #11855 from zmstone/1031-perf-no-need-to-format-sys-message-if-no-bridge-matched
...
perf: no need to format event message if no bridge matched
2023-11-01 10:22:06 +01:00
Ivan Dyachkov
aa8a6f2e26
Merge pull request #11853 from thalesmg/test-bridge-v1-compat-layer-r53-20231030
...
test(bridges): add bridge v1 compatibility layer test suite, and other fixes
2023-11-01 09:51:10 +01:00
Stefan Strigler
29683072a1
fix(emqx_connector): remove `stop` and `restart` operations
2023-11-01 09:18:50 +01:00
Stefan Strigler
eb723489d7
Merge pull request #11854 from sstrigler/EMQX-11283-connector-update-interface-error
...
docs: fix examples for PUT operations on bridge_v2 and connectors
2023-11-01 08:18:11 +01:00
firest
5e314d4ef1
test(gbt32960): add test suites
2023-11-01 13:17:01 +08:00
Thales Macedo Garitezi
45a39d97c6
fix(bridges_v1): avoid create dangling connectors when updating bridges via api v1
...
Fixes https://emqx.atlassian.net/browse/EMQX-11291
2023-10-31 16:39:47 -03:00
Andrew Mayorov
7092c75597
Merge pull request #11809 from keynslug/ft/EMQX-10808/file-secrets
...
feat(mqttbridge): support file-sourced secrets as passwords
2023-11-01 00:29:30 +07:00
Zaiming (Stone) Shi
b2ff9b4897
Merge pull request #11851 from zmstone/1031-docs-add-changelog-for-bridge-v2
...
docs: add changelog for bridge_v2
2023-10-31 17:56:10 +01:00
Thales Macedo Garitezi
b420b53075
fix(bridges_v2): check bridge name length before attempting atom conversion
...
Fixes https://emqx.atlassian.net/browse/EMQX-11289
2023-10-31 13:21:26 -03:00
Thales Macedo Garitezi
8eb822d898
test(bridges): add bridge v1 compatibility layer test suite
2023-10-31 13:21:01 -03:00
Zaiming (Stone) Shi
db5cdb6742
perf: no need to format event message if no bridge matched
2023-10-31 16:48:10 +01:00
Stefan Strigler
3e9f48d10f
fix: remove unneeded clause
2023-10-31 16:05:31 +01:00
Stefan Strigler
2a4eaf41ba
docs: fix examples for PUT operations on bridge_v2 and connectors
...
Examples would show `type` and `name` properties in the request body, which is
not accepted by the schema.
Also fixes some minor inconsistencies in the example names of connectors and
bridges.
2023-10-31 15:10:11 +01:00
Thales Macedo Garitezi
84e78f5d2e
fix(bridge_api): fix response status code for some operations
2023-10-31 10:40:56 -03:00
Thales Macedo Garitezi
c90ca1ea53
fix(bridge_v1): always delete connector when deleting v1 bridge
...
Fixes https://emqx.atlassian.net/browse/EMQX-11287
2023-10-31 10:40:06 -03:00
Zaiming (Stone) Shi
d8d1783c0a
docs: add changelog for bridge_v2
2023-10-31 14:33:29 +01:00
Andrew Mayorov
d278486416
fix(secret): dedicate a specific loader module for file secrets
...
To make code employing `emqx_secret` easier to follow.
2023-10-31 19:26:04 +07:00