backend/s3: require custom endpoint for Lyve Cloud v2 support

Lyve Cloud v2 no longer provides a shared S3 endpoint like v1 did. Instead, each customer receives
a unique, reseller-specific endpoint. To reflect this change, the S3 backend now requires users to
manually enter their endpoint when selecting Lyve Cloud as a provider.
Previously, users selected from a list of hardcoded Lyve Cloud v1 endpoints. This was not compatible
with Lyve Cloud v2 accounts and could cause confusion or misconfiguration.

This change:
- Removes outdated pre-defined endpoint selection for Lyve Cloud
- Requires users to provide their own endpoint
- Adds a format example to guide correct usage

Before: Users selected a fixed endpoint from a list (v1 only)
After:  Users must input their own endpoint (v2-compatible)
This commit is contained in:
PrathameshLakawade 2025-06-02 16:06:09 -07:00 committed by Nick Craig-Wood
parent badf16cc34
commit 3c66d9ccb1
3 changed files with 16 additions and 24 deletions

View File

@ -95,6 +95,7 @@ Rclone *("rsync for cloud storage")* is a command-line program to sync files and
* rsync.net [:page_facing_up:](https://rclone.org/sftp/#rsync-net) * rsync.net [:page_facing_up:](https://rclone.org/sftp/#rsync-net)
* Scaleway [:page_facing_up:](https://rclone.org/s3/#scaleway) * Scaleway [:page_facing_up:](https://rclone.org/s3/#scaleway)
* Seafile [:page_facing_up:](https://rclone.org/seafile/) * Seafile [:page_facing_up:](https://rclone.org/seafile/)
* Seagate Lyve Cloud ["page_facing_up:](https://rclone.org/s3/#lyve)
* SeaweedFS [:page_facing_up:](https://rclone.org/s3/#seaweedfs) * SeaweedFS [:page_facing_up:](https://rclone.org/s3/#seaweedfs)
* Selectel Object Storage [:page_facing_up:](https://rclone.org/s3/#selectel) * Selectel Object Storage [:page_facing_up:](https://rclone.org/s3/#selectel)
* SFTP [:page_facing_up:](https://rclone.org/sftp/) * SFTP [:page_facing_up:](https://rclone.org/sftp/)

View File

@ -1006,6 +1006,12 @@ func init() {
Value: "us-iad-1.linodeobjects.com", Value: "us-iad-1.linodeobjects.com",
Help: "Washington, DC, (USA), us-iad-1", Help: "Washington, DC, (USA), us-iad-1",
}}, }},
}, {
// Lyve Cloud endpoints
Name: "endpoint",
Help: "Endpoint for Lyve Cloud S3 API.\nRequired when using an S3 clone. Please type in your LyveCloud endpoint.\nExamples:\n- s3.us-west-1.{account_name}.lyve.seagate.com (US West 1 - California)\n- s3.eu-west-1.{account_name}.lyve.seagate.com (EU West 1 - Ireland)",
Provider: "LyveCloud",
Required: true,
}, { }, {
// Magalu endpoints: https://docs.magalu.cloud/docs/object-storage/how-to/copy-url // Magalu endpoints: https://docs.magalu.cloud/docs/object-storage/how-to/copy-url
Name: "endpoint", Name: "endpoint",
@ -1380,7 +1386,7 @@ func init() {
}, { }, {
Name: "endpoint", Name: "endpoint",
Help: "Endpoint for S3 API.\n\nRequired when using an S3 clone.", Help: "Endpoint for S3 API.\n\nRequired when using an S3 clone.",
Provider: "!AWS,ArvanCloud,IBMCOS,IDrive,IONOS,TencentCOS,HuaweiOBS,Alibaba,ChinaMobile,GCS,Liara,Linode,Magalu,Scaleway,Selectel,StackPath,Storj,Synology,RackCorp,Qiniu,Petabox", Provider: "!AWS,ArvanCloud,IBMCOS,IDrive,IONOS,TencentCOS,HuaweiOBS,Alibaba,ChinaMobile,GCS,Liara,Linode,LyveCloud,Magalu,Scaleway,Selectel,StackPath,Storj,Synology,RackCorp,Qiniu,Petabox",
Examples: []fs.OptionExample{{ Examples: []fs.OptionExample{{
Value: "objects-us-east-1.dream.io", Value: "objects-us-east-1.dream.io",
Help: "Dream Objects endpoint", Help: "Dream Objects endpoint",
@ -1429,18 +1435,6 @@ 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 (Virginia)",
Provider: "LyveCloud",
}, {
Value: "s3.us-west-1.lyvecloud.seagate.com",
Help: "Seagate Lyve Cloud US West 1 (California)",
Provider: "LyveCloud",
}, {
Value: "s3.ap-southeast-1.lyvecloud.seagate.com",
Help: "Seagate Lyve Cloud AP Southeast 1 (Singapore)",
Provider: "LyveCloud",
}, { }, {
Value: "oos.eu-west-2.outscale.com", Value: "oos.eu-west-2.outscale.com",
Help: "Outscale EU West 2 (Paris)", Help: "Outscale EU West 2 (Paris)",

View File

@ -3895,20 +3895,17 @@ Press Enter to leave empty.
region> region>
``` ```
Choose an endpoint from the list Enter your Lyve Cloud endpoint. This field cannot be kept empty.
``` ```
Endpoint for S3 API. Endpoint for Lyve Cloud S3 API.
Required when using an S3 clone. Required when using an S3 clone.
Choose a number from below, or type in your own value. Please type in your LyveCloud endpoint.
Press Enter to leave empty. Examples:
1 / Seagate Lyve Cloud US East 1 (Virginia) - s3.us-west-1.{account_name}.lyve.seagate.com (US West 1 - California)
\ (s3.us-east-1.lyvecloud.seagate.com) - s3.eu-west-1.{account_name}.lyve.seagate.com (US West 1 - Ireland)
2 / Seagate Lyve Cloud US West 1 (California) Enter a value.
\ (s3.us-west-1.lyvecloud.seagate.com) endpoint> s3.us-west-1.global.lyve.seagate.com
3 / Seagate Lyve Cloud AP Southeast 1 (Singapore)
\ (s3.ap-southeast-1.lyvecloud.seagate.com)
endpoint> 1
``` ```
Leave location constraint blank Leave location constraint blank