Commit graph

57 commits

Author SHA1 Message Date
5fd4059061 [#14] Rename __FROSTFS__ to __SYSTEM__
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-03-14 10:24:35 +03:00
3adb55c38a [#12] Add __FROSTFS__ system prefix
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-03-07 15:40:40 +03:00
eafcbff11f Rename go package names
Due to source code relocation from GitHub.

Signed-off-by: Alex Vanin <a.vanin@yadro.com>
2023-03-07 11:50:02 +03:00
7431075ca1 Rename go package names
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2022-12-11 12:18:48 +03:00
Pavel Karpy
22a7d8be6c [#230] status: Add EACL_NOT_FOUND status
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2022-08-01 09:31:52 +03:00
Pavel Karpy
64ab86a1ff [#217] container: Add homomorphic hashing well-known attribute
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2022-05-30 15:40:50 +03:00
Elizaveta Chichindaeva
f233a2fd67 [#216] English Check
Signed-off-by: Elizaveta Chichindaeva <elizaveta@nspcc.ru>
2022-05-12 15:06:51 +03:00
Leonard Lyubich
b28ce35524 [#203] refs: Change support for different signature schemes
Remove `UNSPECIFIED` value from `SignatureScheme` enum. Make
`ECDSA_SHA512` to be default signature scheme (zero value).

Define `SignatureRFC6979` type for RFC-6979 signatures. Use it in
`Container` service.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-03-02 16:46:58 +03:00
Evgenii Stratonikov
478c388df9 [#55] container: add a comment about signature restrictions
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-02-22 12:00:58 +03:00
Leonard Lyubich
2743e4ba11 [#194] Generate docs with recent protocol changes
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-02-22 11:58:44 +03:00
Leonard Lyubich
0caf501b4a [#194] Document status returns of Object and Container service RPCs
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-02-22 11:58:44 +03:00
Leonard Lyubich
7ea5a1d2f1 [#150] *: Write status-related docs
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-11-16 09:46:14 +03:00
Alex Vanin
8bf84cdc65 [#177] container: Define well-known container attributes for NNS integration
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-10-14 09:54:57 +03:00
Leonard Lyubich
81d6c73147 [#157] container: Add session token to GetResponse body
Container can be created within a session. The presence of a session token
in the GET response body allows you to reflect this fact.

Add `session_token` field of `session.SessionToken` type to
`container.GetResponse.Body` message.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-06-03 11:36:17 +03:00
Leonard Lyubich
4b3794cbb9 [#157] container: Add session token to GetExtendedACLResponse body
Extended ACL can be set within a session. The presence of a session token in
the GET response body allows you to reflect this fact.

Add `session_token` field of `session.SessionToken` type to
`container.GetExtendedACLResponse.Body` message.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-06-03 11:36:17 +03:00
ZhangTao
69f09c8030
change csharp namespace (#140)
* change csharp namespace

Signed-off-by: ZhangTao1596 <zhangtao@ngd.neo.org>

* use Neo.FileStorage.API as base namespace

Signed-off-by: ZhangTao1596 <zhangtao@ngd.neo.org>
2021-03-10 13:54:06 +03:00
Alex Vanin
c51f4cd314 [#122] container: Add epoch field to size announcement
Nodes aggregate size estimation based on container id
and epoch number. Estimations are not valid forever.

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-02-11 14:53:59 +03:00
Alex Vanin
3a129a2557 [#122] container: Add AnnounceUsedSpace method
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-02-11 14:53:59 +03:00
Stanislav Bogatyrev
a8c1779690 [#81] Clarify that attribute names must be unique
All types of attribute keys must be unique and can't be repeated in the same
entity.

- Containers with duplicated attribute keys must not be accepted by InnerRing on
  creation.
- Nodes with duplicated attribute keys can't be accepted to NetMap by InnerRing
- Objects with duplicated attribute keys must be considered invalid and not
  accepted in PUT operations

Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-12-11 10:19:46 +03:00
Stanislav Bogatyrev
b930782fd3 [#84] Clarify various types encoding formats
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-12-09 16:55:02 +03:00
Stanislav Bogatyrev
063ec430d1 [#86] Clarify that Attributes can't have empty values
In case there is a need to set flag-like attributes, the value should be set to
something like `true` or `1`.

Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-12-09 16:51:21 +03:00
Stanislav Bogatyrev
31e1801c4a Add more well-known attributes
Resolves nspcc-dev/neofs-api-go#172

Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-10-21 19:37:50 +03:00
Stanislav Bogatyrev
d0d74c3a2f [#73] Add JSON field names to container package
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-10-19 14:49:14 +03:00
Stanislav Bogatyrev
f51ee1ba9d Update container package docs
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-10-16 12:37:19 +03:00
Stanislav Bogatyrev
cad80a2c86 Add well-known attributes for containers
Adding the list of currently well-known container attributes. More to come
later.

Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-10-16 12:37:19 +03:00
Stanislav Bogatyrev
fc170f56bf [#57] Merge service and session packages
Merging session and service packages to increase clarity and reduce
cross-dependencies.

Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-08-20 10:33:49 +03:00
Stanislav Bogatyrev
7d72061fb3 Move BearerToken type to acl package
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-08-18 18:31:36 +03:00
Stanislav Bogatyrev
54778a86ed Move Version to refs
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-08-18 18:31:36 +03:00
Stanislav Bogatyrev
13a80df882 Use common signature type
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-08-18 15:04:15 +03:00
Stanislav Bogatyrev
a78b8a1ea5 Move all service types to types.proto
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-08-18 15:04:15 +03:00
Stanislav Bogatyrev
4e908a17b1 [#50] Add version fields where it makes sense
Some pieces of data (container, object, etc) may be stored for a long time and
there will be a need in the future to understand which obscure format from the
past was used to create it.

Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-08-17 12:12:30 +03:00
Stanislav Bogatyrev
e63a482529 [#48] Add grpc suffix to go_package option
To simplify adding more transport level protocols to neofs-api-go in future, we
need to separate currently default gRPC.

Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-08-17 12:11:38 +03:00
Stanislav Bogatyrev
42e35fefff [#45] Fix linter errors
- Changed package names adding version
- Added documentation descriptions (sometimes useless) for all fields
- Changed enum format
- Made SessionToken and BearerToken field names more clear

Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-08-13 22:57:00 +03:00
Stanislav Bogatyrev
818ec7f0dc [#38] Change ObjectID format from UUID to Hash
NeoFS Object are now Content-addressed. It means the Object's address depends on
it's content. ObjectID is now calculated as hash of Header, which contains a
hash of payload. If either if Object's payload of Headers change, the ID will
also change.

Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-08-11 16:30:39 +03:00
Alex Vanin
7447bdceee [#37] Add body message to container requests
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-08-11 12:37:06 +03:00
Stanislav Bogatyrev
327c476ecf [#41] Reindent according to Google Style Guide
Just a minor change to follow 2-space indent declared in Google Style Guide

Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-08-11 12:08:37 +03:00
Stanislav Bogatyrev
e75ef53793 [#32] Rename fields according to Protobuf Style Guide
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-08-07 14:36:15 +03:00
Leonard Lyubich
12dd5e07ba container: Tidy up the format
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-08-06 23:45:50 +03:00
Leonard Lyubich
f9c865eb53 [#34] container: Import PlacementRule from netmap
Replaces import of PlacementRule message from netmap repository with a message
from the internal netmap package.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-08-06 23:45:33 +03:00
Leonard Lyubich
0046e8fb14 [#32] container: Remove gogoproto from typedef
There is a need to remove gogoproto usage from NeoFS API since this plugin
is not cross-language. This commit removes usage from container package.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-08-06 23:34:03 +03:00
Leonard Lyubich
40420f3ab0 [#31] refs: Use OwnerID message in all services
Change the type of all fields for identifier of the container owner to
refs.OwnerID. This will allow you to follow a single format and not duplicate
its description.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-08-06 22:00:01 +03:00
Leonard Lyubich
fccd753a5d [#31] refs: Use ContainerID message in all services
Change the type of all fields for the container identifier to refs.ContainerID.
This will allow to follow a single format and not duplicate its description.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-08-06 22:00:01 +03:00
Alex Vanin
62cc321c3e [#23] Update comments for autogenerated docs
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-08-03 18:03:34 +03:00
Alex Vanin
5928fa9bea [#23] Use rich field names instead of abbreviations
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-08-03 18:03:34 +03:00
Alex Vanin
21f51c8c8b [#23] Reorganize container message fields
Capacity field is obsolete and removed. Salt field renamed to
Nonce so it shows better the purpose of the field.

Remaining fields are reorded to have fixed size fields on top.
It affects stable-marshaller implementation.

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-08-03 18:03:34 +03:00
Alex Vanin
ebf96fea9e [#23] Remove meta and verify headers from requests
Neofs-node doesn't use these headers in any way. They are
obsolete since container API provides proxy between client
and morph chain.

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-08-03 18:03:34 +03:00
Alex Vanin
cd6db41fe3 [#22] Add signature field to container delete request
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-08-03 18:03:34 +03:00
Alex Vanin
72618c4e49 [#22] Update fields in container put request
With explicit signature field, that contains signature of
stable-marshalled container message, there is no need to have
separate fields of the container in request.

Public key will be stored in neofs.id smart-contract for later
signature verifications.

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-08-03 18:03:34 +03:00
Alex Vanin
9510aaee5d [#21] Return signature in GetEACL response
With EACLTable signature client can verify if EACLTable is
not corrupted by malicious node.

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-08-03 18:03:34 +03:00
Alex Vanin
944cf1ff47 [#21] Use EACLTable in EACL related requests
With EACLTable in requests and container id in EACLTable there
is no need in extra messages such as ExtendedACLKey and
ExtendedACLValue.

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-08-03 18:03:34 +03:00