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 Data Stores. It acts as the routing and logic layer, supporting 1-to-many fan-out to replicate data to multiple clouds simultaneously.
Data Stores
— The Storage TargetsA Data Store is where your data ultimately rests. You can configure a Primary data store for critical data and multiple Secondary data stores 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 Data Store. Rilavek streams data directly to it with Zero-Knowledge storage (we act as a pass-through). If the Primary Data Store 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 Data Stores & Fan-out
Streaming to Secondary data stores 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 data store 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 data store, 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 data store(s). |
| Transferred | The file was successfully delivered to all required data stores. |
| Failed | The transfer failed due to a data store 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 data store fails, causing the entire operation to halt. |
💡 Pro Tip: Decoupled Architecture
The power of Rilavek lies in decoupling. Change your Data Store 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.