-
Notifications
You must be signed in to change notification settings - Fork 209
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
Namespace config validation #833
Conversation
Codecov Report
@@ Coverage Diff @@
## main #833 +/- ##
===========================================
+ Coverage 99.98% 100.00% +0.01%
===========================================
Files 299 299
Lines 19457 19551 +94
===========================================
+ Hits 19455 19551 +96
+ Misses 1 0 -1
+ Partials 1 0 -1
Continue to review full report at Codecov.
|
* `name` must be unique on this node * for historical reasons, "ff_system" is a reserved string and cannot be used as a `name` or `remoteName` * a `database` plugin is required for every namespace * if `mode: multiparty` is specified, plugins _must_ include one each of `blockchain`, `dataexchange`, and `sharedstorage` * if `mode: gateway` is speicified, plugins _must not_ include `dataexchange` or `sharedstorage` * at most one of each type of plugin is allowed per namespace, except for tokens (which may have many per namespace) Signed-off-by: Alex Shorsher <alex.shorsher@kaleido.io>
It's worth calling out explicitly that this is config validation only - none of the newly added config is actually functional yet (which is fine for now). Also, I don't see that this bullet is enforced yet for the plugins:
It might be on orchestrator to enforce that before passing the list of plugins to Namespace Manager... |
Thanks for the comments and added some new changes which rely on your changes in hyperledger/firefly-common#14 |
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.
Validation looks good. I left a few minor comments which you can check on, but marking approved now.
- Plugins names must be globally unique - Better handling of deprecated config in namespace manager - Updated config descriptions Signed-off-by: Alex Shorsher <alex.shorsher@kaleido.io>
Signed-off-by: Alex Shorsher <alex.shorsher@kaleido.io>
Adding additional configuration validation to the namespace manager, as specified in FIR-12
name
must be unique on this nodename
orremoteName
database
plugin is required for every namespacemode: multiparty
is specified, plugins must include one each ofblockchain
,dataexchange
, andsharedstorage
mode: gateway
is speicified, plugins must not includedataexchange
orsharedstorage
may have many per namespace)
depends on changes in hyperledger/firefly-common#14