FrostFS API Golang repository contains implementation of core FrostFS structures that can be used for integration with FrostFS.
Find a file
Evgenii Stratonikov 4a330a5706
All checks were successful
DCO action / DCO (pull_request) Successful in 1m1s
Tests and linters / Tests (1.19) (pull_request) Successful in 1m24s
Tests and linters / Tests (1.20) (pull_request) Successful in 1m32s
Tests and linters / Lint (pull_request) Successful in 1m43s
Tests and linters / Tests with -race (pull_request) Successful in 2m1s
[#72] session: Unify unmarshaling code
gopatch:
```
@@
var err, msg, data, t, protojson identifier
var obj expression
@@
+import "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/rpc/message"
-import protojson "google.golang.org/protobuf/encoding/protojson"

-msg := obj
-if err := protojson.Unmarshal(data, msg); err != nil {
-return err
-}
-return t.FromGRPCMessage(msg)
+return message.UnmarshalJSON(t, data, obj)

@@
var err, msg, data, t, goproto identifier
var obj expression
@@
+import "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/rpc/message"
-import goproto "google.golang.org/protobuf/proto"

-msg := obj
-if err := goproto.Unmarshal(data, msg); err != nil {
-return err
-}
-return t.FromGRPCMessage(msg)
+return message.Unmarshal(t, data, obj)
```

Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-04-20 14:19:19 +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 [#69] object: Initial EC implementation 2024-03-19 15:23:01 +03:00
acl [#69] object: Initial EC implementation 2024-03-19 15:23:01 +03:00
audit [#69] object: Initial EC implementation 2024-03-19 15:23:01 +03:00
container [#71] container: Introduce CONTAINER_ACCESS_DENIED status 2024-03-26 18:55:05 +03:00
docs Move to frostfs-api 2022-12-12 17:40:48 +03:00
lock/grpc [#69] object: Initial EC implementation 2024-03-19 15:23:01 +03:00
netmap [#70] netmap: Regenerate protobuf for Replica 2024-03-27 12:56:03 +03:00
object [#71] container: Introduce CONTAINER_ACCESS_DENIED status 2024-03-26 18:55:05 +03:00
refs [#69] object: Initial EC implementation 2024-03-19 15:23:01 +03:00
rpc [#49] message/test: Add test for zero-alloc StableSize() 2023-07-26 18:32:17 +03:00
session [#72] session: Unify unmarshaling code 2024-04-20 14:19:19 +03:00
signature [#45] api-go: Add PutSingle response wrappers 2023-07-04 12:27:42 +03:00
status [#71] container: Introduce CONTAINER_ACCESS_DENIED status 2024-03-26 18:55:05 +03:00
tombstone [#69] object: Initial EC implementation 2024-03-19 15:23:01 +03:00
util [#69] object: Initial EC implementation 2024-03-19 15:23:01 +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 [#27] .golanci.yml: Unify with other repos 2023-05-03 14:15:56 +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