Core Concepts
To master Rilavek, you only need to understand five simple concepts. Together, they form a flexible and powerful data pipeline architecture.
The Five Primitives
Source
— The Ingress ProtocolA Source defines HOW data enters the system. It's the protocol or method used for ingestion.
Sender
— The Identity LayerA Sender is WHO is sending the data. This decoupled identity system lets you manage credentials independently of where the data goes.
Pipe
— The Logic EngineA Pipe connects Sources to Destinations. It acts as the routing and logic layer, supporting 1-to-many fan-out to replicate data to multiple clouds simultaneously.
Destinations
— The Storage TargetsA Destination is where your data ultimately rests. You can configure a Primary destination for critical data and multiple Secondary destinations for redundancy or archival.
Sync Event
— The Notification SystemEvery file transfer is tracked as a Sync Event with a lifecycle. Subscribe to these events via Webhooks to trigger downstream workflows.
Delivery Guarantees & Fan-out
Primary Guarantee
Files are guaranteed to be successfully delivered to your Primary Destination. Rilavek streams data directly to it with Zero-Knowledge storage (we act as a pass-through). If the Primary Destination is unreachable or rejects the file, the entire upload is immediately failed and the error is returned to the client (e.g., your camera) to allow for a retry.
Secondary Destinations & Fan-out
Streaming to Secondary destinations happens in parallel. Rilavek makes a best-effort attempt to deliver to all configured secondary targets. If a temporary error occurs, we will attempt to retry the delivery transiently using in-memory buffering. Data never touches our disks, maintaining our strict zero-knowledge privacy promise.
Tolerant Mode (Default)
If a secondary destination fails, the file is considered "Partially Delivered". The overall operation returns Success to the client so the upload is not retried unnecessarily. You will be alerted via Sync Events.
Strict Mode (Fail on Error)
If you enable Fail on Error for a secondary destination, a failure to deliver to it causes the entire transfer to fail. The client receives an error, allowing your device or software to retry the upload if configured.
File Statuses
Every file that passes through Rilavek is tracked with one of these statuses:
| Status | Description |
|---|---|
| Created | The file upload has started. Data is actively streaming through Rilavek to the destination(s). |
| Transferred | The file was successfully delivered to all required destinations. |
| Failed | The transfer failed due to a destination error (e.g., Primary unreachable or a critical secondary with "Fail on Error" enabled). |
| Cancelled | The transfer was aborted by the pipeline logic. This typically occurs when a Strict Mode secondary destination fails, causing the entire operation to halt. |
💡 Pro Tip: Decoupled Architecture
The power of Rilavek lies in decoupling. Change your Destination from AWS to R2? No need to reconfigure your cameras. Rotate a Sender's password? Other Senders aren't affected. Each primitive is independent, making your infrastructure flexible and secure.