STORE MORE. FIND MORE. DO MORE.
Object storage.Already searchable.Object storage.Already searchable.
Object storage.
Already searchable.
Object storage.
Already searchable.
Keldra combines object storage, search and permissions in one platform, so your data stays in your infrastructure and is easy to find, use and control.
Stop juggling separate tools. Keep things simpler, more secure and more cost-effective — with Keldra running on your infrastructure.
Get your free licence: 10 TB, 3 nodes, 48 total CPU units.
GET STARTED IN MINUTES
Three simple steps
1
Run Docker
Start Keldra using Docker on your infrastructure.
export KELDRA_IMAGE=ghcr.io/keldra-store/keldra:0.22.0
umask 077
mkdir -p keldra-data
head -c 64 /dev/urandom > keldra-data/token-signing-key
chmod 0600 keldra-data/token-signing-key
docker run --rm --user 0 \
-v "$PWD/keldra-data/token-signing-key:/key" \
"$KELDRA_IMAGE" chown 10001:10001 /key
docker volume create keldra-demo-data
docker run --rm --user 0 -v keldra-demo-data:/var/lib/keldra \
"$KELDRA_IMAGE" chown 10001:10001 /var/lib/keldra
docker run -d --name keldra-demo \
-p 127.0.0.1:50051:50051 \
-v keldra-demo-data:/var/lib/keldra \
-v "$PWD/keldra-data/token-signing-key:/run/secrets/keldra-token-signing-key:ro" \
-e KELDRA_RUN_SYSTEM_BOOTSTRAP=true "$KELDRA_IMAGE"
docker logs keldra-demo
2
Provision and upload with the CLI
Create your tenant and bucket, then upload your first file with the Keldra CLI.
openssl rand -hex 32 | tr -d '\n' > keldra-data/owner.secret
docker cp keldra-data/owner.secret keldra-demo:/tmp/owner.secret
docker exec --user 0 keldra-demo chown 10001:10001 /tmp/owner.secret
docker exec keldra-demo keldra --endpoint http://127.0.0.1:50051 \
--credentials-file /var/lib/keldra/system-bootstrap-credential.json \
provision-tenant example example-owner example-client \
--owner-client-secret-file /tmp/owner.secret
docker cp keldra-demo:/var/lib/keldra/system-bootstrap-credential.json \
keldra-data/system-bootstrap-credential.json
chmod 0600 keldra-data/system-bootstrap-credential.json
docker exec --user 0 keldra-demo rm /var/lib/keldra/system-bootstrap-credential.json
docker exec -e KELDRA_CLIENT_ID=example-client keldra-demo \
keldra --endpoint http://127.0.0.1:50051 \
--client-secret-file /tmp/owner.secret create-bucket objects
printf 'hello from Keldra\n' > keldra-data/hello.txt
docker cp keldra-data/hello.txt keldra-demo:/tmp/hello.txt
docker exec --user 0 keldra-demo chown 10001:10001 /tmp/hello.txt
docker exec -e KELDRA_CLIENT_ID=example-client keldra-demo \
keldra --endpoint http://127.0.0.1:50051 \
--client-secret-file /tmp/owner.secret \
put example objects greetings/hello.txt /tmp/hello.txt \
--content-type text/plain --command-id first-upload
3
Download with curl
Retrieve that same file with an authenticated curl request and compare the bytes.
printf 'user = "example-client:%s"\n' "$(cat keldra-data/owner.secret)" \
> keldra-data/curl.credentials
chmod 0600 keldra-data/curl.credentials
curl --fail --show-error --config keldra-data/curl.credentials \
--aws-sigv4 'aws:amz:eu-west-2:s3' \
http://127.0.0.1:50051/objects/greetings/hello.txt \
--output keldra-data/downloaded.txt
cmp keldra-data/hello.txt keldra-data/downloaded.txt
Fewer services. A more capable platform.
Keldra brings together storage, search and permissions, so you can do more with fewer moving parts. Run it on your own infrastructure and keep control from day one.
Fewer separate services
Replace a patchwork of storage, search and access tools with one cohesive platform. Simpler to run, easier to manage, less to go wrong.
Your own infrastructure
Deploy on the infrastructure you already trust. Keep your data where you need it, with full control over security, placement and costs.
Storage + search + permissions
Store files, index supported data and control access in one platform. Find what you need without maintaining another copy just for search.
Fewer separate services
Replace a patchwork of storage, search and access tools with one cohesive platform. Simpler to run, easier to manage, less to go wrong.
Your own infrastructure
Deploy on the infrastructure you already trust. Keep your data where you need it, with full control over security, placement and costs.
Storage + search + permissions
Store files, index supported data and control access in one platform. Find what you need without maintaining another copy just for search.
Includes a free licence to get started
10 TB storage · 3 nodes · 48 total CPU units
Five additional free development licences cover 25 GB each.
No credit card required.