This PR implements the logic to coordinate all components to play nicely together as described in: https://whimsical.com/rhio-JtQuJKYkfaepHGDsFL7qBC and fixes a couple of bugs which have been made on the way here.
For blob import this introduces a simple NATS Core subject rhio.import where file paths are sent to. A reply can be specified which will contain the resulting blob hash.
:rocket:
This description was created by Ellipsis for commit 22091694281bbd93d7f97ba8ce8243764868d9e6
Summary:
This PR integrates NATS JetStream, MinIO, and p2panda into rhio, introduces rhio.import subject, updates configurations, fixes bugs, and enhances log level handling.
Key points:
Integrates NATS JetStream, MinIO, and p2panda into rhio.
Introduces rhio.import subject for blob import.
Updates Cargo.lock for latest p2panda dependencies.
Adds announce_blob function in rhio-client/src/lib.rs.
Modifies rhio-client/src/main.rs for blob announcements.
Updates rhio-core/src/extensions.rs to include blob_hash.
Adds create_blob_announcement in rhio-core/src/operation.rs.
Updates rhio/config.example.toml for stream configurations.
Refactors rhio/src/blobs/actor.rs for file imports/exports to MinIO.
Modifies rhio/src/nats/actor.rs and rhio/src/nats/consumer.rs for JetStream events.
Enhances rhio/src/node/actor.rs for NATS and p2panda operations.
Updates rhio/src/panda/actor.rs and rhio/src/panda/mod.rs for gossip events and operation ingestion.
Updates configuration in rhio/src/config.rs.
Fixes bugs encountered during development.
Coordinates components as per the design in the whimsical link.
Updates rhio/src/tracing.rs to handle log levels more flexibly.
This PR implements the logic to coordinate all components to play nicely together as described in: https://whimsical.com/rhio-JtQuJKYkfaepHGDsFL7qBC and fixes a couple of bugs which have been made on the way here.
For blob import this introduces a simple NATS Core subject
rhio.import
where file paths are sent to. A reply can be specified which will contain the resulting blob hash.Summary:
This PR integrates NATS JetStream, MinIO, and p2panda into rhio, introduces
rhio.import
subject, updates configurations, fixes bugs, and enhances log level handling.Key points:
rhio.import
subject for blob import.Cargo.lock
for latestp2panda
dependencies.announce_blob
function inrhio-client/src/lib.rs
.rhio-client/src/main.rs
for blob announcements.rhio-core/src/extensions.rs
to includeblob_hash
.create_blob_announcement
inrhio-core/src/operation.rs
.rhio/config.example.toml
for stream configurations.rhio/src/blobs/actor.rs
for file imports/exports to MinIO.rhio/src/nats/actor.rs
andrhio/src/nats/consumer.rs
for JetStream events.rhio/src/node/actor.rs
for NATS and p2panda operations.rhio/src/panda/actor.rs
andrhio/src/panda/mod.rs
for gossip events and operation ingestion.rhio/src/config.rs
.rhio/src/tracing.rs
to handle log levels more flexibly.Generated with :heart: by ellipsis.dev