Skip to content

Commit 4f1b058

Browse files
committed
WASM: Load available WASM processors
1 parent 99bec39 commit 4f1b058

File tree

18 files changed

+885
-305
lines changed

18 files changed

+885
-305
lines changed

.github/workflows/validate-generated-files.yml

+1-3
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,5 @@ jobs:
2525
- name: Check generated files
2626
run: |
2727
export PATH=$PATH:$(go env GOPATH)/bin
28-
make install-tools
29-
make generate
30-
make proto-generate
28+
make install-tools generate proto-generate
3129
git diff --exit-code --numstat

go.mod

+11-10
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
module github.com/conduitio/conduit
22

3-
go 1.21.1
3+
go 1.21.5
44

55
require (
66
buf.build/gen/go/grpc-ecosystem/grpc-gateway/protocolbuffers/go v1.31.0-20231027202514-3f42134f4c56.2
77
github.com/Masterminds/semver/v3 v3.2.1
88
github.com/NYTimes/gziphandler v1.1.1
99
github.com/antchfx/jsonquery v1.3.3
1010
github.com/bufbuild/buf v1.28.1
11-
github.com/conduitio/conduit-commons v0.0.0-20231205181721-bef91d55116c
11+
github.com/conduitio/conduit-commons v0.0.0-20231222154604-f6dfae573b45
1212
github.com/conduitio/conduit-connector-file v0.6.0
1313
github.com/conduitio/conduit-connector-generator v0.5.0
1414
github.com/conduitio/conduit-connector-kafka v0.7.0
@@ -17,6 +17,7 @@ require (
1717
github.com/conduitio/conduit-connector-protocol v0.5.0
1818
github.com/conduitio/conduit-connector-s3 v0.5.0
1919
github.com/conduitio/conduit-connector-sdk v0.8.0
20+
github.com/conduitio/conduit-processor-sdk v0.0.0-20231228145242-642fec12c5d9
2021
github.com/conduitio/yaml/v3 v3.3.0
2122
github.com/dgraph-io/badger/v4 v4.2.0
2223
github.com/dop251/goja v0.0.0-20230531210528-d7324b2d74f7
@@ -26,7 +27,7 @@ require (
2627
github.com/golang/mock v1.6.0
2728
github.com/golangci/golangci-lint v1.55.2
2829
github.com/google/go-cmp v0.6.0
29-
github.com/google/uuid v1.4.0
30+
github.com/google/uuid v1.5.0
3031
github.com/gorilla/websocket v1.5.1
3132
github.com/grpc-ecosystem/grpc-gateway/v2 v2.18.1
3233
github.com/hamba/avro/v2 v2.18.0
@@ -43,15 +44,16 @@ require (
4344
github.com/prometheus/client_model v0.5.0
4445
github.com/prometheus/common v0.45.0
4546
github.com/rs/zerolog v1.31.0
47+
github.com/tetratelabs/wazero v1.5.0
4648
github.com/twmb/go-cache v1.2.0
4749
go.uber.org/goleak v1.3.0
4850
go.uber.org/mock v0.3.0
4951
golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa
50-
golang.org/x/tools v0.16.0
52+
golang.org/x/tools v0.16.1
5153
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2
52-
google.golang.org/genproto/googleapis/api v0.0.0-20231106174013-bbf56f31fb17
53-
google.golang.org/grpc v1.59.0
54-
google.golang.org/protobuf v1.31.1-0.20231027082548-f4a6c1f6e5c1
54+
google.golang.org/genproto/googleapis/api v0.0.0-20231212172506-995d672761c0
55+
google.golang.org/grpc v1.60.0
56+
google.golang.org/protobuf v1.32.0
5557
gopkg.in/tomb.v2 v2.0.0-20161208151619-d5d1b5820637
5658
)
5759

@@ -297,7 +299,6 @@ require (
297299
github.com/t-yuki/gocover-cobertura v0.0.0-20180217150009-aaee18c8195c // indirect
298300
github.com/tdakkota/asciicheck v0.2.0 // indirect
299301
github.com/tetafro/godot v1.4.15 // indirect
300-
github.com/tetratelabs/wazero v1.5.0 // indirect
301302
github.com/timakin/bodyclose v0.0.0-20230421092635-574207250966 // indirect
302303
github.com/timonwong/loggercheck v0.9.4 // indirect
303304
github.com/tomarrell/wrapcheck/v2 v2.8.1 // indirect
@@ -334,8 +335,8 @@ require (
334335
golang.org/x/term v0.15.0 // indirect
335336
golang.org/x/text v0.14.0 // indirect
336337
golang.org/x/time v0.4.0 // indirect
337-
google.golang.org/genproto v0.0.0-20231030173426-d783a09b4405 // indirect
338-
google.golang.org/genproto/googleapis/rpc v0.0.0-20231106174013-bbf56f31fb17 // indirect
338+
google.golang.org/genproto v0.0.0-20231211222908-989df2bf70f3 // indirect
339+
google.golang.org/genproto/googleapis/rpc v0.0.0-20231211222908-989df2bf70f3 // indirect
339340
gopkg.in/ini.v1 v1.67.0 // indirect
340341
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect
341342
gopkg.in/yaml.v2 v2.4.0 // indirect

go.sum

+18-16
Original file line numberDiff line numberDiff line change
@@ -1020,8 +1020,8 @@ github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4/go.mod h1:eXthEFrGJvWH
10201020
github.com/cockroachdb/apd v1.1.0 h1:3LFP3629v+1aKXU5Q37mxmRxX/pIu1nijXydLShEq5I=
10211021
github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ=
10221022
github.com/colinmarc/hdfs/v2 v2.1.1/go.mod h1:M3x+k8UKKmxtFu++uAZ0OtDU8jR3jnaZIAc6yK4Ue0c=
1023-
github.com/conduitio/conduit-commons v0.0.0-20231205181721-bef91d55116c h1:iggz0i/MMCHo7FINL01hDUgRhDCLrcSMzIqaiaRCNmg=
1024-
github.com/conduitio/conduit-commons v0.0.0-20231205181721-bef91d55116c/go.mod h1:d4Q4/ezToUpMs8d4hk5z3XkcIV0BTrEpEHFecdP0kLs=
1023+
github.com/conduitio/conduit-commons v0.0.0-20231222154604-f6dfae573b45 h1:GJhyDjoyswfJdqKyszQvevOw/xAz6ilNgN8q6T0lDeQ=
1024+
github.com/conduitio/conduit-commons v0.0.0-20231222154604-f6dfae573b45/go.mod h1:+bKjNjWYkbc/MMkBFSzND09FxpPD3GqjmPRQMndkvZ0=
10251025
github.com/conduitio/conduit-connector-file v0.6.0 h1:8tsGeGhKvFwYQZztOOL5/tmOhVShsfo9lQ3b/0fX8kQ=
10261026
github.com/conduitio/conduit-connector-file v0.6.0/go.mod h1:ju7PiB4kTJgqng4KVXDt/Gvw/53kFwSzi5Ez9EDXxNI=
10271027
github.com/conduitio/conduit-connector-generator v0.5.0 h1:zpXHif89DCJ13nftKLv31uI2AJGicpY5H1V7SwldRNo=
@@ -1038,6 +1038,8 @@ github.com/conduitio/conduit-connector-s3 v0.5.0 h1:nqLcf/foYnDLkXWYcWJX/5UHzTjW
10381038
github.com/conduitio/conduit-connector-s3 v0.5.0/go.mod h1:I6oE37zz25RTjnQiUBz2rOASwXNqfaMW7gSlsKX6z8E=
10391039
github.com/conduitio/conduit-connector-sdk v0.8.0 h1:gvchqoj5d3AQsBoIosx4i32L8Ex9+5BuAyHi/IM9VD4=
10401040
github.com/conduitio/conduit-connector-sdk v0.8.0/go.mod h1:nOz4K3X6fD8YMe5CPbULwSEE18Eu02ZrpT6o6KwQfxs=
1041+
github.com/conduitio/conduit-processor-sdk v0.0.0-20231228145242-642fec12c5d9 h1:1ScS57HHIoCZhDnkyYRpQGH32DrwBn8cJSNCwc52tF4=
1042+
github.com/conduitio/conduit-processor-sdk v0.0.0-20231228145242-642fec12c5d9/go.mod h1:vzR6okyqvGBHlnFvBMkeZ1oMj8VaGSPk7mE3eJnndKE=
10411043
github.com/conduitio/yaml/v3 v3.3.0 h1:kbbaOSHcuH39gP4+rgbJGl6DSbLZcJgEaBvkEXJlCsI=
10421044
github.com/conduitio/yaml/v3 v3.3.0/go.mod h1:JNgFMOX1t8W4YJuRZOh6GggVtSMsgP9XgTw+7dIenpc=
10431045
github.com/containerd/stargz-snapshotter/estargz v0.15.1 h1:eXJjw9RbkLFgioVaTG+G/ZW/0kEe2oEKCdS/ZxIyoCU=
@@ -1342,8 +1344,8 @@ github.com/google/s2a-go v0.1.4/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkj
13421344
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
13431345
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
13441346
github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
1345-
github.com/google/uuid v1.4.0 h1:MtMxsa51/r9yyhkyLsVeVt0B+BGQZzpQiTQ4eHZ8bc4=
1346-
github.com/google/uuid v1.4.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
1347+
github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU=
1348+
github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
13471349
github.com/googleapis/enterprise-certificate-proxy v0.0.0-20220520183353-fd19c99a87aa/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8=
13481350
github.com/googleapis/enterprise-certificate-proxy v0.1.0/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8=
13491351
github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg=
@@ -2425,8 +2427,8 @@ golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s=
24252427
golang.org/x/tools v0.8.0/go.mod h1:JxBZ99ISMI5ViVkT1tr6tdNmXeTrcpVSD3vZ1RsRdN4=
24262428
golang.org/x/tools v0.9.1/go.mod h1:owI94Op576fPu3cIGQeHs3joujW/2Oc6MtlxbF5dfNc=
24272429
golang.org/x/tools v0.10.0/go.mod h1:UJwyiVBsOA2uwvK/e5OY3GTpDUJriEd+/YlqAwLPmyM=
2428-
golang.org/x/tools v0.16.0 h1:GO788SKMRunPIBCXiQyo2AaexLstOrVhuAL5YwsckQM=
2429-
golang.org/x/tools v0.16.0/go.mod h1:kYVVN6I1mBNoB1OX+noeBjbRk4IUEPa7JJ+TJMEooJ0=
2430+
golang.org/x/tools v0.16.1 h1:TLyB3WofjdOEepBHAU20JdNC1Zbg87elYofWYAY5oZA=
2431+
golang.org/x/tools v0.16.1/go.mod h1:kYVVN6I1mBNoB1OX+noeBjbRk4IUEPa7JJ+TJMEooJ0=
24302432
golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
24312433
golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
24322434
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@@ -2663,8 +2665,8 @@ google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5/go.mod h1:oH/ZOT02
26632665
google.golang.org/genproto v0.0.0-20230821184602-ccc8af3d0e93/go.mod h1:yZTlhN0tQnXo3h00fuXNCxJdLdIdnVFVBaRJ5LWBbw4=
26642666
google.golang.org/genproto v0.0.0-20230913181813-007df8e322eb/go.mod h1:yZTlhN0tQnXo3h00fuXNCxJdLdIdnVFVBaRJ5LWBbw4=
26652667
google.golang.org/genproto v0.0.0-20231002182017-d307bd883b97/go.mod h1:t1VqOqqvce95G3hIDCT5FeO3YUc6Q4Oe24L/+rNMxRk=
2666-
google.golang.org/genproto v0.0.0-20231030173426-d783a09b4405 h1:I6WNifs6pF9tNdSob2W24JtyxIYjzFB9qDlpUC76q+U=
2667-
google.golang.org/genproto v0.0.0-20231030173426-d783a09b4405/go.mod h1:3WDQMjmJk36UQhjQ89emUzb1mdaHcPeeAh4SCBKznB4=
2668+
google.golang.org/genproto v0.0.0-20231211222908-989df2bf70f3 h1:1hfbdAfFbkmpg41000wDVqr7jUpK/Yo+LPnIxxGzmkg=
2669+
google.golang.org/genproto v0.0.0-20231211222908-989df2bf70f3/go.mod h1:5RBcpGRxr25RbDzY5w+dmaqpSEvl8Gwl1x2CICf60ic=
26682670
google.golang.org/genproto/googleapis/api v0.0.0-20230525234020-1aefcd67740a/go.mod h1:ts19tUU+Z0ZShN1y3aPyq2+O3d5FUNNgT6FtOzmrNn8=
26692671
google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig=
26702672
google.golang.org/genproto/googleapis/api v0.0.0-20230526203410-71b5a4ffd15e/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig=
@@ -2675,8 +2677,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20230711160842-782d3b101e98/go.
26752677
google.golang.org/genproto/googleapis/api v0.0.0-20230726155614-23370e0ffb3e/go.mod h1:rsr7RhLuwsDKL7RmgDDCUc6yaGr1iqceVb5Wv6f6YvQ=
26762678
google.golang.org/genproto/googleapis/api v0.0.0-20230803162519-f966b187b2e5/go.mod h1:5DZzOUPCLYL3mNkQ0ms0F3EuUNZ7py1Bqeq6sxzI7/Q=
26772679
google.golang.org/genproto/googleapis/api v0.0.0-20230920204549-e6e6cdab5c13/go.mod h1:RdyHbowztCGQySiCvQPgWQWgWhGnouTdCflKoDBt32U=
2678-
google.golang.org/genproto/googleapis/api v0.0.0-20231106174013-bbf56f31fb17 h1:JpwMPBpFN3uKhdaekDpiNlImDdkUAyiJ6ez/uxGaUSo=
2679-
google.golang.org/genproto/googleapis/api v0.0.0-20231106174013-bbf56f31fb17/go.mod h1:0xJLfVdJqpAPl8tDg1ujOCGzx6LFLttXT5NhllGOXY4=
2680+
google.golang.org/genproto/googleapis/api v0.0.0-20231212172506-995d672761c0 h1:s1w3X6gQxwrLEpxnLd/qXTVLgQE2yXwaOaoa6IlY/+o=
2681+
google.golang.org/genproto/googleapis/api v0.0.0-20231212172506-995d672761c0/go.mod h1:CAny0tYF+0/9rmDB9fahA9YLzX3+AEVl1qXbv5hhj6c=
26802682
google.golang.org/genproto/googleapis/bytestream v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:ylj+BE99M198VPbBh6A8d9n3w8fChvyLK3wwBOjXBFA=
26812683
google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234015-3fc162c6f38a/go.mod h1:xURIpW9ES5+/GZhnV6beoEtxQrnkRGIfP5VQG2tCBLc=
26822684
google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA=
@@ -2690,8 +2692,8 @@ google.golang.org/genproto/googleapis/rpc v0.0.0-20230803162519-f966b187b2e5/go.
26902692
google.golang.org/genproto/googleapis/rpc v0.0.0-20230920183334-c177e329c48b/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M=
26912693
google.golang.org/genproto/googleapis/rpc v0.0.0-20230920204549-e6e6cdab5c13/go.mod h1:KSqppvjFjtoCI+KGd4PELB0qLNxdJHRGqRI09mB6pQA=
26922694
google.golang.org/genproto/googleapis/rpc v0.0.0-20231012201019-e917dd12ba7a/go.mod h1:4cYg8o5yUbm77w8ZX00LhMVNl/YVBFJRYWDc0uYWMs0=
2693-
google.golang.org/genproto/googleapis/rpc v0.0.0-20231106174013-bbf56f31fb17 h1:Jyp0Hsi0bmHXG6k9eATXoYtjd6e2UzZ1SCn/wIupY14=
2694-
google.golang.org/genproto/googleapis/rpc v0.0.0-20231106174013-bbf56f31fb17/go.mod h1:oQ5rr10WTTMvP4A36n8JpR1OrO1BEiV4f78CneXZxkA=
2695+
google.golang.org/genproto/googleapis/rpc v0.0.0-20231211222908-989df2bf70f3 h1:kzJAXnzZoFbe5bhZd4zjUuHos/I31yH4thfMb/13oVY=
2696+
google.golang.org/genproto/googleapis/rpc v0.0.0-20231211222908-989df2bf70f3/go.mod h1:eJVxU6o+4G1PSczBr85xmyvSNYAKvAYgkub40YGomFM=
26952697
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
26962698
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
26972699
google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
@@ -2738,8 +2740,8 @@ google.golang.org/grpc v1.56.1/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpX
27382740
google.golang.org/grpc v1.56.2/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s=
27392741
google.golang.org/grpc v1.57.0/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo=
27402742
google.golang.org/grpc v1.58.3/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0=
2741-
google.golang.org/grpc v1.59.0 h1:Z5Iec2pjwb+LEOqzpB2MR12/eKFhDPhuqW91O+4bwUk=
2742-
google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98=
2743+
google.golang.org/grpc v1.60.0 h1:6FQAR0kM31P6MRdeluor2w2gPaS4SVNrD/DNTxrQ15k=
2744+
google.golang.org/grpc v1.60.0/go.mod h1:OlCHIeLYqSSsLi6i49B5QGdzaMZK9+M7LXN2FKz4eGM=
27432745
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw=
27442746
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
27452747
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
@@ -2759,8 +2761,8 @@ google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqw
27592761
google.golang.org/protobuf v1.29.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
27602762
google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
27612763
google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
2762-
google.golang.org/protobuf v1.31.1-0.20231027082548-f4a6c1f6e5c1 h1:fk72uXZyuZiTtW5tgd63jyVK6582lF61nRC/kGv6vCA=
2763-
google.golang.org/protobuf v1.31.1-0.20231027082548-f4a6c1f6e5c1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
2764+
google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I=
2765+
google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
27642766
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
27652767
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
27662768
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=

pkg/plugin/processor/builtin/registry.go

+14-11
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ import (
1919
"reflect"
2020
"runtime/debug"
2121

22+
sdk "github.com/conduitio/conduit-processor-sdk"
2223
"github.com/conduitio/conduit/pkg/foundation/cerrors"
2324
"github.com/conduitio/conduit/pkg/foundation/log"
2425
"github.com/conduitio/conduit/pkg/plugin"
25-
"github.com/conduitio/conduit/pkg/plugin/processor"
2626
)
2727

2828
type Registry struct {
@@ -35,11 +35,11 @@ type Registry struct {
3535

3636
type blueprint struct {
3737
fullName plugin.FullName
38-
specification processor.Specification
38+
specification sdk.Specification
3939
constructor ProcessorPluginConstructor
4040
}
4141

42-
type ProcessorPluginConstructor func(log.CtxLogger) processor.ProcessorPlugin
42+
type ProcessorPluginConstructor func(log.CtxLogger) sdk.Processor
4343

4444
func NewRegistry(logger log.CtxLogger, constructors map[string]ProcessorPluginConstructor) *Registry {
4545
logger = logger.WithComponent("builtin.Registry")
@@ -58,17 +58,17 @@ func NewRegistry(logger log.CtxLogger, constructors map[string]ProcessorPluginCo
5858
return r
5959
}
6060

61-
func NewProcessorPluginConstructor(processorPlugin processor.ProcessorPlugin) ProcessorPluginConstructor {
61+
func NewProcessorPluginConstructor(processorPlugin sdk.Processor) ProcessorPluginConstructor {
6262
procType := reflect.TypeOf(processorPlugin)
6363
for procType.Kind() != reflect.Struct {
6464
procType.Elem()
6565
}
6666

67-
f := func(logger log.CtxLogger) processor.ProcessorPlugin {
67+
f := func(logger log.CtxLogger) sdk.Processor {
6868
// TODO create processor plugin wrapper that injects logger into context
6969
// before forwarding the call to the plugin
7070
newProcValue := reflect.New(procType)
71-
return newProcValue.Interface().(processor.ProcessorPlugin)
71+
return newProcValue.Interface().(sdk.Processor)
7272
}
7373

7474
// try out f, to catch any panic early
@@ -112,9 +112,12 @@ func loadPlugins(buildInfo *debug.BuildInfo, constructors map[string]ProcessorPl
112112
return plugins
113113
}
114114

115-
func getSpecification(moduleName string, constructor ProcessorPluginConstructor, buildInfo *debug.BuildInfo) (processor.Specification, error) {
115+
func getSpecification(moduleName string, constructor ProcessorPluginConstructor, buildInfo *debug.BuildInfo) (sdk.Specification, error) {
116116
procPlugin := constructor(log.CtxLogger{})
117-
specs := procPlugin.Specification()
117+
specs, err := procPlugin.Specification()
118+
if err != nil {
119+
return sdk.Specification{}, err
120+
}
118121

119122
if version := getModuleVersion(buildInfo.Deps, moduleName); version != "" {
120123
// overwrite version with the import version
@@ -140,7 +143,7 @@ func newFullName(pluginName, pluginVersion string) plugin.FullName {
140143
return plugin.NewFullName(plugin.PluginTypeBuiltin, pluginName, pluginVersion)
141144
}
142145

143-
func (r *Registry) NewProcessorPlugin(logger log.CtxLogger, fullName plugin.FullName) (processor.ProcessorPlugin, error) {
146+
func (r *Registry) NewProcessorPlugin(logger log.CtxLogger, fullName plugin.FullName) (sdk.Processor, error) {
144147
versionMap, ok := r.plugins[fullName.PluginName()]
145148
if !ok {
146149
return nil, plugin.ErrPluginNotFound
@@ -157,8 +160,8 @@ func (r *Registry) NewProcessorPlugin(logger log.CtxLogger, fullName plugin.Full
157160
return b.constructor(logger), nil
158161
}
159162

160-
func (r *Registry) List() map[plugin.FullName]processor.Specification {
161-
specs := make(map[plugin.FullName]processor.Specification, len(r.plugins))
163+
func (r *Registry) List() map[plugin.FullName]sdk.Specification {
164+
specs := make(map[plugin.FullName]sdk.Specification, len(r.plugins))
162165
for _, versions := range r.plugins {
163166
for version, bp := range versions {
164167
if version == plugin.PluginVersionLatest {

pkg/plugin/processor/builtin/registry_test.go

+7-7
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ package builtin
1717
import (
1818
"testing"
1919

20+
sdk "github.com/conduitio/conduit-processor-sdk"
21+
"github.com/conduitio/conduit-processor-sdk/mock"
2022
"github.com/conduitio/conduit/pkg/foundation/log"
2123
"github.com/conduitio/conduit/pkg/plugin"
22-
"github.com/conduitio/conduit/pkg/plugin/processor"
23-
"github.com/conduitio/conduit/pkg/plugin/processor/mock"
2424
"github.com/matryer/is"
2525
"go.uber.org/mock/gomock"
2626
)
@@ -30,16 +30,16 @@ func TestRegistry_List(t *testing.T) {
3030
logger := log.Nop()
3131

3232
ctrl := gomock.NewController(t)
33-
procPlugin := mock.NewProcessorPlugin(ctrl)
33+
procPlugin := mock.NewProcessor(ctrl)
3434

35-
procSpec := processor.Specification{
35+
procSpec := sdk.Specification{
3636
Name: "test-processor",
3737
Version: "v0.1.2",
3838
}
39-
procPlugin.EXPECT().Specification().Return(procSpec)
40-
procConstructor := func(log.CtxLogger) processor.ProcessorPlugin { return procPlugin }
39+
procPlugin.EXPECT().Specification().Return(procSpec, nil)
40+
procConstructor := func(log.CtxLogger) sdk.Processor { return procPlugin }
4141

42-
wantList := map[plugin.FullName]processor.Specification{
42+
wantList := map[plugin.FullName]sdk.Specification{
4343
"builtin:[email protected]": procSpec,
4444
}
4545

0 commit comments

Comments
 (0)