Documentation

Learn how to architect your data pipeline in minutes.

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

01

Source

The Ingress Protocol

A Source defines HOW data enters the system. It's the protocol or method used for ingestion.

FTP / FTPS (Port 21)SFTP (Port 2222)HTTP API (Coming Soon)
02

Sender

The Identity Layer

A Sender is WHO is sending the data. This decoupled identity system lets you manage credentials independently of where the data goes.

Camera 01Drone Fleet APartner API
03

Pipe

The Logic Engine

A 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.

Fan-out: Replicate to S3 + B2ACL: Allow Camera GroupRoute to multiple buckets
04

Data Stores

The Storage Targets

A 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.

AWS S3 (Primary)Backblaze B2 (Secondary)Cloudflare R2MinIO
05

Sync Event

The Notification System

Every file transfer is tracked as a Sync Event with a lifecycle. Subscribe to these events via Webhooks to trigger downstream workflows.

file.uploadedfile.status_changedWebhook to Zapier/n8n

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:

StatusDescription
CreatedThe file upload has started. Data is actively streaming through Rilavek to the data store(s).
TransferredThe file was successfully delivered to all required data stores.
FailedThe transfer failed due to a data store error (e.g., Primary unreachable or a critical secondary with "Fail on Error" enabled).
CancelledThe 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.