After all the refactoring, there is no more need to have custom branch
for the local client.
Change-Id: I274305b0c390578fb4583759135d3e7ce58873dc
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
If request has no tag, but request's public key is netmap node's key or
one of allowed internal tag keys from config, then request must use
internal IO tag.
Change-Id: Iff93b626941a81b088d8999b3f2947f9501dcdf8
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
* Move some helpers from `acl/v2` package to `ape`. Also move errors;
* Introduce `Metadata`, `RequestInfo` types;
* Introduce `RequestInfoExtractor` interface and its implementation.
The extractor's purpose is to extract request info based on request
metadata. It also validates session token;
* Refactor ape service - each handler forms request info and pass
necessary fields to checker.
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
They are invalid and unsupported.
There is neither mainnet nor testnet currently.
Change-Id: I520363e2de0c22a584238accc253248be3eefea5
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
It is unused and unsupported for a long time.
Change-Id: I570567db4e8cb202e41286064406ad85cd0e7a39
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
The limiter allows zeros for limits, meaning "this operation is
disabled". However, the config didn't allow zero due to the lack of
distinction between "no value" and "zero" - cast functions read both
`nil` and zero as zero.
Now, the config allows a zero limit. Added tests.
Managing such cases should be easier after #1610.
Change-Id: Ifc840732390b2feb975f230573b34bf479406e05
Signed-off-by: Aleksey Savchuk <a.savchuk@yadro.com>
`include-names` for `list-subjects` returns error `invalid response subject struct`
because `ListSubjects` returns only subject addresses (see frostfs-contract).
Replace `include-names` with `extended` as now all subject info printed.
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
gopatcH:
```
@@
var d, a expression
@@
-if d < a {
- d = a
-}
-return d
+return max(d, a)
@@
var d, a expression
@@
-if d <= a {
- d = a
-}
-return d
+return max(d, a)
```
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
Added `frostfs-cli object locate` subcommand. It lists info
about shards storing an object.
Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
By default, gRPC fetches TXT report while resolving a domain.
0914bba6c5/internal/resolver/dns/dns_resolver.go (L336)
This leads to a hanging dial if DNS is unavailable, even though the host
may be specified in `/etc/hosts` (hello, localhost!).
SDK client for the main API uses these options by default.
Refs TrueCloudLab/frostfs-sdk-go#342
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
`multiaddr` is not something an average user knows. Personally, I have
never used it in CLI. On the other hand, we need to connect with TLS quite often,
so it needs to be mentioned in help.
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
`newConfig` is actually target config to set config values from source
(which is called `oldConfig`).
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
- Move all initialization logic to one place
- Initialize the limiter after all RPC services are registered to be able
to validate that configured limits match the methods registered earlier
Signed-off-by: Aleksey Savchuk <a.savchuk@yadro.com>
- Allow configuration of active RPC limits for method groups
- Apply RPC limiting for all services except the control service
Signed-off-by: Aleksey Savchuk <a.savchuk@yadro.com>