CDN

Storage and delivery

Oblien uses one upload and billing flow for local storage and private S3-compatible buckets. Customers keep using the same SDK, upload endpoint and returned file URLs. They do not select a bucket, filesystem path or upstream address.

Destination selection

When your backend requests an upload permit, the API reserves account and namespace quota, destination space and worker processing space in one transaction. It chooses an active destination with a recent successful health report, enough remaining capacity and an available worker. Administrative priority and current reservation pressure determine the order.

The signed permit pins the upload to its worker and destination. The edge verifies it locally and sends chunks to that worker. Retries keep the original upload identity and location; they cannot create a second reservation by changing the destination. Actual content, output size, policy and ownership are checked before publication.

Local destinations use measured filesystem availability, pending reservations and a configurable safety margin. Multiple directories on one disk share the same physical counter. S3-compatible buckets use an operator-defined storage budget: a bucket API does not provide a physical “free disk” measurement.

If no eligible destination can accept the upload, the API returns 503 cdn_capacity_unavailable. Retry the original request and idempotency key. A draining destination stops receiving new assignments while retaining existing reads and resumable uploads.

Serving large files

The edge serves local files directly or streams an authorized response from private object storage. File bytes do not pass through the control API or the Node processing service. Videos support range requests, and GET, HEAD and conditional responses retain normal HTTP behavior.

Bucket credentials stay in the provider's encrypted configuration. Short-lived signed upstream URLs are used internally and are not redirected to customers. A request cannot supply its own storage URL. Origin relays between Oblien nodes produce one delivery receipt at the customer-facing edge.

CDN URLs remain public. A private bucket protects the storage origin; it does not make an issued CDN link a private download. Authorization, namespace budgets and file lifecycle are enforced at Oblien's origin. Cached public copies and already-started downloads have the limits described in traffic and credits.

Adding storage as an operator

In Oblien Admin → CDN → Storage destinations, add a mounted local destination or a private S3-compatible bucket, assign its workers, and set its storage budget. Local mounts must be provisioned on their worker first. Bucket access, private reads, ranges, conditional writes, multipart operations and cleanup are probed before uploads can be enabled.

Replacement credentials are staged and checked while the current key continues working. Keep the old provider key valid until verification completes. Changing a budget or draining a destination does not delete files, change URLs or change the credit rates.

Existing objects retain their immutable destination and object key. Adding a bucket directs eligible new uploads there; it does not automatically copy old files. Keep the old destination available until a separately verified migration has moved its objects. A local disk still needs backups—an adapter alone is not replication.