diff --git a/internal/rclone_service/rclone_service.go b/internal/rclone_service/rclone_service.go index 753a071..ed956ea 100644 --- a/internal/rclone_service/rclone_service.go +++ b/internal/rclone_service/rclone_service.go @@ -90,12 +90,20 @@ func TestRcloneConnection(config db.TransferConfig, providerType string, dbInsta rclonePath = "rclone" } + primaryProvider := provider + + // Convert hetzner to sftp if provider == "hetzner" { - provider = "sftp" + primaryProvider = "sftp" + } + + // S3 compatible providers + if provider == "minio" || provider == "wasabi" { + primaryProvider = "s3" } createArgs := []string{ - "config", "create", remoteName, provider, + "config", "create", remoteName, primaryProvider, "--config", tempConfigPath, "--non-interactive", "--log-level", "DEBUG", @@ -145,25 +153,9 @@ func TestRcloneConnection(config db.TransferConfig, providerType string, dbInsta if region != "" { createArgs = append(createArgs, "region", region) } - endpointValue := endpoint - if endpointValue == "" { - endpointValue = "s3.wasabisys.com" - } - createArgs = append(createArgs, "endpoint", endpointValue) - case "b2": - createArgs = append(createArgs, "provider", "B2", "env_auth", "false") - if accessKey != "" { - createArgs = append(createArgs, "account", accessKey) - } - if secretKey != "" { - createArgs = append(createArgs, "key", secretKey) - } if endpoint != "" { createArgs = append(createArgs, "endpoint", endpoint) } - if region != "" { - createArgs = append(createArgs, "region", region) - } case "minio": createArgs = append(createArgs, "provider", "Minio", "env_auth", "false") if accessKey != "" { @@ -172,6 +164,20 @@ func TestRcloneConnection(config db.TransferConfig, providerType string, dbInsta if secretKey != "" { createArgs = append(createArgs, "secret_access_key", secretKey) } + if region != "" { + createArgs = append(createArgs, "region", region) + } + if endpoint != "" { + createArgs = append(createArgs, "endpoint", endpoint) + } + case "b2": + createArgs = append(createArgs, "provider", "B2", "env_auth", "false") + if accessKey != "" { + createArgs = append(createArgs, "account", accessKey) + } + if secretKey != "" { + createArgs = append(createArgs, "key", secretKey) + } if endpoint != "" { createArgs = append(createArgs, "endpoint", endpoint) }