Overview
Admin tool provides an easier way to deploy and maintain private installation
of FrostFS. Private installation provides a set of N3 consensus nodes, FrostFS
Alphabet, and Storage nodes. Admin tool generates consensus keys, initializes
the sidechain, and provides functions to update the network and register new
Storage nodes.
Build
To build binary locally, use make bin/frostfs-adm command.
For clean build inside a docker container, use make docker/bin/frostfs-adm.
Build docker image with make image-adm.
At FrostFS private install deployment, frostfs-adm requires compiled FrostFS
contracts. Find them in the latest release of
frostfs-contract repository.
Commands
Config
Config section provides init command that creates a configuration file for
private installation deployment and updates. Config file is optional, all
parameters can be passed by arguments or read from standard input (wallet
passwords).
Config example:
rpc-endpoint: https://address:port # sidechain RPC node endpoint
alphabet-wallets: /path            # path to consensus node / alphabet wallets storage
network:
  max_object_size: 67108864 # max size of a single FrostFS object, bytes
  epoch_duration: 240       # duration of a FrostFS epoch in blocks, consider block generation frequency in the sidechain
  fee:
    candidate: 0 # inner ring candidate registration fee, for private installation consider 0
    container: 0 # container creation fee, for private installation consider 0
    container_alias: 0 # container nice-name registration fee, for private installation consider 0
    withdraw: 0  # withdraw fee, for private installation consider 0
credentials:     # passwords for consensus node / alphabet wallets
  az: password1
  buky: password2
  vedi: password3
  glagoli: password4
  dobro: password5
  yest: password6
  zhivete: password7
Morph
Network deployment
- 
generate-alphabetgenerates a set of wallets for consensus and
Alphabet nodes.
 
- 
initinitializes the sidechain by deploying smart contracts and
setting provided FrostFS network configuration.
 
- 
generate-storage-walletgenerates a wallet for the Storage node that
is ready for deployment. It also transfers a bit of sidechain GAS, so this
wallet can be used for FrostFS bootstrap.
 
Network maintenance
- 
set-configadd/update configuration values in the Netmap contract.
 
- 
force-new-epochincrements FrostFS epoch number and executes new epoch
handlers in FrostFS nodes.
 
- 
refill-gastransfers sidechain GAS to the specified wallet.
 
- 
update-contractsupdates contracts to a new version.
 
Container migration
If a network has to be redeployed, these commands will migrate all container meta
info. These commands do not migrate actual objects.
- 
dump-containerssaves all containers and metadata registered in the container
contract to a file.
 
- 
restore-containersrestores previously saved containers by their repeated registration in
the container contract.
 
- 
list-containersoutput all containers ids.
 
Network info
Private network deployment
Read step-by-step guide of private storage deployment in docs.