Evgenii Stratonikov
e4bc9c7fad
[ #749 ] neofs-adm: save group public key in NNS
...
Query `group.neofs` instead of retrieving individual manifest.
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-02-04 11:49:55 +03:00
Evgenii Stratonikov
def1bbc84c
[ #749 ] neofs-adm: create wallet for signing contract group
...
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-02-04 11:49:55 +03:00
Evgenii Stratonikov
b416285eb0
[ #749 ] neofs-adm: include neofs contracts in a group
...
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-02-04 11:49:55 +03:00
Evgenii Stratonikov
674f520da7
[ #1132 ] *: Use path/filepath
package when working with files
...
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-02-03 10:12:07 +03:00
Evgenii Stratonikov
476528361e
[ #1023 ] *: fix linter errors
...
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-01-31 13:01:58 +03:00
Pavel Karpy
6f338c660c
[ #1038 ] adm: Do not cut data
args in NNS
...
This reverts commit 185a2827cc
.
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2022-01-27 12:08:36 +03:00
Pavel Karpy
fee2f5a330
[ #1100 ] *: Adopt new SDK's owner.ID
API
...
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2022-01-21 17:58:30 +03:00
Evgenii Stratonikov
5828f43e52
[ #851 ] util/rand: use single random source
...
It is much more convenient to skip source creation.
Also fix some bugs:
1. `cryptoSource.Int63()` now returns number in [0, 1<<63) as required
by `rand.Source` interface.
2. Replace `cryptoSource.Uint63()` with `cryptoSource.Uint64` to allow
generate uint64 numbers directly (see rand.Source64 docs).
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-01-12 19:29:27 +03:00
Evgenii Stratonikov
efabffbfd0
[ #1041 ] cmd/*: factor out autocomplet command generation
...
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-01-12 18:33:48 +03:00
Evgenii Stratonikov
56b8793520
[ #1056 ] neofs-adm: deploy proxy contract without arguments
...
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-12-30 13:54:07 +03:00
Evgenii Stratonikov
185a2827cc
Revert "[ #1038 ] adm: Do not cut data
args in NNS
"
...
This reverts commit acb4a9e5b4
.
2021-12-30 10:20:54 +03:00
Evgenii Stratonikov
549546dea1
[ #1035 ] neofs-adm: reuse NEF and manifest during alphabet contract update
...
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-12-30 10:20:54 +03:00
Evgenii Stratonikov
4673c81451
[ #1035 ] neofs-adm: update contracts in a single transaction
...
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-12-30 10:20:54 +03:00
Pavel Karpy
acb4a9e5b4
[ #1038 ] adm: Do not cut data
args in NNS
...
The updated version of the `NNS` contract now supports the third `data`
argument that may provide additional information.
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-12-20 14:43:29 +03:00
Pavel Karpy
11466ea3cc
[ #1031 ] adm: Use 10
as maxConnPerHost
in neo-go
client
...
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-12-16 18:55:53 +03:00
Alex Vanin
2a031c5542
[ #1013 ] Support autocomplete in neofs-adm
...
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-12-14 17:34:10 +03:00
Pavel Karpy
cb246dfab7
[ #1015 ] docs: Add subnetwork managing HOWTO
...
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-12-09 09:47:50 +03:00
Pavel Karpy
14f49df658
[ #1015 ] docs: Add subnetwork creation HOWTO
...
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-12-09 09:47:50 +03:00
Alex Vanin
d89ffbfbdf
[ #1020 ] neofs-adm: Make key flag non global in subnet
...
Key flag should not be global because `subnet get` command
does not require any credentials.
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-12-08 18:49:41 +03:00
Alex Vanin
3bb67075f4
[ #1020 ] neofs-adm: Do not ask key in morph subnet get
command
...
There is no need to provide credential to fetch public data from
side chain.
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-12-08 18:49:41 +03:00
Pavel Karpy
15ff98c229
[ #1024 ] adm: Change private key to wallet in subnet flags
...
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-12-08 15:57:22 +03:00
Pavel Karpy
b4c36a109d
[ #1019 ] adm: Fetch subnet
SH from NNS
...
Also, delete `-a` (`--contract`) flag.
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-12-08 13:33:36 +03:00
Alex Vanin
c383fc6929
[ #1014 ] neofs-adm: Print NNS contract version
...
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-12-07 18:55:44 +03:00
Evgenii Stratonikov
a5e952cc72
[ #1006 ] neofs-adm: skip missing entries in dump-hashes
...
We have `subnet` contract in list, but it isn't currently deployed.
This commit skips missing NNS entries to handle such situation. In
future we may optimize this to be done in 1 round-trip.
As a nice side-effect, dump-hashes for notary-enabled environment works
even if notary is disabled -- it just prints zero hash for proxy
contract.
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-12-03 13:24:17 +03:00
Evgenii Stratonikov
ca894fee23
[ #749 ] neofs-adm: make alphabet size check more robust
...
We can now store wallet for signing manifest groups in the same dir.
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-12-02 17:24:16 +03:00
Evgenii Stratonikov
40b51b3586
[ #995 ] neofs-adm: implement deposit-notary
command
...
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-12-02 17:24:16 +03:00
Evgenii Stratonikov
fba8890224
[ #995 ] neofs-adm: split out tx context
...
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-12-02 17:24:16 +03:00
Leonard Lyubich
1b698867a7
[ #979 ] adm/subnet: Fix typos
...
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-12-01 17:31:04 +03:00
Leonard Lyubich
dd2998d724
[ #979 ] adm/subnet: Rename id
flag to node
in node
cmd
...
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-12-01 17:31:04 +03:00
Leonard Lyubich
5f915dfb43
[ #979 ] adm/subnet: Rename id
flag to admin
in admin
cmd
...
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-12-01 17:31:04 +03:00
Leonard Lyubich
cc8a0037e0
[ #979 ] adm/subnet: Fix print out of subnet info in get
cmd
...
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-12-01 17:31:04 +03:00
Leonard Lyubich
3fcd7bc948
[ #979 ] adm/subnet: Always set group ID parameter in client cmds
...
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-12-01 17:31:04 +03:00
Leonard Lyubich
4d79195ede
[ #979 ] adm/subnet: Fix notary issues
...
Only `subnet create` command can generate notary requests.
Remove global `non-notary` flag. Add `notary` flag to `create` cmd.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-12-01 17:31:04 +03:00
Leonard Lyubich
98e0792b08
[ #979 ] adm/subnet: Add commands to add/remove nodes
...
Implement `ManageNodes` operation on morph subnet client.
Add `node add` and `node remove` commands to `subnet` section.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-12-01 17:31:04 +03:00
Leonard Lyubich
579c3717a5
[ #979 ] adm/subnet: Inherit pre-run functions in child commands
...
Cobra commands don't call `PreRun` functions on parent by default. We
need to do it in `subnet` command of admin utility in order to inherit
viper bindings.
Add `inheritPreRun` function which makes sub-commands to call `PreRun`
functions before its own `PreRun`.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-12-01 17:31:04 +03:00
Leonard Lyubich
6facc26cb9
[ #979 ] adm/subnet: Fix handling of non-notary flag in initClient
...
`initSubnetClient` must call `EnableNotarySupport` only if non-notary
flag is not set.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-12-01 17:31:04 +03:00
Leonard Lyubich
4b8ca75274
[ #979 ] adm: Fix problems after testing
...
Use persistent flags on parent command in order to inherit flags in
sub-commands. Turn on notary mode of morph client in `subnet` command of
admin utility for notary environments.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-12-01 17:31:04 +03:00
Leonard Lyubich
9622c9c858
[ #979 ] adm: Register NNS domain of the deployed contracts
...
Make `deployContracts` method to call `nnsRegisterDomain` in order to
register NNS domain for deployed contracts.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-12-01 17:31:04 +03:00
Leonard Lyubich
2f2ca2e0bd
[ #979 ] adm: Deploy missing contracts during updating
...
Make `nnsResolveHash` function to return declared error on `token not
found` fault exception. Catch this error in `deployContracts` method,
and switch to deployment if updating contract is missing.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-12-01 17:31:04 +03:00
Leonard Lyubich
e8f8e58e90
[ #979 ] adm: Add subnet-related commands
...
Add `subnet` command which contains all subnet-related commands. Add
sub-commands:
* `create` for creation;
* `remove` for removal;
* `get` for reading;
* `admin` for admin management;
* `client` for client management.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-12-01 17:31:04 +03:00
Leonard Lyubich
70f17dc778
[ #979 ] adm: Deploy and update Subnet contract
...
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-12-01 17:31:04 +03:00
Evgenii Stratonikov
98f288c946
[ #984 ] neofs-adm: fix contract hash check in NNS
...
Don't update if the hash is already there.
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-11-29 11:19:36 +03:00
Evgenii Stratonikov
7765ab3f02
[ #984 ] neofs-adm: replace addRoot
with register
for NNS
...
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-11-29 11:19:36 +03:00
Evgenii Stratonikov
63a8b530f6
[ #984 ] neofs-adm: compare NEF.Checksum to check if contract was updated
...
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-11-29 11:19:36 +03:00
Evgenii Stratonikov
95893927aa
*: replace neofs-api-go with neofs-sdk-go
...
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-11-12 17:29:09 +03:00
Evgenii Stratonikov
088c894f44
[ #733 ] neofs-adm: read contracts on start
...
Fail early and reduce disk operations when reading from archive.
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-11-01 15:17:18 +03:00
Evgenii Stratonikov
0b6350d463
[ #733 ] neofs-adm: fetch contracts release from Github
...
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-11-01 15:17:18 +03:00
Evgenii Stratonikov
c1e1b65ad9
[ #733 ] neofs-adm: allow to read contract from tar archive
...
Assume contracts path is tar.gz archive if it is not a directory.
In theory we could support raw tar but it has little value as our
distribution format is tar.gz and this is the primary use-case for this
feature (download and use).
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-11-01 15:17:18 +03:00
Evgenii Stratonikov
118c3b3cfe
[ #940 ] neofs-adm: print contract version in dump-hashes
...
```
nns (unknown): 7061fbd31562664b58f422c3dee4acfd70dba8af
alphabet 0 (v0.12.1): 2392438eb31100857c0f161c66791872b249aa13
alphabet 1 (v0.12.1): 83ef4226d5d6519ca9c99a5de13b1b5ca223a6ad
alphabet 2 (v0.12.1): 6250927beaa9aa5a00171379dcb7187b0c91d17d
alphabet 3 (v0.12.1): 1d6a2519ba41a139b2ced1bfd5013938271a7578
alphabet 4 (v0.12.1): b65fc7a3c31cf57a90d7eb1c0e9909e4ca69133c
alphabet 5 (v0.12.1): f95b6ff8cd3b027c9911c18115518ad8c5d2f591
alphabet 6 (v0.12.1): 5b17c579bf56884fd68af152432b3b5aee7aee76
audit (v0.12.1): 85fe181f4aa3cbdc94023d97c69001ece0730398
balance (v0.12.1): dc1ec98d9d0c5f9dfade16144defe08cffc5ca55
container (v0.12.1): 1b6e68d299b570e1cb7e86eadfdc06aa2e8e0cc5
neofsid (v0.12.1): 0a64ce753653cc97c0467e1334d9d3678ca8c682
netmap (v0.12.1): 7c5bdb23e36cc7cce95bf42f3ab9e452c2501df1
reputation (v0.12.1): 7ad824fd1eeb1565be2cee3889214b9aa605d2fc
```
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-10-28 09:35:52 +03:00
Evgenii Stratonikov
751147793f
[ #927 ] neofs-adm: provide better error message if endpoint is missing
...
Note that we cannot mark `--rpc-endpoint` flag as required because
it can be taken from config.
Before:
```
Error: can't create N3 client: failed to get network magic: Post "": unsupported protocol scheme ""
```
Now:
```
Error: can't create N3 client: missing endpoint
```
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-10-19 17:47:29 +03:00