NeoFS was designed to provide features of distributed computing and storage to real-world applications. To achieve that, we develop gateways. HTTP-gate is the first gateway we have implemented. You use it every time you download a file from the Send.NeoFS service.
Our next big step — to support popular production-ready protocol which will allow connecting many existing applications with NeoFS. In a new neofs-local update, we present the first build of S3 protocol gateway.
Amazon S3 is one of the biggest cloud storage services. It provides protocol which is heavily adopted by applications, from WordPress plugins to automated backup systems, such as restic.
Our S3 protocol gate is based on Minio. Minio implements S3 protocol for different backend storage systems. We have implemented the first version of NeoFS backend in Minio.
To start the s3 gateway, run make local_minio command.
The gateway runs on localhost:9001 address. Minio returns WebUI for browsers on this address.
To authorize users, S3 asks for AccessKey and SecretKey. For now, AccessKey is a Wallet Address and Secret Key is a WIF. It is used to sign your request when you upload objects into NeoFS. Default user has the following credentials in neofs-local :
AccessKey = AK2nJJpJr6o664CWJKi1QRXjqeic2zRp8y
SecretKey = KxDgvEKzgSBPPfuVfw67oPQBSjidEiqTHURKSDL1R7yGaGYAeYnr
You can upload files with DropIn service and access them from S3 gateway.
Since S3 and NeoFS are working with different backend primitives, some S3 features are not available yet. We do not support S3-bucket operations except listing. S3-bucket is mapped to neofs-container. Users have to set up storage policies for neofs-containers that are not compatible with S3-buckets. S3-bucket management has to be done via neofs-cli.
Try it on your machine and set up your application to store the data in NeoFS. Your feedback is highly appreciated: info@nspcc.ru.