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.
Note
This PR is merging toward
davide-baldo/kafka-multiple-consumers
rather thandevelop
, but i'll be merged to develop without a second review (unless heavy rebase was needed)This PR implements the concept of remote vault.
A remote vault is accessing a vault configured in another Ockam Node. This is to allow setting up a shared vault without the need to introduce an external service, which comes really handy for demos and simple setups.
All APIs current supported by
Vault
are exposed and working, but the secure channel APIs are impractical due to latency and are meant mostly for testing and sketching up a new use case rather than production use.The remote vault communication happens using a pre-determined identity, authority, and vault. These parameters were serialized inside the database, so we don't need to specify it again every time a remote vault might be used (almost every single command). The remote vault adopts a basic live check, a ping every 10 seconds before usage, if it times out it'll re-connect.
To allow using multiple identities from within the same node, the first commit is about moving the necessary concepts from the node manager to a new
ConnectionInstantiator
, which holds all the necessary information and traits.Also, the usage of the
log
crate was fully removed in favor oftrace
, to produce a more readable, easier to debug log.