-
Notifications
You must be signed in to change notification settings - Fork 277
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # 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>
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>
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