5fece80b42
[ #108 ] protogen: Distinguish between empty and nil messages
...
Refs #59
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-08-27 11:02:18 +03:00
11e194d274
[ #108 ] rpc/message: Add compatibility tests for marshaling
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-08-27 11:02:18 +03:00
9e82a5a31a
[ #107 ] Regenerate proto files
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-08-26 14:36:19 +03:00
981dc785f3
[ #107 ] proto/test: Add oneof test
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-08-26 14:36:19 +03:00
866db105ed
[ #107 ] protogen: Unify oneof getters with default protoc plugin
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-08-26 14:36:19 +03:00
937a53683a
[ #107 ] protogen: Fix oneof JSON marshaling
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-08-26 14:36:19 +03:00
4a00ef946f
[ #107 ] protogen: Fix oneof getter scalar default value
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-08-26 14:36:19 +03:00
f484ce6b0b
[ #107 ] Makefile: Generate standard protobuf bindings for tests
...
It was removed accidentally during transition.
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-08-26 14:36:19 +03:00
61f6f0f4a2
[ #107 ] proto/test: Regenerate *.pb.go
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-08-26 14:36:19 +03:00
c1b5f46f98
[ #107 ] protogen: Remove unused parameter
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-08-26 14:36:19 +03:00
33653962b7
[ #1316 ] go.mod: Bump go version to 1.22
...
Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
2024-08-21 17:22:56 +03:00
a43110e363
[ #77 ] Makefile: Mark protogen as .PHONY
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-08-19 10:47:00 +03:00
7be31eb847
[ #77 ] protogen: Add tests for JSON format
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-08-19 10:47:00 +03:00
adb7c602d7
[ #77 ] protogen: Initial implementation
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-08-19 10:47:00 +03:00
a28ceb251a
[ #77 ] util/proto: Optimize int32 marshaling
...
This is the approach used in easyproto
52d3ac4744/writer.go (L203)
It allows to occupy slightly less space for negative numbers.
The format is still protobuf, although, technically, this is a breaking
change for our stable marshaling format.
However, we don't use int32 at all and all enums have positive values,
so nothing is broken.
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-08-16 17:11:13 +03:00
d112a28d38
[ #104 ] object: Add getters for PatchRequestBodyPatch
...
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2024-08-13 18:51:51 +03:00
47a48969b0
[ #103 ] proto: Test end-to-end scenario
...
Test the generated code, do not write yet another marshaling routine in
tests.
Before:
```
ok git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/util/proto 0.003s coverage: 55.6% of statements
```
After:
```
ok git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/util/proto 0.003s coverage: 80.0% of statements
```
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-08-09 11:18:17 +03:00
19247e8941
[ #103 ] protogen: Handle uint32 type
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-08-09 11:18:17 +03:00
ff4f31b6f3
[ #103 ] protogen: Handle files in all packages
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-08-09 11:18:17 +03:00
a0a9b765f3
[ #101 ] Fix make test
...
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2024-08-09 09:35:25 +03:00
280d052cef
[ #101 ] Remove usage of folder vendor
...
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2024-08-08 17:38:49 +03:00
35e7397d48
[ #87 ] netmap: Extend enum Operation
...
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2024-08-07 16:21:50 +03:00
174773454e
[ #87 ] netmap: Regenerate to add LIKE
operation for filter
...
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2024-08-06 17:20:29 +03:00
b72aa14bab
[ #87 ] proto: Process files with protoc
version 27.2
...
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2024-08-06 17:20:29 +03:00
42e50c9633
[ #87 ] Makefile: Add target protoc-install
...
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2024-08-06 17:20:21 +03:00
611355510c
[ #87 ] go.mod: Update google.golang.org/grpc
to v1.63.2
...
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2024-08-06 16:57:57 +03:00
ebaf78c8fa
[ #100 ] session: Introduce ObjectPatch
verb
...
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2024-08-06 12:31:11 +03:00
1473fa588f
[ #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
c27b978770
[ #97 ] signature: Add Patch messages to serviceMessageBody
...
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2024-07-30 17:52:54 +03:00
8609f29a60
[ #97 ] object: Refactor Patch related structs
...
* Add getters and setters for related types;
* Fix unit-tests.
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2024-07-30 17:52:49 +03:00
8ce8cd6ec2
[ #96 ] .golangci.yml: Fix deprecated config options
...
```
WARN [config_reader] The configuration option `run.skip-files` is deprecated, please use `issues.exclude-files`.
WARN [config_reader] The configuration option `output.format` is deprecated, please use `output.formats`
```
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-07-29 15:45:01 +03:00
8580b49c8d
[ #94 ] rpc: Introduce ObjectService.Patch
method
...
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2024-07-29 08:55:14 +00:00
9b90d139c5
[ #94 ] object: Generate protobufs for Patch
method
...
* Generate protobufs for patch method;
* Create marshalers, unmarshalers, converters for gererated types;
* Add unit-tests.
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2024-07-29 08:55:14 +00:00
3dfa2f4fd6
[ #95 ] *: Regenerate proto files
...
Remove SetExtendedEACL and AnnounceUsedSpace methods from the container
package.
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-07-26 10:24:25 +03:00
f517e39491
[ #91 ] protogen: Support unpacked repeated uint64 fields
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-07-16 14:39:20 +03:00
3639563d80
[ #90 ] apemanager: Run gofumpt
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-07-15 16:40:21 +03:00
610c450a65
[ #90 ] proto/test: Fix go vet warnings
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-07-15 16:40:21 +03:00
3f92d7bfb0
[ #90 ] proto/test: Fix proto file formatting
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-07-15 16:40:21 +03:00
dafc9e5476
[ #86 ] status: Regenerate common status
...
* INVALID_ARGUMENT is a new common status constant.
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2024-06-24 11:55:48 +03:00
2f6d3209e1
[ #84 ] object: Regenerate EC-header type
...
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2024-05-30 15:28:26 +00:00
9e825239ac
[ #85 ] acl: Regenerate protobufs for Bearer token
...
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2024-05-29 19:45:44 +03:00
9789b79b1d
[ #85 ] apemanager: Generate protobufs for ape
package
...
* Regenerate protobufs as APE specific type are defined
as separate package;
* Move `ape` package related utils methods from `apemanager`.
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2024-05-29 14:15:49 +03:00
0803bc6ded
[ #83 ] object: Regenerate protobufs for ECHeader
...
* Fix marshalers and converters;
* Fix unit-tests.
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2024-05-16 16:31:03 +03:00
4fe42ac4ad
[ #82 ] object: Add FilterHeaderECParent
filter for v2
...
* `FilterHeaderECParent` is used by `Object.Search`
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2024-05-13 17:03:55 +03:00
063ce11c24
[ #82 ] object: Erase field Signature
from ECHeader
v2 type
...
* The field `Signature` is not used and should be factored out.
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2024-05-08 15:09:16 +03:00
bc7b49eed2
[ #82 ] object: Introduce new fields for EC header
...
* Regenerate protobufs as frostfs-api introduced `parent_split_id` and
`parent_split_index` fields.
* Fix marshaller and converter for EC header.
* Extend v2 type `ECHeader` with `ParentSplitID` and `ParentSplitIndex` fields.
* Fix message_test for `Object`. Also generate EC headers and check it.
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2024-05-08 15:09:12 +03:00
b171364079
[ #81 ] rpc: Fix apemanager rpc service name
...
* Introduce `frostfsServiceNamePrefix` for rpc interface
since `apemanager` uses `frostfs` root instead `neo.fs`.
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2024-05-06 14:46:54 +03:00
0fe6b9adbb
[ #76 ] Make setter names more consistent
...
This will make the transition to a new codegen more seamless.
1. Setter should be named as the field itself.
2. Setter should accept 1 parameter.
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-05-03 08:52:04 +03:00
fa8f92d662
[ #75 ] audit: Remove deprecated service
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-05-02 11:54:35 +00:00
387b850e5e
[ #74 ] apemanager: Generate protobufs for apemanager service
...
* Generate protobufs.
* Make marshallers, unmarshallers, json-encoders etc.
* Create message encoding/decoding unit-tests.
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2024-05-02 11:53:26 +00:00