New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[feature] #2373: kagami swarm
#3475
Conversation
Codecov Report
@@ Coverage Diff @@
## iroha2-dev #3475 +/- ##
==============================================
- Coverage 62.33% 56.78% -5.55%
==============================================
Files 169 161 -8
Lines 31218 32249 +1031
==============================================
- Hits 19459 18312 -1147
- Misses 11759 13937 +2178
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM besides one stylistic point, will approve after fix.
Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com>
Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com>
…enesis peer Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com>
Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com>
Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com>
Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com>
Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com>
Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com>
Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com>
Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com>
Co-authored-by: Ilia Churin <churin.ilya@gmail.com> Signed-off-by: 0x009922 <a.marcius26@gmail.com>
Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com>
Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com>
Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com>
Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com>
Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com>
Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com>
Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com>
Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com>
Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com>
Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com>
* [refactor]: bump `clap`, scaffold `swarm` subcommand Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [refactor]: transform `algorithm` to `ValueEnum` Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [feature]: implement basic flow Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [chore]: clear dead code Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [refactor]: safer paths manipulations Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [fix]: sort generated services Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [test]: update snapshot Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [fix]: skip empty command serialisation; chores Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [refactor]: define consts Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [refactor]: pass workspace check; lints Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [refactor]: chores Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [feat]: impl basic UI Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [fix]: fix shallow git clone Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [chore]: update ui Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [refactor]: simplify resolution reporting Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [refactor]: doc comments, naming, etc Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [refactor]: move `swarm` mod Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [refactor]: chores; update doc comments Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [fix]: fix config path in docker image Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [fix]: clippy lints Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [fix]: specify all trusted peers; set genesis key pair only for the genesis peer Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [chore]: add fixme Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [refactor]: chores Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [test]: fix `kagami` and `iroha_config_base` tests Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [fix]: use `SocketAddr` Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [refactor]: apply lints Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [refactor]: allow any docker image; rename args Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [refactor]: fix lints Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * Apply suggestions from code review Co-authored-by: Ilia Churin <churin.ilya@gmail.com> Signed-off-by: 0x009922 <a.marcius26@gmail.com> * [chore]: remove extra doc Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [chore]: remove inaccurate comment Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [refactor]: use `.dir()` Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [refactor]: derive `Display` for `AlgorithmArg` Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [refactor]: use `Error::FieldDeserialization` Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [refactor]: apply lints Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [refactor]: move secp256k1 seed len check to `iroha_crypto` Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [refactor]: expand `swarm::key_gen` module Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [chore]: fix format Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [chore]: capitalise error messages Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> --------- Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> Signed-off-by: 0x009922 <a.marcius26@gmail.com> Co-authored-by: Ilia Churin <churin.ilya@gmail.com>
* [refactor]: bump `clap`, scaffold `swarm` subcommand Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [refactor]: transform `algorithm` to `ValueEnum` Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [feature]: implement basic flow Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [chore]: clear dead code Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [refactor]: safer paths manipulations Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [fix]: sort generated services Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [test]: update snapshot Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [fix]: skip empty command serialisation; chores Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [refactor]: define consts Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [refactor]: pass workspace check; lints Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [refactor]: chores Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [feat]: impl basic UI Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [fix]: fix shallow git clone Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [chore]: update ui Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [refactor]: simplify resolution reporting Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [refactor]: doc comments, naming, etc Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [refactor]: move `swarm` mod Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [refactor]: chores; update doc comments Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [fix]: fix config path in docker image Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [fix]: clippy lints Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [fix]: specify all trusted peers; set genesis key pair only for the genesis peer Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [chore]: add fixme Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [refactor]: chores Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [test]: fix `kagami` and `iroha_config_base` tests Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [fix]: use `SocketAddr` Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [refactor]: apply lints Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [refactor]: allow any docker image; rename args Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [refactor]: fix lints Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * Apply suggestions from code review Co-authored-by: Ilia Churin <churin.ilya@gmail.com> Signed-off-by: 0x009922 <a.marcius26@gmail.com> * [chore]: remove extra doc Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [chore]: remove inaccurate comment Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [refactor]: use `.dir()` Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [refactor]: derive `Display` for `AlgorithmArg` Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [refactor]: use `Error::FieldDeserialization` Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [refactor]: apply lints Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [refactor]: move secp256k1 seed len check to `iroha_crypto` Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [refactor]: expand `swarm::key_gen` module Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [chore]: fix format Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> * [chore]: capitalise error messages Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> --------- Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com> Signed-off-by: 0x009922 <a.marcius26@gmail.com> Co-authored-by: Ilia Churin <churin.ilya@gmail.com>
Description
This PR introduces
kagami swarm
command and some related refactoring and fixes.This command allows to generate a directory with everything needed to run
docker compose up
in it. It allows to specify variable number of peers and source of the images.Examples:
Generate docker-compose configuration in
./compose-iroha
directory with 2 peers usingGitHub
source:Generated files:
docker-compose.yml
Generated docker-compose configuration based on a locally installed Iroha, with a single peer and without default
configuration:
Generated files:
docker-compose.yml`
Linked issue
Closes #2373
Checklist
docker-compose up
To Do in separate PRs
docker-compose.yml
) and generatedocker-compose.dev.yml
&docker-compose.dev.single.yml
with it