FrostFS API Golang repository contains implementation of core FrostFS structures that can be used for integration with FrostFS.
 
 
 
Go to file
Leonard Lyubich 348f9498bd [#356] netmap: Implement the functionality of working with subnets
NeoFS storage node can participate in a subnet group (at least one).
According to NeoFS API V2 protocol, subnets are entered and exited through
the attributes of the node. We should provide functionality for conveniently
setting and reading attributes based on the needs of the network.

Define `NodeSubnetInfo` type which groups information about the subnet
reflected in `NodeInfo`. Implement `WriteSubnetInfo` function which writes
`SubnetInfo` data to `NodeInfo`. It will be used to prepare a request for
registration on the NeoFS network. Implement `IterateSubnets` function which
allows to iterate over all subnets of the node. Moreover, it allows you to
remove a subnet from the `NodeInfo` right during iterative traversal.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-11-24 17:13:18 +03:00
.github [#349] ci: Update linter 2021-10-07 11:00:37 +03:00
accounting Re-compile NeoFS API proto files using updated script 2021-11-17 15:29:33 +03:00
acl Re-compile NeoFS API proto files using updated script 2021-11-17 15:29:33 +03:00
audit Re-compile NeoFS API proto files using updated script 2021-11-17 15:29:33 +03:00
container Re-compile NeoFS API proto files using updated script 2021-11-17 15:29:33 +03:00
docs Update release instruction 2021-08-27 13:33:09 +03:00
netmap [#356] netmap: Implement the functionality of working with subnets 2021-11-24 17:13:18 +03:00
object Re-compile NeoFS API proto files using updated script 2021-11-17 15:29:33 +03:00
refs [#356] refs: Implement text encoding of `SubnetID` 2021-11-24 17:13:18 +03:00
reputation Re-compile NeoFS API proto files using updated script 2021-11-17 15:29:33 +03:00
rpc Add `v2` version to go module name 2021-11-17 15:29:33 +03:00
session Re-compile NeoFS API proto files using updated script 2021-11-17 15:29:33 +03:00
signature Add `v2` version to go module name 2021-11-17 15:29:33 +03:00
status [#355] *: regenerate proto files 2021-11-18 15:04:15 +03:00
storagegroup Re-compile NeoFS API proto files using updated script 2021-11-17 15:29:33 +03:00
subnet [#355] subnet: Implement types for the new messages 2021-11-18 17:40:33 +03:00
tombstone Re-compile NeoFS API proto files using updated script 2021-11-17 15:29:33 +03:00
util [#355] util/proto: Support fixed32 fields 2021-11-18 17:40:33 +03:00
.gitattributes Simplify Makefile 2020-09-18 11:25:32 +03:00
.gitignore Simplify Makefile 2020-09-18 11:25:32 +03:00
.golangci.yml [#349] ci: Update linter 2021-10-07 11:00:37 +03:00
CHANGELOG.md Release v1.30.0 - Udo (우도, 牛島) 2021-10-19 19:51:33 +03:00
CONTRIBUTING.md Minor typo fixes 2020-12-30 12:35:03 +03:00
CREDITS.md Release v1.26.0 - Daecheongdo (대청도, 大靑島) 2021-05-07 15:11:18 +03:00
LICENSE change license 2020-04-10 09:22:35 +03:00
Makefile Makefile: use `go install` instead of `go get` 2021-11-16 19:56:48 +03:00
README.md Release v1.30.0 - Udo (우도, 牛島) 2021-10-19 19:51:33 +03:00
go.mod Add `v2` version to go module name 2021-11-17 15:29:33 +03:00
go.sum Add `v2` version to go module name 2021-11-17 15:29:33 +03:00
prepare.sh Re-compile NeoFS API proto files using updated script 2021-11-17 15:29:33 +03:00

README.md

NeoFS

Golang SDK for NeoFS


Tests codecov Report GitHub release GitHub license

Overview

Go implementation of recent NeoFS API versions and SDK layer working with all of them in a handy way.

NeoFS-API compatibility

neofs-api-go version supported NeoFS-API versions
< v1.20.0 (unsupported) up to v1.2.0
v1.20.x v2.0.2
v1.21.x v2.1.0
v1.22.x v2.2.0
v1.23.x v2.3.0
v1.24.x v2.4.0
v1.25.x v2.5.0
v1.26.x v2.6.0
v1.27.x v2.7.0
v1.28.x v2.8.0
v1.29.x v2.9.1
v1.30.x v2.10.0

Contributing

Feel free to contribute to this project after reading the contributing guidelines.

Before starting to work on a certain topic, create a new issue first, describing the feature/topic you are going to implement.

License

This project is licensed under the Apache 2.0 License - see the LICENSE file for details