Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[refactor] hyperledger-iroha#4161: rewrite config, _minimally_ (hyper…
…ledger-iroha#4239) * [refactor]: wip Signed-off-by: Dmitry Balashov <[email protected]> * [refactor]: update structure - exclude genesis block loading from config - construct `KeyPair` on `iroha` completion - use full field names in `complete()`s Signed-off-by: Dmitry Balashov <[email protected]> * [refactor]: apply lints Signed-off-by: Dmitry Balashov <[email protected]> * [feat]: include more ENV vars, refactor Signed-off-by: Dmitry Balashov <[email protected]> * [feat]: impl merging - `UserField` wrap instead of `Option` - move trusted peers uniqueness check Signed-off-by: Dmitry Balashov <[email protected]> * [refactor]: update Kagami - Remove `config` subcommand - Update default `genesis` building Signed-off-by: Dmitry Balashov <[email protected]> * [refactor]: restructure code - move generic tools to `iroha_config_base` - remove `iroha_client_config` crate - define client config in `iroha_client::config` - add client config sample TOML Signed-off-by: Dmitry Balashov <[email protected]> * [refactor]: update `iroha_logger` Signed-off-by: Dmitry Balashov <[email protected]> * [refactor]: update `iroha_telemetry` - update usage of `iroha_config` - use `Duration` in `RetryPeriod` Signed-off-by: Dmitry Balashov <[email protected]> * [fix]: fix util macro Signed-off-by: Dmitry Balashov <[email protected]> * [refactor]: re-struct config, update `iroha_core` - split "user-layer" and "actual" config modules - update logger, telemetry, and kagami (genesis) Signed-off-by: Dmitry Balashov <[email protected]> * [refactor]: update more crates - `iroha_client` - `iroha_torii` - move Torii `uri` to `iroha_torii_const` Signed-off-by: Dmitry Balashov <[email protected]> * [feat]: compile `iroha`! Signed-off-by: Dmitry Balashov <[email protected]> * [feat]: compile `iroha_client`! Signed-off-by: Dmitry Balashov <[email protected]> * [feat]: compile `iroha_client_cli`! Signed-off-by: Dmitry Balashov <[email protected]> * [feat]: compile everything *_* Signed-off-by: Dmitry Balashov <[email protected]> * [fix]: chores Signed-off-by: Dmitry Balashov <[email protected]> * [refactor]: pass tests - update signature of `PeerId::new` (avoid extra clone) - fix `UserField::set` - fix deps of `iroha_config_base` - resolve runtime todos in `iroha_config` - update `iroha_swarm` generation output - some other refactoring Signed-off-by: Dmitry Balashov <[email protected]> * [feat]: implement `extends` Signed-off-by: Dmitry Balashov <[email protected]> * [chore]: update default snapshot storage Signed-off-by: Dmitry Balashov <[email protected]> * [fix]: update after rebase Signed-off-by: Dmitry Balashov <[email protected]> * [refactor]: update just everything - `test_env.py`: use toml configs - remove other channel configs - put example configs into `config_samples` dir - put docker setup into `config_samples/swarm` dir - pytests: split settings for CLI and config paths - make test env runnable Signed-off-by: Dmitry Balashov <[email protected]> * [refactor]: refactored config boilerplate into dedicated modules Signed-off-by: Dmitry Balashov <[email protected]> * [refactor]: apply some lints Signed-off-by: Dmitry Balashov <[email protected]> * [refactor]: update config naming in `[queue]` also run tests with all features enabled Signed-off-by: Dmitry Balashov <[email protected]> * [feat]: implement `Config::load` shorthand Signed-off-by: Dmitry Balashov <[email protected]> * [docs]: add comment Signed-off-by: Dmitry Balashov <[email protected]> * [ci]: fix typo Signed-off-by: Dmitry Balashov <[email protected]> * [ci]: install `tomli_w` via pacman Signed-off-by: Dmitry Balashov <[email protected]> * [chore]: fix whitespace Signed-off-by: Dmitry Balashov <[email protected]> * [revert]: update the snapshot store path Signed-off-by: Dmitry Balashov <[email protected]> * [refactor]: fix pytests - do not mutate client config from tests, override via env instead - add `TORII_URL` env var to client config Signed-off-by: Dmitry Balashov <[email protected]> * [refactor]: apply suggestions from code review Signed-off-by: Dmitry Balashov <[email protected]> * [refactor]: curl up `SumeragiStartArgs` Signed-off-by: Dmitry Balashov <[email protected]> * [refactor]: refine telemetry - simplify `regular_telemetry` to just `telemetry` - clearer config passing Signed-off-by: Dmitry Balashov <[email protected]> * [refactor]: use `Infallible` Signed-off-by: Dmitry Balashov <[email protected]> * [refactor]: simplify client config - `nonce` instead of `add_nonce` - move `[api]` to root Signed-off-by: Dmitry Balashov <[email protected]> * [refactor]: update `--config` arg - remove default value - remove `IROHA_CONFIG` env Signed-off-by: Dmitry Balashov <[email protected]> * [docs]: update `read_config_and_genesis` docs Signed-off-by: Dmitry Balashov <[email protected]> * [refactor]: chore Signed-off-by: Dmitry Balashov <[email protected]> * [refactor]: just `idle_time`, without `query_` Signed-off-by: Dmitry Balashov <[email protected]> * [revert]: use `ident_length_limits` in _actual_ config Signed-off-by: Dmitry Balashov <[email protected]> * [refactor]: use `Config`, not vague `Root` Signed-off-by: Dmitry Balashov <[email protected]> * [chore]: remove comment Signed-off-by: Dmitry Balashov <[email protected]> * [refactor]: use `capacity` term in Queue Signed-off-by: Dmitry Balashov <[email protected]> * [refactor]: `set_creation_time_ms`, use `*` instead of `mul` Signed-off-by: Dmitry Balashov <[email protected]> * [fix]: remove dead code Signed-off-by: Dmitry Balashov <[email protected]> * [refactor]: update `--config` args - use `PathBuf` again - remove default value at Client CLI Signed-off-by: Dmitry Balashov <[email protected]> * [chore]: cleaning Signed-off-by: Dmitry Balashov <[email protected]> * [refactor]: use `strum` in place of `parse_display` Signed-off-by: Dmitry Balashov <[email protected]> * [refactor]: no unsafe code any more Signed-off-by: Dmitry Balashov <[email protected]> * [refactor]: docs & refinements - document code in: - `iroha_config_base` - `iroha_config` - `iroha_client::config` - refactor `iroha_config_base` APIs - move `ExtendsPaths` into `iroha_config_base` - remove `[iroha]` user config section - move `chain_id` and key pair to the root - move `p2p_address` to `network.address` - rename `user_layer` modules to `user` - add `_bytes` suffix for relevant fields, put a TODO to add a newtype for it Signed-off-by: Dmitry Balashov <[email protected]> * [docs]: fill `peer.example.toml` Signed-off-by: Dmitry Balashov <[email protected]> * [chore]: re-export `ConfigurationDTO` from client Signed-off-by: Dmitry Balashov <[email protected]> * [test]: fix them Signed-off-by: Dmitry Balashov <[email protected]> * [refactor]: apply lints Signed-off-by: Dmitry Balashov <[email protected]> * [test]: fix pytests Signed-off-by: Dmitry Balashov <[email protected]> * [misc]: re-arrange sample configurations - use `configs` dir again - name example configs as _templates_ Signed-off-by: Dmitry Balashov <[email protected]> * [docs]: update README Signed-off-by: Dmitry Balashov <[email protected]> * [refactor]: remove `parse-display` from deps Signed-off-by: Dmitry Balashov <[email protected]> * [refactor]: remove extra `iroha_config_base` exposure from the client Signed-off-by: Dmitry Balashov <[email protected]> * [fix]: import `Deserialize` in the macro Signed-off-by: Dmitry Balashov <[email protected]> * [refactor]: use `PrivateKey::into_raw` instead Signed-off-by: Dmitry Balashov <[email protected]> * [ci]: use `--break-system-packages` `pip` flag Signed-off-by: Dmitry Balashov <[email protected]> * [fix]: regenerate swarms Signed-off-by: Dmitry Balashov <[email protected]> * [ci]: fix pytests workflow Signed-off-by: Dmitry Balashov <[email protected]> * [fix]: remove `PrivateKey::payload()` access Signed-off-by: Dmitry Balashov <[email protected]> * [docs]: fix "unable to validate" doc Signed-off-by: Dmitry Balashov <[email protected]> * [refactor]: accept `Duration` for `set_creation_time` Signed-off-by: Dmitry Balashov <[email protected]> * [refactor]: `PrivateKey::to_raw` Signed-off-by: Dmitry Balashov <[email protected]> * [fix]: do not extend trusted peers in config Signed-off-by: Dmitry Balashov <[email protected]> * [refactor]: hide user view from `iroha_client::config` Signed-off-by: Dmitry Balashov <[email protected]> * [refactor]: rename `*configuration` to `config` everywhere﹡ ﹡except crypto Signed-off-by: Dmitry Balashov <[email protected]> * [fix]: update default wasm fuel limit Signed-off-by: Dmitry Balashov <[email protected]> * [refactor]: change docs and methods of `WebLogin` Signed-off-by: Dmitry Balashov <[email protected]> * [fix]: trusted peers and config tests Signed-off-by: Dmitry Balashov <[email protected]> * [refactor]: rename `telemetry.dev.out_file` Signed-off-by: Dmitry Balashov <[email protected]> * [docs]: update `GenesisNetwork::new` errors Signed-off-by: Dmitry Balashov <[email protected]> * [refactor]: use `serde_with` Signed-off-by: Dmitry Balashov <[email protected]> * [misc]: move `nonzero_ext` to workspace level Signed-off-by: Dmitry Balashov <[email protected]> * [fix]: make `--config` optional It is still possible to set full config via env (e.g. `iroha_swarm` case) Signed-off-by: Dmitry Balashov <[email protected]> * [chore]: remove "regular" from telemetry re-export Signed-off-by: Dmitry Balashov <[email protected]> * [chore]: rename imports in `wasm.rs` Signed-off-by: Dmitry Balashov <[email protected]> * [refactor]: lints Signed-off-by: Dmitry Balashov <[email protected]> * [refactor]: use `serde_with` in swarm Signed-off-by: Dmitry Balashov <[email protected]> * [refactor]: rename parameters, cover full config in tests, fix bugs Signed-off-by: Dmitry Balashov <[email protected]> * [test]: cover absolute paths Signed-off-by: Dmitry Balashov <[email protected]> * [refactor]: update client configs, cover full in tests Signed-off-by: Dmitry Balashov <[email protected]> * [refactor]: lints Signed-off-by: Dmitry Balashov <[email protected]> * [fix]: also rename ENVs Signed-off-by: Dmitry Balashov <[email protected]> * [build]: add notes to Dockerfile Signed-off-by: Dmitry Balashov <[email protected]> * [chore]: update style in `iroha_test_config.toml` Signed-off-by: Dmitry Balashov <[email protected]> * [test]: fix old params in `test_env.py` Signed-off-by: Dmitry Balashov <[email protected]> * [test]: add a note to `panic_on_invalid_genesis.sh` Signed-off-by: Dmitry Balashov <[email protected]> --------- Signed-off-by: Dmitry Balashov <[email protected]>
- Loading branch information