FrostFS API Golang repository contains implementation of core FrostFS structures that can be used for integration with FrostFS.
Find a file
Evgenii Stratonikov 1473fa588f
All checks were successful
Tests and linters / Tests (1.19) (pull_request) Successful in 48s
DCO action / DCO (pull_request) Successful in 44s
Tests and linters / Tests (1.20) (pull_request) Successful in 1m2s
Tests and linters / Tests with -race (pull_request) Successful in 1m9s
Tests and linters / Lint (pull_request) Successful in 1m29s
[#98] rpc: Accept interface in place of ClientConn
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.).

Refs TrueCloudLab/frostfs-node#1268

Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-08-01 08:50:24 +03:00
.forgejo/workflows [#63] .forgejo: Update dco-go to v3 2024-01-26 12:19:53 +03:00
.github [#14] Add Issue Template 2023-03-23 12:19:35 +03:00
accounting [#95] *: Regenerate proto files 2024-07-26 10:24:25 +03:00
acl [#95] *: Regenerate proto files 2024-07-26 10:24:25 +03:00
ape [#95] *: Regenerate proto files 2024-07-26 10:24:25 +03:00
apemanager [#95] *: Regenerate proto files 2024-07-26 10:24:25 +03:00
container [#95] *: Regenerate proto files 2024-07-26 10:24:25 +03:00
docs Move to frostfs-api 2022-12-12 17:40:48 +03:00
lock/grpc [#95] *: Regenerate proto files 2024-07-26 10:24:25 +03:00
netmap [#95] *: Regenerate proto files 2024-07-26 10:24:25 +03:00
object [#97] object: Refactor Patch related structs 2024-07-30 17:52:49 +03:00
refs [#95] *: Regenerate proto files 2024-07-26 10:24:25 +03:00
rpc [#98] rpc: Accept interface in place of ClientConn 2024-08-01 08:50:24 +03:00
session [#95] *: Regenerate proto files 2024-07-26 10:24:25 +03:00
signature [#97] signature: Add Patch messages to serviceMessageBody 2024-07-30 17:52:54 +03:00
status [#95] *: Regenerate proto files 2024-07-26 10:24:25 +03:00
tombstone [#95] *: Regenerate proto files 2024-07-26 10:24:25 +03:00
util [#94] object: Generate protobufs for Patch method 2024-07-29 08:55:14 +00: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 [#96] .golangci.yml: Fix deprecated config options 2024-07-29 15:45:01 +03:00
.pre-commit-config.yaml [#68] Makefile: Use gofumpt for formatting 2024-03-14 10:31:58 +03:00
CHANGELOG.md Release v2.16.0 2023-09-14 13:20:13 +03:00
CONTRIBUTING.md Rebranding 2022-12-09 13:41:35 +03:00
CREDITS.md Rebranding 2022-12-09 13:41:35 +03:00
go.mod [#67] go.mod: Bump protobuf version 2024-03-06 13:18:14 +03:00
go.sum [#67] go.mod: Bump protobuf version 2024-03-06 13:18:14 +03:00
LICENSE change license 2020-04-10 09:22:35 +03:00
Makefile [#68] Makefile: Use gofumpt for formatting 2024-03-14 10:31:58 +03:00
prepare.sh Rebranding 2022-12-09 13:41:35 +03:00
README.md Change logo 2023-01-08 00:00:59 +03:00

FrostFS

Low-level Golang API for FrostFS


Tests codecov Report GitHub release GitHub license

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