forked from TrueCloudLab/rclone
s3: add support for Seagate Lyve Cloud storage
This commit is contained in:
parent
fd453f2c7b
commit
6a6d254a9f
3 changed files with 148 additions and 0 deletions
|
@ -84,6 +84,9 @@ func init() {
|
||||||
}, {
|
}, {
|
||||||
Value: "IBMCOS",
|
Value: "IBMCOS",
|
||||||
Help: "IBM COS S3",
|
Help: "IBM COS S3",
|
||||||
|
}, {
|
||||||
|
Value: "Lyve",
|
||||||
|
Help: "Seagate Lyve Cloud",
|
||||||
}, {
|
}, {
|
||||||
Value: "Minio",
|
Value: "Minio",
|
||||||
Help: "Minio Object Storage",
|
Help: "Minio Object Storage",
|
||||||
|
@ -764,6 +767,10 @@ func init() {
|
||||||
Value: "localhost:8333",
|
Value: "localhost:8333",
|
||||||
Help: "SeaweedFS S3 localhost",
|
Help: "SeaweedFS S3 localhost",
|
||||||
Provider: "SeaweedFS",
|
Provider: "SeaweedFS",
|
||||||
|
}, {
|
||||||
|
Value: "s3.us-east-1.lyvecloud.seagate.com",
|
||||||
|
Help: "Seagate Lyve Cloud US East 1",
|
||||||
|
Provider: "Lyve",
|
||||||
}, {
|
}, {
|
||||||
Value: "s3.wasabisys.com",
|
Value: "s3.wasabisys.com",
|
||||||
Help: "Wasabi US East endpoint",
|
Help: "Wasabi US East endpoint",
|
||||||
|
@ -1944,6 +1951,8 @@ func setQuirks(opt *Options) {
|
||||||
virtualHostStyle = false
|
virtualHostStyle = false
|
||||||
urlEncodeListings = false
|
urlEncodeListings = false
|
||||||
useMultipartEtag = false // untested
|
useMultipartEtag = false // untested
|
||||||
|
case "Lyve":
|
||||||
|
useMultipartEtag = false // Lyve seems to calculate multipart Etags differently from AWS
|
||||||
case "Minio":
|
case "Minio":
|
||||||
virtualHostStyle = false
|
virtualHostStyle = false
|
||||||
case "Netease":
|
case "Netease":
|
||||||
|
|
|
@ -149,6 +149,7 @@ WebDAV or S3, that work out of the box.)
|
||||||
{{< provider name="rsync.net" home="https://rsync.net/products/rclone.html" config="/sftp/#rsync-net" >}}
|
{{< provider name="rsync.net" home="https://rsync.net/products/rclone.html" config="/sftp/#rsync-net" >}}
|
||||||
{{< provider name="Scaleway" home="https://www.scaleway.com/object-storage/" config="/s3/#scaleway" >}}
|
{{< provider name="Scaleway" home="https://www.scaleway.com/object-storage/" config="/s3/#scaleway" >}}
|
||||||
{{< provider name="Seafile" home="https://www.seafile.com/" config="/seafile/" >}}
|
{{< provider name="Seafile" home="https://www.seafile.com/" config="/seafile/" >}}
|
||||||
|
{{< provider name="Seagate Lyve Cloud" home="https://www.seagate.com/gb/en/services/cloud/storage/" config="/s3/#lyve" >}}
|
||||||
{{< provider name="SeaweedFS" home="https://github.com/chrislusf/seaweedfs/" config="/s3/#seaweedfs" >}}
|
{{< provider name="SeaweedFS" home="https://github.com/chrislusf/seaweedfs/" config="/s3/#seaweedfs" >}}
|
||||||
{{< provider name="SFTP" home="https://en.wikipedia.org/wiki/SSH_File_Transfer_Protocol" config="/sftp/" >}}
|
{{< provider name="SFTP" home="https://en.wikipedia.org/wiki/SSH_File_Transfer_Protocol" config="/sftp/" >}}
|
||||||
{{< provider name="Sia" home="https://sia.tech/" config="/sia/" >}}
|
{{< provider name="Sia" home="https://sia.tech/" config="/sia/" >}}
|
||||||
|
|
|
@ -17,6 +17,7 @@ The S3 backend can be used with a number of different providers:
|
||||||
{{< provider name="Minio" home="https://www.minio.io/" config="/s3/#minio" >}}
|
{{< provider name="Minio" home="https://www.minio.io/" config="/s3/#minio" >}}
|
||||||
{{< provider name="RackCorp Object Storage" home="https://www.rackcorp.com/" config="/s3/#RackCorp" >}}
|
{{< provider name="RackCorp Object Storage" home="https://www.rackcorp.com/" config="/s3/#RackCorp" >}}
|
||||||
{{< provider name="Scaleway" home="https://www.scaleway.com/en/object-storage/" config="/s3/#scaleway" >}}
|
{{< provider name="Scaleway" home="https://www.scaleway.com/en/object-storage/" config="/s3/#scaleway" >}}
|
||||||
|
{{< provider name="Seagate Lyve Cloud" home="https://www.seagate.com/gb/en/services/cloud/storage/" config="/s3/#lyve" >}}
|
||||||
{{< provider name="SeaweedFS" home="https://github.com/chrislusf/seaweedfs/" config="/s3/#seaweedfs" >}}
|
{{< provider name="SeaweedFS" home="https://github.com/chrislusf/seaweedfs/" config="/s3/#seaweedfs" >}}
|
||||||
{{< provider name="StackPath" home="https://www.stackpath.com/products/object-storage/" config="/s3/#stackpath" >}}
|
{{< provider name="StackPath" home="https://www.stackpath.com/products/object-storage/" config="/s3/#stackpath" >}}
|
||||||
{{< provider name="Storj" home="https://storj.io/" config="/s3/#storj" >}}
|
{{< provider name="Storj" home="https://storj.io/" config="/s3/#storj" >}}
|
||||||
|
@ -2409,6 +2410,143 @@ server_side_encryption =
|
||||||
storage_class =
|
storage_class =
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Seagate Lyve Cloud {#lyve}
|
||||||
|
|
||||||
|
[Seagate Lyve Cloud](https://www.seagate.com/gb/en/services/cloud/storage/) is an S3
|
||||||
|
compatible object storage platform from [Seagate](https://seagate.com/) intended for enterprise use.
|
||||||
|
|
||||||
|
Here is a config run through for a remote called `remote` - you may
|
||||||
|
choose a different name of course. Note that to create an access key
|
||||||
|
and secret key you will need to create a service account first.
|
||||||
|
|
||||||
|
```
|
||||||
|
$ rclone config
|
||||||
|
No remotes found, make a new one?
|
||||||
|
n) New remote
|
||||||
|
s) Set configuration password
|
||||||
|
q) Quit config
|
||||||
|
n/s/q> n
|
||||||
|
name> remote
|
||||||
|
```
|
||||||
|
|
||||||
|
Choose `s3` backend
|
||||||
|
|
||||||
|
```
|
||||||
|
Type of storage to configure.
|
||||||
|
Choose a number from below, or type in your own value.
|
||||||
|
[snip]
|
||||||
|
XX / Amazon S3 Compliant Storage Providers including AWS, Alibaba, Ceph, Digital Ocean, Dreamhost, IBM COS, Minio, RackCorp, SeaweedFS, and Tencent COS
|
||||||
|
\ (s3)
|
||||||
|
[snip]
|
||||||
|
Storage> s3
|
||||||
|
```
|
||||||
|
|
||||||
|
Choose `Lyve` as S3 provider
|
||||||
|
|
||||||
|
```
|
||||||
|
Choose your S3 provider.
|
||||||
|
Choose a number from below, or type in your own value.
|
||||||
|
Press Enter to leave empty.
|
||||||
|
[snip]
|
||||||
|
XX / Seagate Lyve Cloud
|
||||||
|
\ (Lyve)
|
||||||
|
[snip]
|
||||||
|
provider> Lyve
|
||||||
|
```
|
||||||
|
|
||||||
|
Take the default (just press enter) to enter access key and secret in the config file.
|
||||||
|
|
||||||
|
```
|
||||||
|
Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars).
|
||||||
|
Only applies if access_key_id and secret_access_key is blank.
|
||||||
|
Choose a number from below, or type in your own boolean value (true or false).
|
||||||
|
Press Enter for the default (false).
|
||||||
|
1 / Enter AWS credentials in the next step.
|
||||||
|
\ (false)
|
||||||
|
2 / Get AWS credentials from the environment (env vars or IAM).
|
||||||
|
\ (true)
|
||||||
|
env_auth>
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
AWS Access Key ID.
|
||||||
|
Leave blank for anonymous access or runtime credentials.
|
||||||
|
Enter a value. Press Enter to leave empty.
|
||||||
|
access_key_id> XXX
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
AWS Secret Access Key (password).
|
||||||
|
Leave blank for anonymous access or runtime credentials.
|
||||||
|
Enter a value. Press Enter to leave empty.
|
||||||
|
secret_access_key> YYY
|
||||||
|
```
|
||||||
|
|
||||||
|
Leave region blank
|
||||||
|
|
||||||
|
```
|
||||||
|
Region to connect to.
|
||||||
|
Leave blank if you are using an S3 clone and you don't have a region.
|
||||||
|
Choose a number from below, or type in your own value.
|
||||||
|
Press Enter to leave empty.
|
||||||
|
/ Use this if unsure.
|
||||||
|
1 | Will use v4 signatures and an empty region.
|
||||||
|
\ ()
|
||||||
|
/ Use this only if v4 signatures don't work.
|
||||||
|
2 | E.g. pre Jewel/v10 CEPH.
|
||||||
|
\ (other-v2-signature)
|
||||||
|
region>
|
||||||
|
```
|
||||||
|
|
||||||
|
Choose an endpoint from the list
|
||||||
|
|
||||||
|
```
|
||||||
|
Endpoint for S3 API.
|
||||||
|
Required when using an S3 clone.
|
||||||
|
Choose a number from below, or type in your own value.
|
||||||
|
Press Enter to leave empty.
|
||||||
|
1 / Seagate Lyve Cloud US East 1
|
||||||
|
\ (s3.us-east-1.lyvecloud.seagate.com)
|
||||||
|
endpoint> 1
|
||||||
|
```
|
||||||
|
|
||||||
|
Leave location constraing blank
|
||||||
|
|
||||||
|
```
|
||||||
|
Location constraint - must be set to match the Region.
|
||||||
|
Leave blank if not sure. Used when creating buckets only.
|
||||||
|
Enter a value. Press Enter to leave empty.
|
||||||
|
location_constraint>
|
||||||
|
```
|
||||||
|
|
||||||
|
Choose default ACL (`private`).
|
||||||
|
|
||||||
|
```
|
||||||
|
Canned ACL used when creating buckets and storing or copying objects.
|
||||||
|
This ACL is used for creating objects and if bucket_acl isn't set, for creating buckets too.
|
||||||
|
For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
|
||||||
|
Note that this ACL is applied when server-side copying objects as S3
|
||||||
|
doesn't copy the ACL from the source but rather writes a fresh one.
|
||||||
|
Choose a number from below, or type in your own value.
|
||||||
|
Press Enter to leave empty.
|
||||||
|
/ Owner gets FULL_CONTROL.
|
||||||
|
1 | No one else has access rights (default).
|
||||||
|
\ (private)
|
||||||
|
[snip]
|
||||||
|
acl>
|
||||||
|
```
|
||||||
|
|
||||||
|
And the config file should end up looking like this:
|
||||||
|
|
||||||
|
```
|
||||||
|
[remote]
|
||||||
|
type = s3
|
||||||
|
provider = Lyve
|
||||||
|
access_key_id = XXX
|
||||||
|
secret_access_key = YYY
|
||||||
|
endpoint = s3.us-east-1.lyvecloud.seagate.com
|
||||||
|
```
|
||||||
|
|
||||||
### SeaweedFS
|
### SeaweedFS
|
||||||
|
|
||||||
[SeaweedFS](https://github.com/chrislusf/seaweedfs/) is a distributed storage system for
|
[SeaweedFS](https://github.com/chrislusf/seaweedfs/) is a distributed storage system for
|
||||||
|
|
Loading…
Add table
Reference in a new issue