FrostFS API Golang repository contains implementation of core FrostFS structures that can be used for integration with FrostFS.
Evgenii Stratonikov
e092ce4cf8
All checks were successful
DCO action / DCO (pull_request) Successful in 1m35s
Tests and linters / Tests (1.19) (pull_request) Successful in 1m38s
Tests and linters / Tests (1.20) (pull_request) Successful in 1m48s
Tests and linters / Tests with -race (pull_request) Successful in 1m52s
Tests and linters / Lint (pull_request) Successful in 2m14s
gRPC client load-balancing API is ugly as f: 1. It is configured by pre-registering a balancer and the providing JSON configuration. 2. It doesn't allow different credentials for different endpoints (consider using "insecure" localhost and external endpoint). 3. To support frostfs usecase we also need to implement a resolver, which has its own difficulties. 4. https://github.com/grpc/grpc-go/issues/239#issuecomment-264548415 Using interface in place of grpc.ClientConn allows us to provide custom implentation for it (load-balancing, circuit breaker etc.). Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com> |
||
---|---|---|
.forgejo/workflows | ||
.github | ||
accounting | ||
acl | ||
ape | ||
apemanager | ||
container | ||
docs | ||
lock/grpc | ||
netmap | ||
object | ||
refs | ||
rpc | ||
session | ||
signature | ||
status | ||
tombstone | ||
util | ||
.gitattributes | ||
.gitignore | ||
.golangci.yml | ||
.pre-commit-config.yaml | ||
CHANGELOG.md | ||
CONTRIBUTING.md | ||
CREDITS.md | ||
go.mod | ||
go.sum | ||
LICENSE | ||
Makefile | ||
prepare.sh | ||
README.md |
Low-level Golang API for FrostFS
Overview
Go implementation of recent FrostFS API versions. For a more high-level SDK see FrostFS SDK.
Frostfs-Api compatibility
frostfs-api-go version | supported frostfs-api versions |
---|---|
v2.14.x | v2.14.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