feat: add tier entity
Summary
Part of #330 (closed) - tiers implementation.
- Introduce new global table
_pico_tier
withreplication_factor
configuration. Earlier it was stored in_pico_property
. - Instance and Replicaset belongs to tier via new field
tier
in_pico_instance
and_pico_replicaset
. - New CLI option
picodata run --init-cfg
. It takes a path to yaml file. The bootstrap leader accounts it during raft bootstrap (start_boot
function). If not specified, the cluster is bootstapped with the only tier "storage". - New CLI option
picodata run --tier
. Default value: "storage". It's accounted instart_join
andproc_raft_join
. - Function
choose_replicaset_id
is refactored to account tiers.
Ensure that
-
New code is covered by tests -
API is documented -
Changelog is up to date -
(if Lua API changed) Lua API version is bumped inluamod.rs
-
Follow-up doc issue: docs#101 (closed)
Edited by Yaroslav Dynnikov