s3: Add RackCorp object storage to providers
This commit is contained in:
parent
a7a8372976
commit
b16f603c51
3 changed files with 222 additions and 4 deletions
|
@ -59,6 +59,7 @@ Rclone *("rsync for cloud storage")* is a command-line program to sync files and
|
|||
* put.io [:page_facing_up:](https://rclone.org/putio/)
|
||||
* QingStor [:page_facing_up:](https://rclone.org/qingstor/)
|
||||
* Rackspace Cloud Files [:page_facing_up:](https://rclone.org/swift/)
|
||||
* RackCorp Object Storage [:page_facing_up:](https://rclone.org/s3/#RackCorp)
|
||||
* Scaleway [:page_facing_up:](https://rclone.org/s3/#scaleway)
|
||||
* Seafile [:page_facing_up:](https://rclone.org/seafile/)
|
||||
* SeaweedFS [:page_facing_up:](https://rclone.org/s3/#seaweedfs)
|
||||
|
|
200
backend/s3/s3.go
200
backend/s3/s3.go
|
@ -58,7 +58,7 @@ import (
|
|||
func init() {
|
||||
fs.Register(&fs.RegInfo{
|
||||
Name: "s3",
|
||||
Description: "Amazon S3 Compliant Storage Providers including AWS, Alibaba, Ceph, Digital Ocean, Dreamhost, IBM COS, Minio, SeaweedFS, and Tencent COS",
|
||||
Description: "Amazon S3 Compliant Storage Providers including AWS, Alibaba, Ceph, Digital Ocean, Dreamhost, IBM COS, Minio, RackCorp, SeaweedFS, and Tencent COS",
|
||||
NewFs: NewFs,
|
||||
CommandHelp: commandHelp,
|
||||
Options: []fs.Option{{
|
||||
|
@ -90,6 +90,9 @@ func init() {
|
|||
}, {
|
||||
Value: "Netease",
|
||||
Help: "Netease Object Storage (NOS)",
|
||||
}, {
|
||||
Value: "RackCorp",
|
||||
Help: "RackCorp Object Storage",
|
||||
}, {
|
||||
Value: "Scaleway",
|
||||
Help: "Scaleway Object Storage",
|
||||
|
@ -209,6 +212,68 @@ func init() {
|
|||
Value: "us-gov-west-1",
|
||||
Help: "AWS GovCloud (US) Region.\nNeeds location constraint us-gov-west-1.",
|
||||
}},
|
||||
}, {
|
||||
Name: "region",
|
||||
Help: "region - the location where your bucket will be created and your data stored.\n",
|
||||
Provider: "RackCorp",
|
||||
Examples: []fs.OptionExample{{
|
||||
Value: "global",
|
||||
Help: "Global CDN (All locations) Region",
|
||||
}, {
|
||||
Value: "au",
|
||||
Help: "Australia (All states)",
|
||||
}, {
|
||||
Value: "au-nsw",
|
||||
Help: "NSW (Australia) Region",
|
||||
}, {
|
||||
Value: "au-qld",
|
||||
Help: "QLD (Australia) Region",
|
||||
}, {
|
||||
Value: "au-vic",
|
||||
Help: "VIC (Australia) Region",
|
||||
}, {
|
||||
Value: "au-wa",
|
||||
Help: "Perth (Australia) Region",
|
||||
}, {
|
||||
Value: "ph",
|
||||
Help: "Manila (Philippines) Region",
|
||||
}, {
|
||||
Value: "th",
|
||||
Help: "Bangkok (Thailand) Region",
|
||||
}, {
|
||||
Value: "hk",
|
||||
Help: "HK (Hong Kong) Region",
|
||||
}, {
|
||||
Value: "mn",
|
||||
Help: "Ulaanbaatar (Mongolia) Region",
|
||||
}, {
|
||||
Value: "kg",
|
||||
Help: "Bishkek (Kyrgyzstan) Region",
|
||||
}, {
|
||||
Value: "id",
|
||||
Help: "Jakarta (Indonesia) Region",
|
||||
}, {
|
||||
Value: "jp",
|
||||
Help: "Tokyo (Japan) Region",
|
||||
}, {
|
||||
Value: "sg",
|
||||
Help: "SG (Singapore) Region",
|
||||
}, {
|
||||
Value: "de",
|
||||
Help: "Frankfurt (Germany) Region",
|
||||
}, {
|
||||
Value: "us",
|
||||
Help: "USA (AnyCast) Region",
|
||||
}, {
|
||||
Value: "us-east-1",
|
||||
Help: "New York (USA) Region",
|
||||
}, {
|
||||
Value: "us-west-1",
|
||||
Help: "Freemont (USA) Region",
|
||||
}, {
|
||||
Value: "nz",
|
||||
Help: "Auckland (New Zealand) Region",
|
||||
}},
|
||||
}, {
|
||||
Name: "region",
|
||||
Help: "Region to connect to.",
|
||||
|
@ -223,7 +288,7 @@ func init() {
|
|||
}, {
|
||||
Name: "region",
|
||||
Help: "Region to connect to.\n\nLeave blank if you are using an S3 clone and you don't have a region.",
|
||||
Provider: "!AWS,Alibaba,Scaleway,TencentCOS",
|
||||
Provider: "!AWS,Alibaba,RackCorp,Scaleway,TencentCOS",
|
||||
Examples: []fs.OptionExample{{
|
||||
Value: "",
|
||||
Help: "Use this if unsure.\nWill use v4 signatures and an empty region.",
|
||||
|
@ -595,10 +660,73 @@ func init() {
|
|||
Value: "cos.accelerate.myqcloud.com",
|
||||
Help: "Use Tencent COS Accelerate Endpoint",
|
||||
}},
|
||||
}, {
|
||||
// RackCorp endpoints: https://www.rackcorp.com/storage/s3storage
|
||||
Name: "endpoint",
|
||||
Help: "Endpoint for RackCorp Object Storage.",
|
||||
Provider: "RackCorp",
|
||||
Examples: []fs.OptionExample{{
|
||||
Value: "s3.rackcorp.com",
|
||||
Help: "Global (AnyCast) Endpoint",
|
||||
}, {
|
||||
Value: "au.s3.rackcorp.com",
|
||||
Help: "Australia (Anycast) Endpoint",
|
||||
}, {
|
||||
Value: "au-nsw.s3.rackcorp.com",
|
||||
Help: "Sydney (Australia) Endpoint",
|
||||
}, {
|
||||
Value: "au-qld.s3.rackcorp.com",
|
||||
Help: "Brisbane (Australia) Endpoint",
|
||||
}, {
|
||||
Value: "au-vic.s3.rackcorp.com",
|
||||
Help: "Melbourne (Australia) Endpoint",
|
||||
}, {
|
||||
Value: "au-wa.s3.rackcorp.com",
|
||||
Help: "Perth (Australia) Endpoint",
|
||||
}, {
|
||||
Value: "ph.s3.rackcorp.com",
|
||||
Help: "Manila (Philippines) Endpoint",
|
||||
}, {
|
||||
Value: "th.s3.rackcorp.com",
|
||||
Help: "Bangkok (Thailand) Endpoint",
|
||||
}, {
|
||||
Value: "hk.s3.rackcorp.com",
|
||||
Help: "HK (Hong Kong) Endpoint",
|
||||
}, {
|
||||
Value: "mn.s3.rackcorp.com",
|
||||
Help: "Ulaanbaatar (Mongolia) Endpoint",
|
||||
}, {
|
||||
Value: "kg.s3.rackcorp.com",
|
||||
Help: "Bishkek (Kyrgyzstan) Endpoint",
|
||||
}, {
|
||||
Value: "id.s3.rackcorp.com",
|
||||
Help: "Jakarta (Indonesia) Endpoint",
|
||||
}, {
|
||||
Value: "jp.s3.rackcorp.com",
|
||||
Help: "Tokyo (Japan) Endpoint",
|
||||
}, {
|
||||
Value: "sg.s3.rackcorp.com",
|
||||
Help: "SG (Singapore) Endpoint",
|
||||
}, {
|
||||
Value: "de.s3.rackcorp.com",
|
||||
Help: "Frankfurt (Germany) Endpoint",
|
||||
}, {
|
||||
Value: "us.s3.rackcorp.com",
|
||||
Help: "USA (AnyCast) Endpoint",
|
||||
}, {
|
||||
Value: "us-east-1.s3.rackcorp.com",
|
||||
Help: "New York (USA) Endpoint",
|
||||
}, {
|
||||
Value: "us-west-1.s3.rackcorp.com",
|
||||
Help: "Freemont (USA) Endpoint",
|
||||
}, {
|
||||
Value: "nz.s3.rackcorp.com",
|
||||
Help: "Auckland (New Zealand) Endpoint",
|
||||
}},
|
||||
}, {
|
||||
Name: "endpoint",
|
||||
Help: "Endpoint for S3 API.\n\nRequired when using an S3 clone.",
|
||||
Provider: "!AWS,IBMCOS,TencentCOS,Alibaba,Scaleway,StackPath",
|
||||
Provider: "!AWS,IBMCOS,TencentCOS,Alibaba,Scaleway,StackPath,RackCorp",
|
||||
Examples: []fs.OptionExample{{
|
||||
Value: "objects-us-east-1.dream.io",
|
||||
Help: "Dream Objects endpoint",
|
||||
|
@ -817,10 +945,72 @@ func init() {
|
|||
Value: "tor01-flex",
|
||||
Help: "Toronto Flex",
|
||||
}},
|
||||
}, {
|
||||
Name: "location_constraint",
|
||||
Help: "Location constraint - the location where your bucket will be located and your data stored.\n",
|
||||
Provider: "RackCorp",
|
||||
Examples: []fs.OptionExample{{
|
||||
Value: "global",
|
||||
Help: "Global CDN Region",
|
||||
}, {
|
||||
Value: "au",
|
||||
Help: "Australia (All locations)",
|
||||
}, {
|
||||
Value: "au-nsw",
|
||||
Help: "NSW (Australia) Region",
|
||||
}, {
|
||||
Value: "au-qld",
|
||||
Help: "QLD (Australia) Region",
|
||||
}, {
|
||||
Value: "au-vic",
|
||||
Help: "VIC (Australia) Region",
|
||||
}, {
|
||||
Value: "au-wa",
|
||||
Help: "Perth (Australia) Region",
|
||||
}, {
|
||||
Value: "ph",
|
||||
Help: "Manila (Philippines) Region",
|
||||
}, {
|
||||
Value: "th",
|
||||
Help: "Bangkok (Thailand) Region",
|
||||
}, {
|
||||
Value: "hk",
|
||||
Help: "HK (Hong Kong) Region",
|
||||
}, {
|
||||
Value: "mn",
|
||||
Help: "Ulaanbaatar (Mongolia) Region",
|
||||
}, {
|
||||
Value: "kg",
|
||||
Help: "Bishkek (Kyrgyzstan) Region",
|
||||
}, {
|
||||
Value: "id",
|
||||
Help: "Jakarta (Indonesia) Region",
|
||||
}, {
|
||||
Value: "jp",
|
||||
Help: "Tokyo (Japan) Region",
|
||||
}, {
|
||||
Value: "sg",
|
||||
Help: "SG (Singapore) Region",
|
||||
}, {
|
||||
Value: "de",
|
||||
Help: "Frankfurt (Germany) Region",
|
||||
}, {
|
||||
Value: "us",
|
||||
Help: "USA (AnyCast) Region",
|
||||
}, {
|
||||
Value: "us-east-1",
|
||||
Help: "New York (USA) Region",
|
||||
}, {
|
||||
Value: "us-west-1",
|
||||
Help: "Freemont (USA) Region",
|
||||
}, {
|
||||
Value: "nz",
|
||||
Help: "Auckland (New Zealand) Region",
|
||||
}},
|
||||
}, {
|
||||
Name: "location_constraint",
|
||||
Help: "Location constraint - must be set to match the Region.\n\nLeave blank if not sure. Used when creating buckets only.",
|
||||
Provider: "!AWS,IBMCOS,Alibaba,Scaleway,StackPath,TencentCOS",
|
||||
Provider: "!AWS,IBMCOS,Alibaba,RackCorp,Scaleway,StackPath,TencentCOS",
|
||||
}, {
|
||||
Name: "acl",
|
||||
Help: `Canned ACL used when creating buckets and storing or copying objects.
|
||||
|
@ -1723,6 +1913,8 @@ func setQuirks(opt *Options) {
|
|||
case "Netease":
|
||||
listObjectsV2 = false // untested
|
||||
urlEncodeListings = false
|
||||
case "RackCorp":
|
||||
// No quirks
|
||||
case "Scaleway":
|
||||
// Scaleway can only have 1000 parts in an upload
|
||||
if opt.MaxUploadParts > 1000 {
|
||||
|
|
|
@ -15,6 +15,7 @@ The S3 backend can be used with a number of different providers:
|
|||
{{< provider name="Dreamhost" home="https://www.dreamhost.com/cloud/storage/" config="/s3/#dreamhost" >}}
|
||||
{{< provider name="IBM COS S3" home="http://www.ibm.com/cloud/object-storage" config="/s3/#ibm-cos-s3" >}}
|
||||
{{< 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="Scaleway" home="https://www.scaleway.com/en/object-storage/" config="/s3/#scaleway" >}}
|
||||
{{< 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" >}}
|
||||
|
@ -2346,6 +2347,30 @@ So once set up, for example, to copy files into a bucket
|
|||
rclone copy /path/to/files minio:bucket
|
||||
```
|
||||
|
||||
### RackCorp {#RackCorp}
|
||||
|
||||
[RackCorp Object Storage](https://www.rackcorp.com/storage/s3storage) is an S3 compatible object storage platform from your friendly cloud provider RackCorp.
|
||||
The service is fast, reliable, well priced and located in many strategic locations unserviced by others, to ensure you can maintain data sovereignty.
|
||||
|
||||
Before you can use RackCorp Object Storage, you'll need to "[sign up](https://www.rackcorp.com/signup)" for an account on our "[portal](https://portal.rackcorp.com)".
|
||||
Next you can create an `access key`, a `secret key` and `buckets`, in your location of choice with ease.
|
||||
These details are required for the next steps of configuration, when `rclone config` asks for your `access_key_id` and `secret_access_key`.
|
||||
|
||||
Your config should end up looking a bit like this:
|
||||
|
||||
```
|
||||
[RCS3-demo-config]
|
||||
type = s3
|
||||
provider = RackCorp
|
||||
env_auth = true
|
||||
access_key_id = YOURACCESSKEY
|
||||
secret_access_key = YOURSECRETACCESSKEY
|
||||
region = au-nsw
|
||||
endpoint = s3.rackcorp.com
|
||||
location_constraint = au-nsw
|
||||
```
|
||||
|
||||
|
||||
### Scaleway
|
||||
|
||||
[Scaleway](https://www.scaleway.com/object-storage/) The Object Storage platform allows you to store anything from backups, logs and web assets to documents and photos.
|
||||
|
|
Loading…
Reference in a new issue