From 9f99c2023285d8da612b044cd4fedc32d128c256 Mon Sep 17 00:00:00 2001 From: Dave Koston Date: Thu, 30 Jan 2020 17:21:24 -0600 Subject: [PATCH] s3: Add StackPath Object Storage Support --- .gitignore | 3 ++- README.md | 1 + backend/s3/s3.go | 21 +++++++++++++++++++-- docs/content/about.md | 1 + docs/content/s3.md | 19 +++++++++++++++++++ 5 files changed, 42 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 25aa1e839..d6da3db99 100644 --- a/.gitignore +++ b/.gitignore @@ -7,4 +7,5 @@ rclone.iml .idea .history *.test -*.log \ No newline at end of file +*.log +*.iml diff --git a/README.md b/README.md index 52b1d753e..5922706e2 100644 --- a/README.md +++ b/README.md @@ -63,6 +63,7 @@ Rclone *("rsync for cloud storage")* is a command line program to sync files and * Rackspace Cloud Files [:page_facing_up:](https://rclone.org/swift/) * Scaleway [:page_facing_up:](https://rclone.org/s3/#scaleway) * SFTP [:page_facing_up:](https://rclone.org/sftp/) + * StackPath [:page_facing_up:](https://rclone.org/s3/#stackpath) * SugarSync [:page_facing_up:](https://rclone.org/sugarsync/) * Wasabi [:page_facing_up:](https://rclone.org/s3/#wasabi) * WebDAV [:page_facing_up:](https://rclone.org/webdav/) diff --git a/backend/s3/s3.go b/backend/s3/s3.go index 6441b0aa1..28b1f3eef 100644 --- a/backend/s3/s3.go +++ b/backend/s3/s3.go @@ -94,6 +94,9 @@ func init() { }, { Value: "Netease", Help: "Netease Object Storage (NOS)", + }, { + Value: "StackPath", + Help: "StackPath Object Storage", }, { Value: "Wasabi", Help: "Wasabi Object Storage", @@ -356,10 +359,24 @@ func init() { Value: "oss-me-east-1.aliyuncs.com", Help: "Middle East 1 (Dubai)", }}, + }, { + Name: "endpoint", + Help: "Endpoint for StackPath Object Storage.", + Provider: "StackPath", + Examples: []fs.OptionExample{{ + Value: "s3.us-east-2.stackpathstorage.com", + Help: "US East Endpoint", + }, { + Value: "s3.us-west-1.stackpathstorage.com", + Help: "US West Endpoint", + }, { + Value: "s3.eu-central-1.stackpathstorage.com", + Help: "EU Endpoint", + }}, }, { Name: "endpoint", Help: "Endpoint for S3 API.\nRequired when using an S3 clone.", - Provider: "!AWS,IBMCOS,Alibaba", + Provider: "!AWS,IBMCOS,Alibaba,StackPath", Examples: []fs.OptionExample{{ Value: "objects-us-east-1.dream.io", Help: "Dream Objects endpoint", @@ -546,7 +563,7 @@ func init() { }, { Name: "location_constraint", Help: "Location constraint - must be set to match the Region.\nLeave blank if not sure. Used when creating buckets only.", - Provider: "!AWS,IBMCOS,Alibaba", + Provider: "!AWS,IBMCOS,Alibaba,StackPath", }, { Name: "acl", Help: `Canned ACL used when creating buckets and storing or copying objects. diff --git a/docs/content/about.md b/docs/content/about.md index c2ad4fd28..c306a052b 100644 --- a/docs/content/about.md +++ b/docs/content/about.md @@ -52,6 +52,7 @@ Rclone is a command line program to sync files and directories to and from: * {{< 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="SFTP" home="https://en.wikipedia.org/wiki/SSH_File_Transfer_Protocol" config="/sftp/" >}} +* {{< provider name="StackPath" home="https://www.stackpath.com/products/object-storage/" config="/s3/#stackpath" >}} * {{< provider name="SugarSync" home="https://sugarsync.com/" config="/sugarsync/" >}} * {{< provider name="Wasabi" home="https://wasabi.com/" config="/s3/#wasabi" >}} * {{< provider name="WebDAV" home="https://en.wikipedia.org/wiki/WebDAV" config="/webdav/" >}} diff --git a/docs/content/s3.md b/docs/content/s3.md index 539cf5ce7..ff011841e 100644 --- a/docs/content/s3.md +++ b/docs/content/s3.md @@ -17,6 +17,7 @@ The S3 backend can be used with a number of different providers: * {{< 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="Scaleway" home="https://www.scaleway.com/en/object-storage/" config="/s3/#scaleway" >}} +* {{< provider name="StackPath" home="https://www.stackpath.com/products/object-storage/" config="/s3/#stackpath" >}} * {{< provider name="Wasabi" home="https://wasabi.com/" config="/s3/#wasabi" >}} Paths are specified as `remote:bucket` (or `remote:` for the `lsd` @@ -470,6 +471,8 @@ Choose your S3 provider. - Minio Object Storage - "Netease" - Netease Object Storage (NOS) + - "StackPath" + - StackPath Object Storage - "Wasabi" - Wasabi Object Storage - "Other" @@ -675,6 +678,22 @@ Specify if using an IBM COS On Premise. #### --s3-endpoint +Endpoint for StackPath Object Storage API. + +- Config: endpoint +- Env Var: RCLONE_S3_ENDPOINT +- Type: string +- Default: "" +- Examples: + - "s3.us-east-2.stackpathstorage.com" + - US East Endpoint + - "s3.us-west-1.stackpathstorage.com" + - US West Endpoint + - "s3.eu-central-1.stackpathstorage.com" + - EU Endpoint + +#### --s3-endpoint + Endpoint for OSS API. - Config: endpoint