Skip to content

Commit 0b2d62f

Browse files
wenxuwanseefloodXunzhuo
authored
feat: implement oss interface (#556)
Co-authored-by: seeflood <[email protected]> Co-authored-by: 文徐 <[email protected]> Co-authored-by: Xunzhuo <[email protected]>
1 parent 5ca7cf6 commit 0b2d62f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+19787
-332
lines changed

cmd/layotto/main.go

+22-11
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,16 @@ import (
2222
"strconv"
2323
"time"
2424

25+
"mosn.io/layotto/components/oss"
26+
27+
aws_oss "mosn.io/layotto/components/oss/aws"
28+
29+
aliyun_oss "mosn.io/layotto/components/oss/aliyun"
30+
2531
"mosn.io/mosn/pkg/istio"
2632

33+
aliyun_file "mosn.io/layotto/components/file/aliyun"
34+
2735
"github.com/dapr/components-contrib/secretstores"
2836
"github.com/dapr/components-contrib/secretstores/aws/parameterstore"
2937
"github.com/dapr/components-contrib/secretstores/aws/secretmanager"
@@ -34,14 +42,15 @@ import (
3442
secretstore_env "github.com/dapr/components-contrib/secretstores/local/env"
3543
secretstore_file "github.com/dapr/components-contrib/secretstores/local/file"
3644

45+
"mosn.io/layotto/components/file/aws"
46+
"mosn.io/layotto/components/file/minio"
47+
"mosn.io/layotto/components/file/qiniu"
48+
"mosn.io/layotto/components/file/tencentcloud"
49+
3750
"mosn.io/layotto/pkg/grpc/default_api"
3851
secretstores_loader "mosn.io/layotto/pkg/runtime/secretstores"
3952

4053
"mosn.io/layotto/components/file/local"
41-
"mosn.io/layotto/components/file/s3/alicloud"
42-
"mosn.io/layotto/components/file/s3/aws"
43-
"mosn.io/layotto/components/file/s3/minio"
44-
4554
mock_state "mosn.io/layotto/pkg/mock/components/state"
4655

4756
dbindings "github.com/dapr/components-contrib/bindings"
@@ -126,10 +135,6 @@ import (
126135
sequencer_redis "mosn.io/layotto/components/sequencer/redis"
127136
sequencer_zookeeper "mosn.io/layotto/components/sequencer/zookeeper"
128137

129-
// File
130-
"mosn.io/layotto/components/file/s3/qiniu"
131-
"mosn.io/layotto/components/file/s3/tencentcloud"
132-
133138
// Actuator
134139
_ "mosn.io/layotto/pkg/actuator"
135140
"mosn.io/layotto/pkg/actuator/health"
@@ -200,6 +205,8 @@ import (
200205
_ "mosn.io/mosn/pkg/upstream/servicediscovery/dubbod"
201206

202207
_ "mosn.io/layotto/diagnostics/exporter_iml"
208+
209+
s3ext "mosn.io/layotto/pkg/grpc/extension/s3"
203210
)
204211

205212
// loggerForDaprComp is constructed for reusing dapr's components.
@@ -251,6 +258,7 @@ func NewRuntimeGrpcServer(data json.RawMessage, opts ...grpc.ServerOption) (mgrp
251258
// register your gRPC API here
252259
runtime.WithGrpcAPI(
253260
default_api.NewGrpcAPI,
261+
s3ext.NewS3Server,
254262
),
255263
// Hello
256264
runtime.WithHelloFactory(
@@ -269,14 +277,17 @@ func NewRuntimeGrpcServer(data json.RawMessage, opts ...grpc.ServerOption) (mgrp
269277

270278
// File
271279
runtime.WithFileFactory(
272-
file.NewFileFactory("aliOSS", alicloud.NewAliCloudOSS),
280+
file.NewFileFactory("aliOSS", aliyun_file.NewAliyunFile),
273281
file.NewFileFactory("minioOSS", minio.NewMinioOss),
274-
file.NewFileFactory("awsOSS", aws.NewAwsOss),
282+
file.NewFileFactory("awsOSS", aws.NewAwsFile),
275283
file.NewFileFactory("tencentCloudOSS", tencentcloud.NewTencentCloudOSS),
276284
file.NewFileFactory("local", local.NewLocalStore),
277285
file.NewFileFactory("qiniuOSS", qiniu.NewQiniuOSS),
278286
),
279-
287+
runtime.WithOssFactory(
288+
oss.NewFactory("aws.oss", aws_oss.NewAwsOss),
289+
oss.NewFactory("aliyun.oss", aliyun_oss.NewAliyunOss),
290+
),
280291
// PubSub
281292
runtime.WithPubSubFactory(
282293
pubsub.NewFactory("redis", func() dapr_comp_pubsub.PubSub {

cmd/layotto_multiple_api/main.go

+27-14
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,14 @@ import (
2222
"strconv"
2323
"time"
2424

25-
"mosn.io/layotto/cmd/layotto_multiple_api/helloworld/component"
26-
"mosn.io/layotto/components/custom"
27-
"mosn.io/layotto/pkg/grpc/dapr"
25+
"mosn.io/layotto/components/oss"
26+
27+
aws_oss "mosn.io/layotto/components/oss/aws"
28+
29+
aliyun_oss "mosn.io/layotto/components/oss/aliyun"
30+
31+
aliyun_file "mosn.io/layotto/components/file/aliyun"
32+
"mosn.io/layotto/components/file/local"
2833

2934
"mosn.io/mosn/pkg/istio"
3035

@@ -47,15 +52,21 @@ import (
4752
_ "mosn.io/layotto/pkg/wasm/uninstall"
4853
_ "mosn.io/layotto/pkg/wasm/update"
4954

50-
"mosn.io/layotto/components/file/local"
51-
"mosn.io/layotto/components/file/s3/alicloud"
52-
"mosn.io/layotto/components/file/s3/aws"
53-
"mosn.io/layotto/components/file/s3/minio"
55+
_ "mosn.io/mosn/pkg/filter/stream/grpcmetric"
5456

5557
dbindings "github.com/dapr/components-contrib/bindings"
5658
"github.com/dapr/components-contrib/bindings/http"
5759
"mosn.io/pkg/log"
5860

61+
"mosn.io/layotto/cmd/layotto_multiple_api/helloworld/component"
62+
"mosn.io/layotto/components/custom"
63+
aws_file "mosn.io/layotto/components/file/aws"
64+
"mosn.io/layotto/components/file/minio"
65+
"mosn.io/layotto/components/file/qiniu"
66+
"mosn.io/layotto/components/file/tencentcloud"
67+
"mosn.io/layotto/pkg/grpc/dapr"
68+
s3ext "mosn.io/layotto/pkg/grpc/extension/s3"
69+
5970
"mosn.io/layotto/components/configstores/etcdv3"
6071
"mosn.io/layotto/components/file"
6172
"mosn.io/layotto/components/sequencer"
@@ -134,10 +145,6 @@ import (
134145
sequencer_redis "mosn.io/layotto/components/sequencer/redis"
135146
sequencer_zookeeper "mosn.io/layotto/components/sequencer/zookeeper"
136147

137-
// File
138-
"mosn.io/layotto/components/file/s3/qiniu"
139-
"mosn.io/layotto/components/file/s3/tencentcloud"
140-
141148
// Actuator
142149
_ "mosn.io/layotto/pkg/actuator"
143150
"mosn.io/layotto/pkg/actuator/health"
@@ -151,7 +158,6 @@ import (
151158
mgrpc "mosn.io/mosn/pkg/filter/network/grpc"
152159
_ "mosn.io/mosn/pkg/filter/network/proxy"
153160
_ "mosn.io/mosn/pkg/filter/stream/flowcontrol"
154-
_ "mosn.io/mosn/pkg/filter/stream/grpcmetric"
155161
_ "mosn.io/mosn/pkg/metrics/sink"
156162
_ "mosn.io/mosn/pkg/metrics/sink/prometheus"
157163
_ "mosn.io/mosn/pkg/network"
@@ -262,6 +268,7 @@ func NewRuntimeGrpcServer(data json.RawMessage, opts ...grpc.ServerOption) (mgrp
262268
// Currently it only support Dapr's InvokeService,secret API,state API and InvokeBinding API.
263269
// Note: this feature is still in Alpha state and we don't recommend that you use it in your production environment.
264270
dapr.NewDaprAPI_Alpha,
271+
s3ext.NewS3Server,
265272
),
266273
// Hello
267274
runtime.WithHelloFactory(
@@ -280,14 +287,20 @@ func NewRuntimeGrpcServer(data json.RawMessage, opts ...grpc.ServerOption) (mgrp
280287

281288
// File
282289
runtime.WithFileFactory(
283-
file.NewFileFactory("aliOSS", alicloud.NewAliCloudOSS),
290+
file.NewFileFactory("aliOSS", aliyun_file.NewAliyunFile),
284291
file.NewFileFactory("minioOSS", minio.NewMinioOss),
285-
file.NewFileFactory("awsOSS", aws.NewAwsOss),
292+
file.NewFileFactory("awsOSS", aws_file.NewAwsFile),
286293
file.NewFileFactory("tencentCloudOSS", tencentcloud.NewTencentCloudOSS),
287294
file.NewFileFactory("local", local.NewLocalStore),
288295
file.NewFileFactory("qiniuOSS", qiniu.NewQiniuOSS),
289296
),
290297

298+
//OSS
299+
runtime.WithOssFactory(
300+
oss.NewFactory("aws.oss", aws_oss.NewAwsOss),
301+
oss.NewFactory("aliyun.oss", aliyun_oss.NewAliyunOss),
302+
),
303+
291304
// PubSub
292305
runtime.WithPubSubFactory(
293306
pubsub.NewFactory("redis", func() dapr_comp_pubsub.PubSub {

cmd/layotto_without_xds/main.go

+20-9
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,18 @@ import (
2222
"strconv"
2323
"time"
2424

25+
"mosn.io/layotto/components/oss"
26+
27+
aws_oss "mosn.io/layotto/components/oss/aws"
28+
29+
aliyun_oss "mosn.io/layotto/components/oss/aliyun"
30+
31+
"mosn.io/layotto/components/file/aliyun"
32+
aws_file "mosn.io/layotto/components/file/aws"
33+
"mosn.io/layotto/components/file/minio"
34+
"mosn.io/layotto/components/file/qiniu"
35+
"mosn.io/layotto/components/file/tencentcloud"
36+
2537
"github.com/dapr/components-contrib/secretstores"
2638
"github.com/dapr/components-contrib/secretstores/aws/parameterstore"
2739
"github.com/dapr/components-contrib/secretstores/aws/secretmanager"
@@ -36,9 +48,6 @@ import (
3648
secretstores_loader "mosn.io/layotto/pkg/runtime/secretstores"
3749

3850
"mosn.io/layotto/components/file/local"
39-
"mosn.io/layotto/components/file/s3/alicloud"
40-
"mosn.io/layotto/components/file/s3/aws"
41-
"mosn.io/layotto/components/file/s3/minio"
4251

4352
mock_state "mosn.io/layotto/pkg/mock/components/state"
4453

@@ -123,10 +132,6 @@ import (
123132
sequencer_redis "mosn.io/layotto/components/sequencer/redis"
124133
sequencer_zookeeper "mosn.io/layotto/components/sequencer/zookeeper"
125134

126-
// File
127-
"mosn.io/layotto/components/file/s3/qiniu"
128-
"mosn.io/layotto/components/file/s3/tencentcloud"
129-
130135
// Actuator
131136
_ "mosn.io/layotto/pkg/actuator"
132137
"mosn.io/layotto/pkg/actuator/health"
@@ -254,9 +259,9 @@ func NewRuntimeGrpcServer(data json.RawMessage, opts ...grpc.ServerOption) (mgrp
254259

255260
// File
256261
runtime.WithFileFactory(
257-
file.NewFileFactory("aliOSS", alicloud.NewAliCloudOSS),
262+
file.NewFileFactory("aliOSS", aliyun.NewAliyunFile),
258263
file.NewFileFactory("minioOSS", minio.NewMinioOss),
259-
file.NewFileFactory("awsOSS", aws.NewAwsOss),
264+
file.NewFileFactory("awsOSS", aws_file.NewAwsFile),
260265
file.NewFileFactory("tencentCloudOSS", tencentcloud.NewTencentCloudOSS),
261266
file.NewFileFactory("local", local.NewLocalStore),
262267
file.NewFileFactory("qiniuOSS", qiniu.NewQiniuOSS),
@@ -394,6 +399,12 @@ func NewRuntimeGrpcServer(data json.RawMessage, opts ...grpc.ServerOption) (mgrp
394399
}),
395400
),
396401

402+
//OSS
403+
runtime.WithOssFactory(
404+
oss.NewFactory("aws.oss", aws_oss.NewAwsOss),
405+
oss.NewFactory("aliyun.oss", aliyun_oss.NewAliyunOss),
406+
),
407+
397408
// Sequencer
398409
runtime.WithSequencerFactory(
399410
runtime_sequencer.NewFactory("etcd", func() sequencer.Store {

0 commit comments

Comments
 (0)