-
Notifications
You must be signed in to change notification settings - Fork 277
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
[refactor] #4161: rewrite config, _minimally_ #4239
Merged
0x009922
merged 94 commits into
hyperledger-iroha:iroha2-dev
from
0x009922:minimal-config-rewrite
Feb 16, 2024
Merged
[refactor] #4161: rewrite config, _minimally_ #4239
0x009922
merged 94 commits into
hyperledger-iroha:iroha2-dev
from
0x009922:minimal-config-rewrite
Feb 16, 2024
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
0x009922
added
Enhancement
New feature or request
iroha2-dev
The re-implementation of a BFT hyperledger in RUST
Documentation
Documentation changes
config-changes
Changes in configuration and start up of the Iroha
Refactor
Improvement to overall code quality
UI
Something about the interface
python
Pull requests that update Python code
labels
Jan 29, 2024
mversic
requested changes
Jan 29, 2024
mversic
reviewed
Jan 29, 2024
mversic
reviewed
Jan 29, 2024
mversic
reviewed
Jan 29, 2024
mversic
reviewed
Jan 29, 2024
mversic
reviewed
Jan 29, 2024
mversic
requested changes
Jan 29, 2024
mversic
reviewed
Jan 29, 2024
mversic
reviewed
Jan 29, 2024
mversic
reviewed
Jan 29, 2024
mversic
reviewed
Jan 29, 2024
mversic
reviewed
Jan 29, 2024
mversic
reviewed
Jan 29, 2024
mversic
reviewed
Jan 29, 2024
mversic
reviewed
Jan 29, 2024
mversic
reviewed
Jan 29, 2024
mversic
reviewed
Jan 29, 2024
mversic
requested changes
Jan 29, 2024
mversic
reviewed
Jan 29, 2024
mversic
reviewed
Jan 29, 2024
Signed-off-by: Dmitry Balashov <[email protected]>
Signed-off-by: Dmitry Balashov <[email protected]>
Signed-off-by: Dmitry Balashov <[email protected]>
Signed-off-by: Dmitry Balashov <[email protected]>
Signed-off-by: Dmitry Balashov <[email protected]>
Signed-off-by: Dmitry Balashov <[email protected]>
Signed-off-by: Dmitry Balashov <[email protected]>
0x009922
force-pushed
the
minimal-config-rewrite
branch
from
February 16, 2024 09:19
1ca003b
to
7d54e87
Compare
mversic
approved these changes
Feb 16, 2024
Erigara
approved these changes
Feb 16, 2024
This was referenced Feb 18, 2024
5 tasks
This was referenced Feb 22, 2024
4 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
config-changes
Changes in configuration and start up of the Iroha
Documentation
Documentation changes
Enhancement
New feature or request
iroha2-dev
The re-implementation of a BFT hyperledger in RUST
python
Pull requests that update Python code
Refactor
Improvement to overall code quality
UI
Something about the interface
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR is a complete overhaul of Iroha & Client CLI configuration. It is based on the Configuration Overhaul RFC.
Although this PR has many changes already, there are still big parts of the RFC to be completed separately.
Configuration changes
[chain_wide]
section to ease further transition: [discussion] Align configuration-related instructions with the RFC #4028extends
mechanismSubsequent changes
configs/peer/lts|stable
,configs/client/lts|stable
)client.template.toml
,peer.template.toml
, andprometheus.template.yaml
in the root ofconfigs
. These configs are not for direct use, but rather a part of documentation.configs/swarm
configs/swarm
as well (client.toml
,genesis.json
, andexecutor.wasm
)/configs
directory to use client/peer configs. It was implied that the configs are actually workable and filled with everything needed. It was ambiguous. Now those places rely on/configs/swarm
content.test_env.py
:CLIENT_CLI_DIR
(implying it hasiroha_client_cli
andconfig.json
content) setting intoCLIENT_CLI_BINARY
andCLIENT_CLI_CONFIG
IROHA_CONFIG
variable anymore, and doesn't expect Iroha configuration to be present in the configs directory; relies only ongenesis.json
, and all necessary configs are set in ENV.--config-shared=shared.toml --config-peer0=peer0.toml
CLIiroha_torii_const
crate for easier re-use iniroha_client
. Previously those were defined iniroha_config
, which is not an appropriate place for it.kagami config
command, which used to produce "sample" peer/client configurationsIntentionally left issues (temporarily)
Report
as a universal error to not bother with errors (yet)Default
is used for*Partial
s to create empty layers, whileDefault
for actual config structures fills them with default values.Not implemented
ariadne
, spans to config files and/or ENVs, hints etcHumanDuration
andHumanBytes
as stubs for future.Post-merge
Upon merging of this PR, create these as separate issues:
soukousei
), move some ofiroha_config_base
's stuff there, define a procmacro to generate boilerplate: [suggestion] Split generic configuration functionality fromiroha_config_base
into a standalone library #4297merge
dependency and introduce an in-house macro for this Removemerge
dependency #4298eyre::Report
as a universal errorclient.template.toml
andpeer.template.toml
with some tests: [suggestion] Cover template configurations with tests #4288./storage/snapshot
as a default value, which is convenient. [suggestion] Snapshot configuration - ensure it creates a directory for itself #4296PrivateKey
deserialisation format: allowalgorithm
andpayload
fields, deprecatedigest_function
: [suggestion] (de-)serializePrivateKey
withalgorithm
field #4287parse_display
crate from dependencies: [suggestion] Removeparse_display
dependency entirely #4290nonzero_ext
across workspace: [suggestion] Usenonzero_ext
across workspace #4289executor
ingenesis.json
: rename toexecutor_file
for consistency; drop inline mode support entirely. [suggestion] Update executor config in the genesis block #4291configs/swarm
toconfigs/docker_compose
: [discussion] Renameconfigs/swarm
? #4293panic_on_invalid_genesis.sh
test: Actualise Dockerfiles with the new config system #4292,panic_on_invalid_genesis.sh
is outdated #4301Linked issues
Closes #4161, #3499, #3500, #3501, #3504, #3358