feat: add pezkuwi-zombienet-cli crate

- New CLI binary for network orchestration
- Spawn command with native/docker/k8s providers
- Backward compatibility: parachains -> teyrchains alias
- Backward compatibility: onboard_as_parachain alias

Successfully tested with 21-validator mainnet simulation:
- 21/21 GRANDPA votes
- Block production and finality working
- Asset Hub and People Chain teyrchains running
This commit is contained in:
2026-01-21 00:25:18 +03:00
parent 9777b4c2b1
commit 9488461380
6 changed files with 193 additions and 11 deletions
@@ -33,7 +33,7 @@ pub struct NetworkConfig {
#[serde(rename = "settings", default = "GlobalSettings::default")]
global_settings: GlobalSettings,
relaychain: Option<RelaychainConfig>,
#[serde(skip_serializing_if = "std::vec::Vec::is_empty", default)]
#[serde(skip_serializing_if = "std::vec::Vec::is_empty", default, alias = "parachains")]
teyrchains: Vec<TeyrchainConfig>,
#[serde(skip_serializing_if = "std::vec::Vec::is_empty", default)]
hrmp_channels: Vec<HrmpChannelConfig>,
@@ -114,7 +114,7 @@ pub struct TeyrchainConfig {
chain: Option<Chain>,
#[serde(flatten)]
registration_strategy: Option<RegistrationStrategy>,
#[serde(skip_serializing_if = "super::utils::is_true", default = "default_as_true")]
#[serde(skip_serializing_if = "super::utils::is_true", default = "default_as_true", alias = "onboard_as_parachain")]
onboard_as_teyrchain: bool,
#[serde(rename = "balance", default = "default_initial_balance")]
initial_balance: U128,