Sign inSign up

tessaridb/s3

By tessaridb

•Updated 7 days ago

S3-compatible object storage; metadata in TessariDB, object bytes on your drives.

Image
0

980

tessaridb/s3 repository overview

⁠TessariDB S3

An S3-compatible object store. Object bytes live on the node's drives (or erasure-coded across a cluster); buckets, versions and every other piece of metadata live in TessariDB⁠.

  • Image: distroless, non-root (uid 65532), linux/amd64 and linux/arm64. No shell, no credential inside.
  • Ports: 9100 S3 API, 9101 web console.
  • Health check: tessaridb-s3 health.
  • Status: beta. Versions before 1.0 promise no compatibility with each other.
  • Metadata: TessariDB 0.36.2, on its own storage engine, TessariKV⁠. A metadata store written by 0.35.3 or earlier moves by snapshot and restore — see the CHANGELOG.

⁠Run with its metadata store

git clone https://github.com/TessariDB/tessaridb-s3 && cd tessaridb-s3
cp .env.example .env        # set every value
docker compose up -d --wait
aws --endpoint-url http://127.0.0.1:9100 s3 mb s3://first

⁠Required environment

VariableMeaning
TESSARIDB_S3_ROOT_ACCESS_KEY / _SECRET_KEYthe root S3 credential
TESSARIDB_S3_META_ADDRESSTessariDB node(s), host:port
TESSARIDB_S3_META_USER / _PASSWORDthe server's own TessariDB account

Optional, often wanted:

VariableMeaning
TESSARIDB_S3_CONSOLE_LISTENwhere the console listens, e.g. 0.0.0.0:9101; unset, there is no console
TESSARIDB_S3_IAM_KEY64 hex digits; needed to issue user access keys

Object bytes go to the volume /var/lib/tessaridb-s3. Everything else is documented in the repository README⁠.

Put a TLS-terminating proxy in front before exposing either port.

⁠Licence

BUSL-1.1: all production use is free, including commercial, except offering it to third parties as a hosted or managed object-storage service. Each version converts to Apache-2.0 four years after its release.

Tag summary

Content type

Image

Digest

sha256:4a34b67a2…

Size

17.1 MB

Last updated

7 days ago

docker pull tessaridb/s3