TessariDB S3
Get started

Console

An operator console that keeps a record.

The console runs on a listener of its own, apart from the S3 API. It loads no font and no script from anywhere else, and runs only its own script under a strict content security policy. Everything it does goes through a JSON API you can call directly.

Overview

The node, the cluster and the space, on one screen.

Stored bytes and objects as of the last measurement, the data drive's capacity, and on a cluster member every member, whether it answers, its zone, its drive and how many objects wait for healing.

The console's overview: cards for the node, members, erasure code and healing, then stored bytes, disk use at 82 percent, buckets and the action record, in the dark theme.
Overview: a single node in region eu-central-1.

Buckets

Every bucket with its size, logical and on the drives.

Objects, logical size, size on the drives with erasure overhead, quota, creation time and region per bucket. From each row: media rules, a quota, an upload key for one object, deletion under a reason.

The buckets list: media-library, nightly-backups, training-sets and web-assets with their object counts, sizes, creation times and region eu-central-1, and action buttons per row.
Buckets, with sizes from the usage pass that runs every interval.

Objects

Browse a bucket without opening an object.

Keys with their type as stored at write, size, age and ETag. A selected key's headers, user metadata and checksums come from its record in TessariDB, not from reading the object. Pages arrive by the server's cursor as you scroll; a name filter lists only a longer prefix.

Downloads are always attachments. A delete names the ETag the operator saw: if the object changed meanwhile, the delete is refused with 412 and the object is kept.

The object browser in media-library at 2026/10, listing hero-launch.jpg and team-offsite.jpg, with the side pane showing hero-launch.jpg as image/jpeg, 2.3 MiB, its ETag, content-type header and CRC64NVME checksum.
Objects. The side pane is read from the record, not from the object.

People and keys

Sign in the way your organisation already does.

oidc

OpenID Connect

Authorization code with PKCE, the ID token checked against the provider's keys with a fixed algorithm list, and a second factor required through amr.

keys

Keys shown once

Issuing is idempotent: a form submitted twice issues one key. A secret is shown once and never again. Revocation takes a reason.

fresh

Recent sign-in for privileged acts

Issuing a key, setting a grant or a quota, deleting a bucket: each needs a sign-in from the last five minutes.

glass

Break-glass

The root key beside a provider is the emergency path: it owes a reason, lasts 15 minutes, is recorded before the session exists and announced to a webhook.

logout

Back-channel logout

The provider ends a session at its next request. Measured on a test node: refused 8 ms after the logout's answer.

record

The action record

Every change and every download, with the key and the reason, kept a year in TessariDB, which refuses to change or remove an entry.