[#1] Add frostfs backend docs

Signed-off-by: Aleksey Kravchenko <al.kravchenko@yadro.com>
This commit is contained in:
Aleksey Kravchenko 2025-01-10 19:00:25 +03:00
parent 5385ce33a5
commit 0255757831
9 changed files with 37339 additions and 16471 deletions

37880
MANUAL.html generated

File diff suppressed because it is too large Load diff

485
MANUAL.md generated
View file

@ -1,6 +1,6 @@
% rclone(1) User Manual % rclone(1) User Manual
% Nick Craig-Wood % Nick Craig-Wood
% Nov 15, 2024 % Jan 10, 2025
# Rclone syncs your files to cloud storage # Rclone syncs your files to cloud storage
@ -120,6 +120,7 @@ WebDAV or S3, that work out of the box.)
- Enterprise File Fabric - Enterprise File Fabric
- Fastmail Files - Fastmail Files
- Files.com - Files.com
- FrostFS
- FTP - FTP
- Gofile - Gofile
- Google Cloud Storage - Google Cloud Storage
@ -20497,7 +20498,7 @@ Flags for general networking and HTTP stuff.
--tpslimit float Limit HTTP transactions per second to this --tpslimit float Limit HTTP transactions per second to this
--tpslimit-burst int Max burst of transactions for --tpslimit (default 1) --tpslimit-burst int Max burst of transactions for --tpslimit (default 1)
--use-cookies Enable session cookiejar --use-cookies Enable session cookiejar
--user-agent string Set the user-agent to a specified string (default "rclone/v1.68.2") --user-agent string Set the user-agent to a specified string (default "rclone/v1.68.2-beta.8331.25cf42493.feature/add-frostfs-support")
``` ```
@ -20934,6 +20935,21 @@ Backend-only flags (these can be set in the config file also).
--filescom-password string The password used to authenticate with Files.com (obscured) --filescom-password string The password used to authenticate with Files.com (obscured)
--filescom-site string Your site subdomain (e.g. mysite) or custom domain (e.g. myfiles.customdomain.com) --filescom-site string Your site subdomain (e.g. mysite) or custom domain (e.g. myfiles.customdomain.com)
--filescom-username string The username used to authenticate with Files.com --filescom-username string The username used to authenticate with Files.com
--frostfs-address string Address of account
--frostfs-ape-cache-invalidation-duration Duration APE cache invalidation duration (default 8s)
--frostfs-ape-cache-invalidation-timeout Duration APE cache invalidation timeout (default 24s)
--frostfs-ape-chain-check-interval Duration The interval for verifying that the APE chain is saved in FrostFS (default 500ms)
--frostfs-connection-timeout Duration FrostFS connection timeout (default 4s)
--frostfs-container-creation-policy string Container creation policy for new containers (default "private")
--frostfs-description string Description of the remote
--frostfs-endpoint string Endpoints to connect to FrostFS node
--frostfs-password string Password to decrypt wallet
--frostfs-placement-policy string Placement policy for new containers (default "REP 3")
--frostfs-rebalance-interval Duration FrostFS rebalance connections interval (default 15s)
--frostfs-request-timeout Duration FrostFS request timeout (default 12s)
--frostfs-rpc-endpoint string Endpoint to connect to Neo rpc node
--frostfs-session-expiration int FrostFS session expiration epoch (default 4294967295)
--frostfs-wallet string Path to wallet
--ftp-ask-password Allow asking for FTP password when needed --ftp-ask-password Allow asking for FTP password when needed
--ftp-close-timeout Duration Maximum time to wait for a response to close (default 1m0s) --ftp-close-timeout Duration Maximum time to wait for a response to close (default 1m0s)
--ftp-concurrency int Maximum number of FTP simultaneous connections, 0 for unlimited --ftp-concurrency int Maximum number of FTP simultaneous connections, 0 for unlimited
@ -34604,6 +34620,467 @@ Properties:
# FrostFS
Rclone FrostFS support is provided using the
[git.frostfs.info/TrueCloudLab/frostfs-sdk-go](https://git.frostfs.info/TrueCloudLab/frostfs-sdk-go) package
## Configuration
To create an FrostFS configuration named `remote`, run
rclone config
Rclone config guides you through an interactive setup process. A minimal
rclone FrostFS remote definition only requires endpoint and path to FrostFS user wallet.
```
No remotes found, make a new one?
n) New remote
s) Set configuration password
q) Quit config
n/s/q> n
Enter name for new remote.
name> remote
Option Storage.
Type of storage to configure.
Choose a number from below, or type in your own value.
1 / 1Fichier
\ (fichier)
2 / Akamai NetStorage
\ (netstorage)
3 / Alias for an existing remote
\ (alias)
4 / Amazon S3 Compliant Storage Providers including AWS, Alibaba, ArvanCloud, Ceph, ChinaMobile, Cloudflare, DigitalOcean, Dreamhost, GCS, HuaweiOBS, IBMCOS, IDrive, IONOS, LyveCloud, Leviia, Liara, Linode, Magalu, Minio, Netease, Petabox, RackCorp, Rclone, Scaleway, SeaweedFS, StackPath, Storj, Synology, TencentCOS, Wasabi, Qiniu and others
\ (s3)
5 / Backblaze B2
\ (b2)
6 / Better checksums for other remotes
\ (hasher)
7 / Box
\ (box)
8 / Cache a remote
\ (cache)
9 / Citrix Sharefile
\ (sharefile)
10 / Combine several remotes into one
\ (combine)
11 / Compress a remote
\ (compress)
12 / Distributed, decentralized object storage FrostFS
\ (frostfs)
13 / Dropbox
\ (dropbox)
14 / Encrypt/Decrypt a remote
\ (crypt)
15 / Enterprise File Fabric
\ (filefabric)
16 / FTP
\ (ftp)
17 / Files.com
\ (filescom)
18 / Gofile
\ (gofile)
19 / Google Cloud Storage (this is not Google Drive)
\ (google cloud storage)
20 / Google Drive
\ (drive)
21 / Google Photos
\ (google photos)
22 / HTTP
\ (http)
23 / Hadoop distributed file system
\ (hdfs)
24 / HiDrive
\ (hidrive)
25 / ImageKit.io
\ (imagekit)
26 / In memory object storage system.
\ (memory)
27 / Internet Archive
\ (internetarchive)
28 / Jottacloud
\ (jottacloud)
29 / Koofr, Digi Storage and other Koofr-compatible storage providers
\ (koofr)
30 / Linkbox
\ (linkbox)
31 / Local Disk
\ (local)
32 / Mail.ru Cloud
\ (mailru)
33 / Mega
\ (mega)
34 / Microsoft Azure Blob Storage
\ (azureblob)
35 / Microsoft Azure Files
\ (azurefiles)
36 / Microsoft OneDrive
\ (onedrive)
37 / OpenDrive
\ (opendrive)
38 / OpenStack Swift (Rackspace Cloud Files, Blomp Cloud Storage, Memset Memstore, OVH)
\ (swift)
39 / Oracle Cloud Infrastructure Object Storage
\ (oracleobjectstorage)
40 / Pcloud
\ (pcloud)
41 / PikPak
\ (pikpak)
42 / Pixeldrain Filesystem
\ (pixeldrain)
43 / Proton Drive
\ (protondrive)
44 / Put.io
\ (putio)
45 / QingCloud Object Storage
\ (qingstor)
46 / Quatrix by Maytech
\ (quatrix)
47 / SMB / CIFS
\ (smb)
48 / SSH/SFTP
\ (sftp)
49 / Sia Decentralized Cloud
\ (sia)
50 / Storj Decentralized Cloud Storage
\ (storj)
51 / Sugarsync
\ (sugarsync)
52 / Transparently chunk/split large files
\ (chunker)
53 / Uloz.to
\ (ulozto)
54 / Union merges the contents of several upstream fs
\ (union)
55 / Uptobox
\ (uptobox)
56 / WebDAV
\ (webdav)
57 / Yandex Disk
\ (yandex)
58 / Zoho
\ (zoho)
59 / premiumize.me
\ (premiumizeme)
60 / seafile
\ (seafile)
Storage> frostfs
Option endpoint.
Endpoints to connect to FrostFS node
Choose a number from below, or type in your own value.
1 / One endpoint.
\ (s01.frostfs.devenv:8080)
2 / Multiple endpoints to form pool.
\ (s01.frostfs.devenv:8080 s02.frostfs.devenv:8080)
3 / Multiple endpoints with priority (less value is higher priority). Until s01 is healthy all request will be send to it.
\ (s01.frostfs.devenv:8080,1 s02.frostfs.devenv:8080,2)
4 / Multiple endpoints with priority and weights. After s01 is unhealthy requests will be send to s02 and s03 in proportions 10% and 90% respectively.
\ (s01.frostfs.devenv:8080,1,1 s02.frostfs.devenv:8080,2,1 s03.frostfs.devenv:8080,2,9)
endpoint> s01.frostfs.devenv:8080,1 s02.frostfs.devenv:8080,2
Option connection_timeout.
FrostFS connection timeout
Enter a value of type Duration. Press Enter for the default (4s).
connection_timeout>
Option request_timeout.
FrostFS request timeout
Enter a value of type Duration. Press Enter for the default (4s).
request_timeout>
Option rebalance_interval.
FrostFS rebalance connections interval
Enter a value of type Duration. Press Enter for the default (15s).
rebalance_interval>
Option session_expiration.
FrostFS session expiration epoch
Enter a signed integer. Press Enter for the default (4294967295).
session_expiration>
Option ape_cache_invalidation_duration.
APE cache invalidation duration
Enter a value of type Duration. Press Enter for the default (8s).
ape_cache_invalidation_duration>
Option ape_cache_invalidation_timeout.
APE cache invalidation timeout
Enter a value of type Duration. Press Enter for the default (16s).
ape_cache_invalidation_timeout>
Option ape_chain_check_interval.
The interval for verifying that the APE chain is saved in FrostFS.
Enter a value of type Duration. Press Enter for the default (500ms).
ape_chain_check_interval>
Option rpc_endpoint.
Endpoint to connect to Neo rpc node
Enter a value. Press Enter to leave empty.
rpc_endpoint>
Option wallet.
Path to wallet
Enter a value.
wallet> /wallets/wallet.conf
Option address.
Address of account
Enter a value. Press Enter to leave empty.
address>
Option password.
Password to decrypt wallet
Enter a value. Press Enter to leave empty.
password>
Option placement_policy.
Placement policy for new containers
Choose a number from below, or type in your own value of type string.
Press Enter for the default (REP 3).
1 / Container will have 3 replicas
\ (REP 3)
placement_policy> REP 1
Option container_creation_policy.
Container creation policy for new containers
Choose a number from below, or type in your own value of type string.
Press Enter for the default (private).
1 / Public container, anyone can read and write
\ (public-read-write)
2 / Public container, owner can read and write, others can only read
\ (public-read)
3 / Private container, only owner has access to it
\ (private)
container_creation_policy>
Edit advanced config?
y) Yes
n) No (default)
y/n> n
Configuration complete.
Options:
- type: frostfs
- endpoint: s01.frostfs.devenv:8080,1 s02.frostfs.devenv:8080,2
- password: M@zPGpWDravchenko/develop/go/playground/play_with_ape/cfg/wallet_akrav.js
- placement_policy: REP 1
Keep this "remote" remote?
y) Yes this is OK (default)
e) Edit this remote
d) Delete this remote
y/e/d> y
```
As a remote root directory, you can use either the container identifier or its user-friendly name.
If you choose to use a container name, rclone will create a new container with that name when
it's used for the first time.
For example, both of the following commands would be valid if there was a `~/test-copy` directory and a container with
the identifier `23fk3Bcw5mPZ4YtYkTLJbQebtM2WXHz4HL8FgsrTJkSf`:
rclone copy ~/test-copy remote:23fk3Bcw5mPZ4YtYkTLJbQebtM2WXHz4HL8FgsrTJkSf/test-copy
rclone copy ~/test-copy remote:container-name/test-copy
### Standard options
Here are the Standard options specific to frostfs (Distributed, decentralized object storage FrostFS).
#### --frostfs-endpoint
Endpoints to connect to FrostFS node
Properties:
- Config: endpoint
- Env Var: RCLONE_FROSTFS_ENDPOINT
- Type: string
- Required: true
- Examples:
- "s01.frostfs.devenv:8080"
- One endpoint.
- "s01.frostfs.devenv:8080 s02.frostfs.devenv:8080"
- Multiple endpoints to form pool.
- "s01.frostfs.devenv:8080,1 s02.frostfs.devenv:8080,2"
- Multiple endpoints with priority (lower value has higher priority). Until s01 is healthy, all requests will be sent to it.
- "s01.frostfs.devenv:8080,1,1 s02.frostfs.devenv:8080,2,1 s03.frostfs.devenv:8080,2,9"
- Multiple endpoints with priority and weights. After the s01 endpoint is unhealthy, requests will be sent to the s02 and s03 endpoints in proportions of 10% and 90%, respectively.
#### --frostfs-connection-timeout
FrostFS connection timeout
Properties:
- Config: connection_timeout
- Env Var: RCLONE_FROSTFS_CONNECTION_TIMEOUT
- Type: Duration
- Default: 4s
#### --frostfs-request-timeout
FrostFS request timeout
Properties:
- Config: request_timeout
- Env Var: RCLONE_FROSTFS_REQUEST_TIMEOUT
- Type: Duration
- Default: 12s
#### --frostfs-rebalance-interval
FrostFS rebalance connections interval
Properties:
- Config: rebalance_interval
- Env Var: RCLONE_FROSTFS_REBALANCE_INTERVAL
- Type: Duration
- Default: 15s
#### --frostfs-session-expiration
FrostFS session expiration epoch
Properties:
- Config: session_expiration
- Env Var: RCLONE_FROSTFS_SESSION_EXPIRATION
- Type: int
- Default: 4294967295
#### --frostfs-ape-cache-invalidation-duration
APE cache invalidation duration
Properties:
- Config: ape_cache_invalidation_duration
- Env Var: RCLONE_FROSTFS_APE_CACHE_INVALIDATION_DURATION
- Type: Duration
- Default: 8s
#### --frostfs-ape-cache-invalidation-timeout
APE cache invalidation timeout
Properties:
- Config: ape_cache_invalidation_timeout
- Env Var: RCLONE_FROSTFS_APE_CACHE_INVALIDATION_TIMEOUT
- Type: Duration
- Default: 24s
#### --frostfs-ape-chain-check-interval
The interval for verifying that the APE chain is saved in FrostFS.
Properties:
- Config: ape_chain_check_interval
- Env Var: RCLONE_FROSTFS_APE_CHAIN_CHECK_INTERVAL
- Type: Duration
- Default: 500ms
#### --frostfs-rpc-endpoint
Endpoint to connect to Neo rpc node
Properties:
- Config: rpc_endpoint
- Env Var: RCLONE_FROSTFS_RPC_ENDPOINT
- Type: string
- Required: false
#### --frostfs-wallet
Path to wallet
Properties:
- Config: wallet
- Env Var: RCLONE_FROSTFS_WALLET
- Type: string
- Required: true
#### --frostfs-address
Address of account
Properties:
- Config: address
- Env Var: RCLONE_FROSTFS_ADDRESS
- Type: string
- Required: false
#### --frostfs-password
Password to decrypt wallet
Properties:
- Config: password
- Env Var: RCLONE_FROSTFS_PASSWORD
- Type: string
- Required: false
#### --frostfs-placement-policy
Placement policy for new containers
Properties:
- Config: placement_policy
- Env Var: RCLONE_FROSTFS_PLACEMENT_POLICY
- Type: string
- Default: "REP 3"
- Examples:
- "REP 3"
- Container will have 3 replicas
#### --frostfs-container-creation-policy
Container creation policy for new containers
Properties:
- Config: container_creation_policy
- Env Var: RCLONE_FROSTFS_CONTAINER_CREATION_POLICY
- Type: string
- Default: "private"
- Examples:
- "public-read-write"
- Public container, anyone can read and write
- "public-read"
- Public container, owner can read and write, others can only read
- "private"
- Private container, only owner has access to it
### Advanced options
Here are the Advanced options specific to frostfs (Distributed, decentralized object storage FrostFS).
#### --frostfs-description
Description of the remote.
Properties:
- Config: description
- Env Var: RCLONE_FROSTFS_DESCRIPTION
- Type: string
- Required: false
# FTP # FTP
FTP is the File Transfer Protocol. Rclone FTP support is provided using the FTP is the File Transfer Protocol. Rclone FTP support is provided using the
@ -34727,13 +35204,13 @@ therefore works even in Windows Command Prompt:
rclone lsf :ftp: --ftp-host=speedtest.tele2.net --ftp-user=anonymous --ftp-pass=IXs2wc8OJOz7SYLBk47Ji1rHTmxM rclone lsf :ftp: --ftp-host=speedtest.tele2.net --ftp-user=anonymous --ftp-pass=IXs2wc8OJOz7SYLBk47Ji1rHTmxM
rclone lsf :ftp,host=speedtest.tele2.net,user=anonymous,pass=IXs2wc8OJOz7SYLBk47Ji1rHTmxM: rclone lsf :ftp,host=speedtest.tele2.net,user=anonymous,pass=IXs2wc8OJOz7SYLBk47Ji1rHTmxM:
### Implicit TLS ### Implicit TLS[util.go](../../backend/frostfs/util.go)
Rlone FTP supports implicit FTP over TLS servers (FTPS). This has to Rlone FTP supports implicit FTP over TLS servers (FTPS). This has to
be enabled in the FTP backend config for the remote, or with be enabled in the FTP backend config for the remote, or with
[`--ftp-tls`](#ftp-tls). The default FTPS port is `990`, not `21` and [`--ftp-tls`](#ftp-tls). The default FTPS port is `990`, not `21` and
can be set with [`--ftp-port`](#ftp-port). can be set with [`--ftp-port`](#ftp-port).
[util.go](../../backend/frostfs/util.go)
### Restricted filename characters ### Restricted filename characters
In addition to the [default restricted characters set](https://rclone.org/overview/#restricted-characters) In addition to the [default restricted characters set](https://rclone.org/overview/#restricted-characters)

851
MANUAL.txt generated

File diff suppressed because it is too large Load diff

View file

@ -42,6 +42,7 @@ docs = [
"dropbox.md", "dropbox.md",
"filefabric.md", "filefabric.md",
"filescom.md", "filescom.md",
"frostfs.md",
"ftp.md", "ftp.md",
"gofile.md", "gofile.md",
"googlecloudstorage.md", "googlecloudstorage.md",

View file

@ -123,6 +123,7 @@ WebDAV or S3, that work out of the box.)
{{< provider name="Enterprise File Fabric" home="https://storagemadeeasy.com/about/" config="/filefabric/" >}} {{< provider name="Enterprise File Fabric" home="https://storagemadeeasy.com/about/" config="/filefabric/" >}}
{{< provider name="Fastmail Files" home="https://www.fastmail.com/" config="/webdav/#fastmail-files" >}} {{< provider name="Fastmail Files" home="https://www.fastmail.com/" config="/webdav/#fastmail-files" >}}
{{< provider name="Files.com" home="https://www.files.com/" config="/filescom/" >}} {{< provider name="Files.com" home="https://www.files.com/" config="/filescom/" >}}
{{< provider name="FrostFS" home="https://git.frostfs.info/TrueCloudLab/" config="/frostfs/" >}}
{{< provider name="FTP" home="https://en.wikipedia.org/wiki/File_Transfer_Protocol" config="/ftp/" >}} {{< provider name="FTP" home="https://en.wikipedia.org/wiki/File_Transfer_Protocol" config="/ftp/" >}}
{{< provider name="Gofile" home="https://gofile.io/" config="/gofile/" >}} {{< provider name="Gofile" home="https://gofile.io/" config="/gofile/" >}}
{{< provider name="Google Cloud Storage" home="https://cloud.google.com/storage/" config="/googlecloudstorage/" >}} {{< provider name="Google Cloud Storage" home="https://cloud.google.com/storage/" config="/googlecloudstorage/" >}}

View file

@ -296,6 +296,21 @@ rclone [flags]
-f, --filter stringArray Add a file filtering rule -f, --filter stringArray Add a file filtering rule
--filter-from stringArray Read file filtering patterns from a file (use - to read from stdin) --filter-from stringArray Read file filtering patterns from a file (use - to read from stdin)
--fix-case Force rename of case insensitive dest to match source --fix-case Force rename of case insensitive dest to match source
--frostfs-address string Address of account
--frostfs-ape-cache-invalidation-duration Duration APE cache invalidation duration (default 8s)
--frostfs-ape-cache-invalidation-timeout Duration APE cache invalidation timeout (default 24s)
--frostfs-ape-chain-check-interval Duration The interval for verifying that the APE chain is saved in FrostFS (default 500ms)
--frostfs-connection-timeout Duration FrostFS connection timeout (default 4s)
--frostfs-container-creation-policy string Container creation policy for new containers (default "private")
--frostfs-description string Description of the remote
--frostfs-endpoint string Endpoints to connect to FrostFS node
--frostfs-password string Password to decrypt wallet
--frostfs-placement-policy string Placement policy for new containers (default "REP 3")
--frostfs-rebalance-interval Duration FrostFS rebalance connections interval (default 15s)
--frostfs-request-timeout Duration FrostFS request timeout (default 12s)
--frostfs-rpc-endpoint string Endpoint to connect to Neo rpc node
--frostfs-session-expiration int FrostFS session expiration epoch (default 4294967295)
--frostfs-wallet string Path to wallet
--fs-cache-expire-duration Duration Cache remotes for this long (0 to disable caching) (default 5m0s) --fs-cache-expire-duration Duration Cache remotes for this long (0 to disable caching) (default 5m0s)
--fs-cache-expire-interval Duration Interval to check for expired remotes (default 1m0s) --fs-cache-expire-interval Duration Interval to check for expired remotes (default 1m0s)
--ftp-ask-password Allow asking for FTP password when needed --ftp-ask-password Allow asking for FTP password when needed
@ -929,7 +944,7 @@ rclone [flags]
--use-json-log Use json log format --use-json-log Use json log format
--use-mmap Use mmap allocator (see docs) --use-mmap Use mmap allocator (see docs)
--use-server-modtime Use server modified time instead of object metadata --use-server-modtime Use server modified time instead of object metadata
--user-agent string Set the user-agent to a specified string (default "rclone/v1.68.2") --user-agent string Set the user-agent to a specified string (default "rclone/v1.68.2-beta.8331.25cf42493.feature/add-frostfs-support")
-v, --verbose count Print lots more stuff (repeat for more) -v, --verbose count Print lots more stuff (repeat for more)
-V, --version Print the version number -V, --version Print the version number
--webdav-bearer-token string Bearer token instead of user/pass (e.g. a Macaroon) --webdav-bearer-token string Bearer token instead of user/pass (e.g. a Macaroon)

View file

@ -115,7 +115,7 @@ Flags for general networking and HTTP stuff.
--tpslimit float Limit HTTP transactions per second to this --tpslimit float Limit HTTP transactions per second to this
--tpslimit-burst int Max burst of transactions for --tpslimit (default 1) --tpslimit-burst int Max burst of transactions for --tpslimit (default 1)
--use-cookies Enable session cookiejar --use-cookies Enable session cookiejar
--user-agent string Set the user-agent to a specified string (default "rclone/v1.68.2") --user-agent string Set the user-agent to a specified string (default "rclone/v1.68.2-beta.8331.25cf42493.feature/add-frostfs-support")
``` ```
@ -552,6 +552,21 @@ Backend-only flags (these can be set in the config file also).
--filescom-password string The password used to authenticate with Files.com (obscured) --filescom-password string The password used to authenticate with Files.com (obscured)
--filescom-site string Your site subdomain (e.g. mysite) or custom domain (e.g. myfiles.customdomain.com) --filescom-site string Your site subdomain (e.g. mysite) or custom domain (e.g. myfiles.customdomain.com)
--filescom-username string The username used to authenticate with Files.com --filescom-username string The username used to authenticate with Files.com
--frostfs-address string Address of account
--frostfs-ape-cache-invalidation-duration Duration APE cache invalidation duration (default 8s)
--frostfs-ape-cache-invalidation-timeout Duration APE cache invalidation timeout (default 24s)
--frostfs-ape-chain-check-interval Duration The interval for verifying that the APE chain is saved in FrostFS (default 500ms)
--frostfs-connection-timeout Duration FrostFS connection timeout (default 4s)
--frostfs-container-creation-policy string Container creation policy for new containers (default "private")
--frostfs-description string Description of the remote
--frostfs-endpoint string Endpoints to connect to FrostFS node
--frostfs-password string Password to decrypt wallet
--frostfs-placement-policy string Placement policy for new containers (default "REP 3")
--frostfs-rebalance-interval Duration FrostFS rebalance connections interval (default 15s)
--frostfs-request-timeout Duration FrostFS request timeout (default 12s)
--frostfs-rpc-endpoint string Endpoint to connect to Neo rpc node
--frostfs-session-expiration int FrostFS session expiration epoch (default 4294967295)
--frostfs-wallet string Path to wallet
--ftp-ask-password Allow asking for FTP password when needed --ftp-ask-password Allow asking for FTP password when needed
--ftp-close-timeout Duration Maximum time to wait for a response to close (default 1m0s) --ftp-close-timeout Duration Maximum time to wait for a response to close (default 1m0s)
--ftp-concurrency int Maximum number of FTP simultaneous connections, 0 for unlimited --ftp-concurrency int Maximum number of FTP simultaneous connections, 0 for unlimited

466
docs/content/frostfs.md Normal file
View file

@ -0,0 +1,466 @@
---
title: "FrostFS"
description: "Rclone docs for FrostFS backend"
versionIntroduced: "---"
---
# {{< icon "fa fa-file" >}} FrostFS
Rclone FrostFS support is provided using the
[git.frostfs.info/TrueCloudLab/frostfs-sdk-go](https://git.frostfs.info/TrueCloudLab/frostfs-sdk-go) package
## Configuration
To create an FrostFS configuration named `remote`, run
rclone config
Rclone config guides you through an interactive setup process. A minimal
rclone FrostFS remote definition only requires endpoint and path to FrostFS user wallet.
```
No remotes found, make a new one?
n) New remote
s) Set configuration password
q) Quit config
n/s/q> n
Enter name for new remote.
name> remote
Option Storage.
Type of storage to configure.
Choose a number from below, or type in your own value.
1 / 1Fichier
\ (fichier)
2 / Akamai NetStorage
\ (netstorage)
3 / Alias for an existing remote
\ (alias)
4 / Amazon S3 Compliant Storage Providers including AWS, Alibaba, ArvanCloud, Ceph, ChinaMobile, Cloudflare, DigitalOcean, Dreamhost, GCS, HuaweiOBS, IBMCOS, IDrive, IONOS, LyveCloud, Leviia, Liara, Linode, Magalu, Minio, Netease, Petabox, RackCorp, Rclone, Scaleway, SeaweedFS, StackPath, Storj, Synology, TencentCOS, Wasabi, Qiniu and others
\ (s3)
5 / Backblaze B2
\ (b2)
6 / Better checksums for other remotes
\ (hasher)
7 / Box
\ (box)
8 / Cache a remote
\ (cache)
9 / Citrix Sharefile
\ (sharefile)
10 / Combine several remotes into one
\ (combine)
11 / Compress a remote
\ (compress)
12 / Distributed, decentralized object storage FrostFS
\ (frostfs)
13 / Dropbox
\ (dropbox)
14 / Encrypt/Decrypt a remote
\ (crypt)
15 / Enterprise File Fabric
\ (filefabric)
16 / FTP
\ (ftp)
17 / Files.com
\ (filescom)
18 / Gofile
\ (gofile)
19 / Google Cloud Storage (this is not Google Drive)
\ (google cloud storage)
20 / Google Drive
\ (drive)
21 / Google Photos
\ (google photos)
22 / HTTP
\ (http)
23 / Hadoop distributed file system
\ (hdfs)
24 / HiDrive
\ (hidrive)
25 / ImageKit.io
\ (imagekit)
26 / In memory object storage system.
\ (memory)
27 / Internet Archive
\ (internetarchive)
28 / Jottacloud
\ (jottacloud)
29 / Koofr, Digi Storage and other Koofr-compatible storage providers
\ (koofr)
30 / Linkbox
\ (linkbox)
31 / Local Disk
\ (local)
32 / Mail.ru Cloud
\ (mailru)
33 / Mega
\ (mega)
34 / Microsoft Azure Blob Storage
\ (azureblob)
35 / Microsoft Azure Files
\ (azurefiles)
36 / Microsoft OneDrive
\ (onedrive)
37 / OpenDrive
\ (opendrive)
38 / OpenStack Swift (Rackspace Cloud Files, Blomp Cloud Storage, Memset Memstore, OVH)
\ (swift)
39 / Oracle Cloud Infrastructure Object Storage
\ (oracleobjectstorage)
40 / Pcloud
\ (pcloud)
41 / PikPak
\ (pikpak)
42 / Pixeldrain Filesystem
\ (pixeldrain)
43 / Proton Drive
\ (protondrive)
44 / Put.io
\ (putio)
45 / QingCloud Object Storage
\ (qingstor)
46 / Quatrix by Maytech
\ (quatrix)
47 / SMB / CIFS
\ (smb)
48 / SSH/SFTP
\ (sftp)
49 / Sia Decentralized Cloud
\ (sia)
50 / Storj Decentralized Cloud Storage
\ (storj)
51 / Sugarsync
\ (sugarsync)
52 / Transparently chunk/split large files
\ (chunker)
53 / Uloz.to
\ (ulozto)
54 / Union merges the contents of several upstream fs
\ (union)
55 / Uptobox
\ (uptobox)
56 / WebDAV
\ (webdav)
57 / Yandex Disk
\ (yandex)
58 / Zoho
\ (zoho)
59 / premiumize.me
\ (premiumizeme)
60 / seafile
\ (seafile)
Storage> frostfs
Option endpoint.
Endpoints to connect to FrostFS node
Choose a number from below, or type in your own value.
1 / One endpoint.
\ (s01.frostfs.devenv:8080)
2 / Multiple endpoints to form pool.
\ (s01.frostfs.devenv:8080 s02.frostfs.devenv:8080)
3 / Multiple endpoints with priority (less value is higher priority). Until s01 is healthy all request will be send to it.
\ (s01.frostfs.devenv:8080,1 s02.frostfs.devenv:8080,2)
4 / Multiple endpoints with priority and weights. After s01 is unhealthy requests will be send to s02 and s03 in proportions 10% and 90% respectively.
\ (s01.frostfs.devenv:8080,1,1 s02.frostfs.devenv:8080,2,1 s03.frostfs.devenv:8080,2,9)
endpoint> s01.frostfs.devenv:8080,1 s02.frostfs.devenv:8080,2
Option connection_timeout.
FrostFS connection timeout
Enter a value of type Duration. Press Enter for the default (4s).
connection_timeout>
Option request_timeout.
FrostFS request timeout
Enter a value of type Duration. Press Enter for the default (12s).
request_timeout>
Option rebalance_interval.
FrostFS rebalance connections interval
Enter a value of type Duration. Press Enter for the default (15s).
rebalance_interval>
Option session_expiration.
FrostFS session expiration epoch
Enter a signed integer. Press Enter for the default (4294967295).
session_expiration>
Option ape_cache_invalidation_duration.
APE cache invalidation duration
Enter a value of type Duration. Press Enter for the default (8s).
ape_cache_invalidation_duration>
Option ape_cache_invalidation_timeout.
APE cache invalidation timeout
Enter a value of type Duration. Press Enter for the default (24s).
ape_cache_invalidation_timeout>
Option ape_chain_check_interval.
The interval for verifying that the APE chain is saved in FrostFS.
Enter a value of type Duration. Press Enter for the default (500ms).
ape_chain_check_interval>
Option rpc_endpoint.
Endpoint to connect to Neo rpc node
Enter a value. Press Enter to leave empty.
rpc_endpoint>
Option wallet.
Path to wallet
Enter a value.
wallet> /wallets/wallet.conf
Option address.
Address of account
Enter a value. Press Enter to leave empty.
address>
Option password.
Password to decrypt wallet
Enter a value. Press Enter to leave empty.
password>
Option placement_policy.
Placement policy for new containers
Choose a number from below, or type in your own value of type string.
Press Enter for the default (REP 3).
1 / Container will have 3 replicas
\ (REP 3)
placement_policy> REP 1
Option container_creation_policy.
Container creation policy for new containers
Choose a number from below, or type in your own value of type string.
Press Enter for the default (private).
1 / Public container, anyone can read and write
\ (public-read-write)
2 / Public container, owner can read and write, others can only read
\ (public-read)
3 / Private container, only owner has access to it
\ (private)
container_creation_policy>
Edit advanced config?
y) Yes
n) No (default)
y/n> n
Configuration complete.
Options:
- type: frostfs
- endpoint: s01.frostfs.devenv:8080,1 s02.frostfs.devenv:8080,2
- password: M@zPGpWDravchenko/develop/go/playground/play_with_ape/cfg/wallet_akrav.js
- placement_policy: REP 1
Keep this "remote" remote?
y) Yes this is OK (default)
e) Edit this remote
d) Delete this remote
y/e/d> y
```
As a remote root directory, you can use either the container identifier or its user-friendly name.
If you choose to use a container name, rclone will create a new container with that name when
it's used for the first time.
For example, both of the following commands would be valid if there was a `~/test-copy` directory and a container with
the identifier `23fk3Bcw5mPZ4YtYkTLJbQebtM2WXHz4HL8FgsrTJkSf`:
rclone copy ~/test-copy remote:23fk3Bcw5mPZ4YtYkTLJbQebtM2WXHz4HL8FgsrTJkSf/test-copy
rclone copy ~/test-copy remote:container-name/test-copy
{{< rem autogenerated options start" - DO NOT EDIT - instead edit fs.RegInfo in backend/frostfs/frostfs.go then run make backenddocs" >}}
### Standard options
Here are the Standard options specific to frostfs (Distributed, decentralized object storage FrostFS).
#### --frostfs-endpoint
Endpoints to connect to FrostFS node
Properties:
- Config: endpoint
- Env Var: RCLONE_FROSTFS_ENDPOINT
- Type: string
- Required: true
- Examples:
- "s01.frostfs.devenv:8080"
- One endpoint.
- "s01.frostfs.devenv:8080 s02.frostfs.devenv:8080"
- Multiple endpoints to form pool.
- "s01.frostfs.devenv:8080,1 s02.frostfs.devenv:8080,2"
- Multiple endpoints with priority (lower value has higher priority). Until s01 is healthy, all requests will be sent to it.
- "s01.frostfs.devenv:8080,1,1 s02.frostfs.devenv:8080,2,1 s03.frostfs.devenv:8080,2,9"
- Multiple endpoints with priority and weights. After the s01 endpoint is unhealthy, requests will be sent to the s02 and s03 endpoints in proportions of 10% and 90%, respectively.
#### --frostfs-connection-timeout
FrostFS connection timeout
Properties:
- Config: connection_timeout
- Env Var: RCLONE_FROSTFS_CONNECTION_TIMEOUT
- Type: Duration
- Default: 4s
#### --frostfs-request-timeout
FrostFS request timeout
Properties:
- Config: request_timeout
- Env Var: RCLONE_FROSTFS_REQUEST_TIMEOUT
- Type: Duration
- Default: 12s
#### --frostfs-rebalance-interval
FrostFS rebalance connections interval
Properties:
- Config: rebalance_interval
- Env Var: RCLONE_FROSTFS_REBALANCE_INTERVAL
- Type: Duration
- Default: 15s
#### --frostfs-session-expiration
FrostFS session expiration epoch
Properties:
- Config: session_expiration
- Env Var: RCLONE_FROSTFS_SESSION_EXPIRATION
- Type: int
- Default: 4294967295
#### --frostfs-ape-cache-invalidation-duration
APE cache invalidation duration
Properties:
- Config: ape_cache_invalidation_duration
- Env Var: RCLONE_FROSTFS_APE_CACHE_INVALIDATION_DURATION
- Type: Duration
- Default: 8s
#### --frostfs-ape-cache-invalidation-timeout
APE cache invalidation timeout
Properties:
- Config: ape_cache_invalidation_timeout
- Env Var: RCLONE_FROSTFS_APE_CACHE_INVALIDATION_TIMEOUT
- Type: Duration
- Default: 24s
#### --frostfs-ape-chain-check-interval
The interval for verifying that the APE chain is saved in FrostFS.
Properties:
- Config: ape_chain_check_interval
- Env Var: RCLONE_FROSTFS_APE_CHAIN_CHECK_INTERVAL
- Type: Duration
- Default: 500ms
#### --frostfs-rpc-endpoint
Endpoint to connect to Neo rpc node
Properties:
- Config: rpc_endpoint
- Env Var: RCLONE_FROSTFS_RPC_ENDPOINT
- Type: string
- Required: false
#### --frostfs-wallet
Path to wallet
Properties:
- Config: wallet
- Env Var: RCLONE_FROSTFS_WALLET
- Type: string
- Required: true
#### --frostfs-address
Address of account
Properties:
- Config: address
- Env Var: RCLONE_FROSTFS_ADDRESS
- Type: string
- Required: false
#### --frostfs-password
Password to decrypt wallet
Properties:
- Config: password
- Env Var: RCLONE_FROSTFS_PASSWORD
- Type: string
- Required: false
#### --frostfs-placement-policy
Placement policy for new containers
Properties:
- Config: placement_policy
- Env Var: RCLONE_FROSTFS_PLACEMENT_POLICY
- Type: string
- Default: "REP 3"
- Examples:
- "REP 3"
- Container will have 3 replicas
#### --frostfs-container-creation-policy
Container creation policy for new containers
Properties:
- Config: container_creation_policy
- Env Var: RCLONE_FROSTFS_CONTAINER_CREATION_POLICY
- Type: string
- Default: "private"
- Examples:
- "public-read-write"
- Public container, anyone can read and write
- "public-read"
- Public container, owner can read and write, others can only read
- "private"
- Private container, only owner has access to it
### Advanced options
Here are the Advanced options specific to frostfs (Distributed, decentralized object storage FrostFS).
#### --frostfs-description
Description of the remote.
Properties:
- Config: description
- Env Var: RCLONE_FROSTFS_DESCRIPTION
- Type: string
- Required: false
{{< rem autogenerated options stop >}}

14092
rclone.1 generated

File diff suppressed because it is too large Load diff