frostfs-node/pkg/innerring
Leonard Lyubich f64ae55806 [#1681] ir/netmap: Require MAINTENANCE mode to be allowed by network
There is a need to prevent limitless abuse of MAINTENANCE status of the
storage nodes. To do this, configuration of the NeoFS network is going
to be extended with the flag which allows the state. Until this is done,
it makes sense to prepare a site for this in the code.

Define `state.NetworkSettings` interface as an abstraction of global
network configuration within the `state` package. Make
`NetMapCandidateValidator` to depend on `NetworkSettings` and provide
corresponding field setter. Change `VerifyAndUpdate` method's behavior
to return an error for candidates with MAINTENANCE state if this state
is disallowed by the network configuration. Provide `NetworkSettings`
from the wrapper over Netmap contract's client on Inner Ring application
side. The provider is implemented to statically disallow MAINTENANCE
mode in order to save previous behavior.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
Signed-off-by: Leonard Lyubich <ctulhurider@gmail.com>
2022-10-05 11:41:49 +03:00
..
config [#1592] Remove debug builds 2022-07-14 10:39:51 +03:00
internal/client [#1735] go.mod: Update API and SDK 2022-08-30 12:27:46 +03:00
processors [#1681] ir/netmap: Require MAINTENANCE mode to be allowed by network 2022-10-05 11:41:49 +03:00
timers [#479] morph/timer: Move block timer to morph package 2021-04-19 09:35:54 +03:00
alphabet.go [#666] innerring: Make GlagoliticLetter enum public for re-use 2021-07-08 14:37:38 +03:00
bindings.go [#807] ir: Merge ContractProcessor and NotaryContractProcessor interfaces 2021-09-09 18:37:45 +03:00
blocktimer.go [#1208] innerring: Disallow to tick timer twice on the same height 2022-04-07 11:52:24 +03:00
contracts.go [#987] ir: Add parsing subnet script hash from NNS contract 2021-11-28 14:38:44 +03:00
fetcher.go [#1320] English Check 2022-05-11 10:40:02 +03:00
indexer.go [#705] pkg/innerring: Fix disable notary mode 2021-07-22 15:12:06 +03:00
innerring.go [#1681] ir/netmap: Require MAINTENANCE mode to be allowed by network 2022-10-05 11:41:49 +03:00
locode.go [#316] locode/boltdb: Replace all references to the City with Location 2021-02-10 14:05:03 +03:00
netmap.go [#1681] ir/netmap: Require MAINTENANCE mode to be allowed by network 2022-10-05 11:41:49 +03:00
notary.go [#910] innerring: Make notary deposit on notification instead of timer 2021-11-02 11:28:02 +03:00
rpc.go [#1817] network: Allow to use network addresses from the iterator 2022-10-04 12:12:18 +03:00
settlement.go [#1592] Remove debug builds 2022-07-14 10:39:51 +03:00
state.go [#1141] morph/client: Allow to use more integer types as arguments 2022-05-16 15:09:35 +03:00
subnet.go [#1687] *: Perform go fmt using go v1.19 2022-08-22 18:59:57 +03:00