apache / opendal

Apache OpenDAL: access data freely.
https://opendal.apache.org
Apache License 2.0
3.42k stars 477 forks source link

Tracking issues of RFC-3197: Config #3240

Closed Xuanwo closed 3 months ago

Xuanwo commented 1 year ago

Notes

This issue intends to add config for every service.

Take https://github.com/apache/incubator-opendal/pull/3490 as an example, we just need to move deserialize-able fields (like String, bool, usize) into XxxConfig:

#[derive(Default, Deserialize)]
#[serde(default)]
#[non_exhaustive]
pub struct XxxConfig {
   /// Comments
   pub root: Option<String>,
}

Please note: all fields here should be pub.

And use XxxConfig to replace existing fields:

#[derive(Default)]
pub struct XxxBuilder {
+    config: XxxConfig,
-    root: Option<String>,
-    abc: String,
-    ...

    customed_credential_load: Option<Box<dyn AwsCredentialLoad>>,
    http_client: Option<HttpClient>,
}

Leave fields like http_client as is.

Change the Builder::from_map implemantion to:

- let mut builder = XxxBuilder::default();
- 
- map.get("root").map(|v| builder.root(v));
+ let config = XxxConfig::deserialize(ConfigDeserializer::new(map))
            .expect("config deserialize must succeed");

Tasks

hoslo commented 1 year ago

I want to try sqlite

Xuanwo commented 1 year ago

I want to try sqlite

Thanks a lot, have fun!

acehinnnqru commented 1 year ago

I want to try azblob

sd44 commented 1 year ago

I want to try Postgresql

Xuanwo commented 1 year ago

I want to try azblob

Have fun!

I want to try Postgresql

Have fun too!

sd44 commented 1 year ago

I want to try Mysql and Libsql

Xuanwo commented 1 year ago

I want to try Mysql and Libsql

Hi, let's take issues one by one instead trying to take places. How about taking mysql first?

hoslo commented 1 year ago

I want to try sqlite

request assign redis

caicancai commented 1 year ago

i want to try tikv

Xuanwo commented 1 year ago

i want to try tikv

Thanks! Have fun.

Xuanwo commented 1 year ago

Thank you for all your passion! There's no rush on this tracking issue, and I'd like it to be the first task for contributors. Once you've completed a task, please move onto others so we can involve more people in this event.

xiaoyang-sde commented 1 year ago

First-time contributor here! I'd like to take a look at the CloudflareKv service.

Xuxiaotuan commented 1 year ago

i want to try etcd

Xuanwo commented 1 year ago

i want to try etcd

Thanks a lot, have fun!

cjj2010 commented 1 year ago

i want to try Rocksdb

Xuanwo commented 1 year ago

i want to try Rocksdb

Have fun!

shbhmrzd commented 10 months ago

I want to try Fs

shbhmrzd commented 10 months ago

Hi @Xuanwo , for FS we don't have any config and the two attributes in builder are PathBuf. We would not need this change for Fs, right ? If thats the case, I can go ahead and pick up hdfs. Please let me know your thoughts.

Xuanwo commented 10 months ago

If thats the case, I can go ahead and pick up hdfs. Please let me know your thoughts.

Thanks, please go ahead.

ankit-pn commented 10 months ago

hey i want to try memcached and rocksdb. it seems @cjj2010 is already working on rocksdb, so maybe i can work with him on it. it would be great if you assign memcached to me. thanks.

Xuanwo commented 10 months ago

hey i want to try memcached and rocksdb. it seems @cjj2010 is already working on rocksdb, so maybe i can work with him on it. it would be great if you assign memcached to me. thanks.

Thanks, assigned.

ankit-pn commented 10 months ago

I would also like to work on gdrive and ipfs.

Xuanwo commented 10 months ago

Thank you for all your passion! There's no rush on this tracking issue, and I'd like it to be the first task for contributors. Once you've completed a task, please move onto others so we can involve more people in this event.

Hi, Thank you for all your passion! There's no rush on this tracking issue, and I'd like it to be the first task for contributors. How about moving onto others so we can involve more people in this event?

ankit-pn commented 10 months ago

Sure, I will look into other issues and try to contribute there. I would be better off leaving this issue for newcomers. Thanks.

k-aishwarya commented 10 months ago

Hi, I would like to work on Atomicserver.

Xuanwo commented 10 months ago

Hi, I would like to work on Atomicserver.

Thanks a lot! Welcome.

zjregee commented 10 months ago

i want to try mongodb.

howiieyu commented 10 months ago

I would like to work on dropbox.

Xuanwo commented 10 months ago

I would like to work on dropbox.

Thanks, assigned!

yufan022 commented 8 months ago

let my try the sled

tisonkun commented 3 months ago

Resolved by https://github.com/apache/opendal/pull/4915.