MIGRATION AND PORTABILITY

Export original files to another object store.
Export original files to another object store.

JSON goes in and comes out as JSON. The same is true for video, images and other files. Object reads reconstruct the original bytes; you do not need to export proprietary storage packs to recover your files.
Move to Keldra or away from it using tested object-storage tools and a clear migration plan. Reaching your licensed capacity does not remove read, delete or export access to existing data.
Original JSON kept intact
Original video kept intact
Original file bytes kept intact
Your files. Their original formats. Your choice of destination.

A clear, practical migration plan

Use this checklist for migration into Keldra or out to another storage system. Confirm each source and destination capability before transferring production data.
    1

    Inventory what you have

    Record source endpoints, buckets and prefixes, keys, counts, bytes and metadata. Include retained versions, delete markers, links, large files, encryption requirements, retention rules and the rate at which data changes.
    2

    Test the operations your transfer uses

    Check source listing and reads, destination creation and writes, authentication, request signing, pagination, ranges and limits. Test the actual large-object and multipart behaviour required by your chosen transfer tool.
    3

    Decide what must be preserved

    Choose current objects only or retained versions. Define key and metadata mapping, overwrite conflicts, deletes and links. Make explicit decisions for ACLs, IAM rules, custom tuples, storage classes, retention and holds rather than assuming they copy automatically.
    4

    Prepare destination capacity

    Provide enough licensed logical capacity, physical replica or erasure-coding space, recovery headroom, CPU, memory and network bandwidth. Allow for temporary copies and transfer buffers before starting production-sized ingestion.
    5

    Create the required indexes first

    Declare the supported index definitions before importing. Test field types, dates, arrays, extraction inputs and any embeddings or descriptors supplied by your application. Normal incoming object writes use the declared indexing path; no automatic model generation is implied.
    6

    Prepare and protect transfer credentials

    Use the required source and destination permissions, TLS and restrictive secret files. Keep encryption keys available where needed. Do not place secrets in browser links, command history or logs; rotate temporary transfer credentials when the migration finishes.
    7

    Pilot representative files

    Include JSON, media, empty files, unusual keys and very large objects. Verify original bytes, content types, metadata, version behaviour, expected queries and both authorised and unauthorised access before scaling up.
    8

    Transfer with bounded, resumable work

    Use bounded concurrency and streaming rather than buffering whole large files. Configure retries and backoff, retain per-object successes and failures, and define how the selected tool resumes without silently skipping or duplicating work.
    9

    Verify keys, bytes and queries

    Reconcile keys, counts and lengths. Compare independent byte hashes according to an agreed policy, verify metadata and sample downloads, then test representative index queries and required visibility. Do not assume every provider's ETag is a content hash.
    10

    Catch up changes, including deletes

    Use a final delta transfer supported by your tools or arrange a controlled write pause. Reconcile overwrites and deletions explicitly. One listing pass is not a consistent snapshot of a changing source; use a resumable checkpoint or replay procedure where available.
    11

    Switch clients after verification

    Update application endpoints and configuration only after acceptance checks pass. Smoke-test critical reads, writes, queries and public/private access. Monitor failures and preserve credentials without exposing them during the switch.
    12

    Keep a workable rollback route

    Retain the source for an agreed period. Decide in advance how writes accepted after cutover are reconciled if clients return to the old system. Rehearse that decision rather than relying on an untouched old copy alone.
    13

    Exercise export and restore

    Read original files into a tested S3-compatible destination or through supported native streaming APIs. Test interruption and restart of large transfers, reconstruction of original bytes and recovery from your independent backup procedure.
    14

    Retire the source deliberately

    Remove old copies only after acceptance, recovery and retention requirements are met. Revoke temporary credentials and document any historical versions, metadata or access rules intentionally left behind.

Keep control of your data

Read your files

Retrieve the original objects through supported APIs and tools, without buying extra capacity simply to unlock existing bytes.

Delete your files

Remove data according to your access and retention rules. A licensed-capacity limit is not a reason to lock you out of deletion.

Export original formats

Move JSON, video and other files as their original bytes. Search indexes do not force a proprietary export representation on the underlying files.

Continue access at capacity

Licensed capacity limits further growth, not read, delete or export access to existing data. Remove data or purchase more capacity before adding more.

Use tools you have tested

Keldra exposes supported S3 operations and native streaming APIs. There is no bundled one-click migration wizard or universal S3-to-S3 copy command in this release. Use a transfer tool compatible with both endpoints and qualify its required operations.

Files and permission models are different

Copying bytes does not recreate IAM policies, Zanzibar schemas, tuples or application relationships. Rebuild and test the destination's access rules separately, along with index definitions and any retained-version policy.

Verify bytes, not assumed ETags

Multipart and encrypted providers may use different ETag meanings. Choose and document an independent integrity check rather than treating all ETags as interchangeable hashes.

Keep operational headroom

Continued access still depends on the data and servers being available, valid permissions, retention rules and enough physical resources to perform the operation. A licence promise cannot make a completely full or failed disk healthy.

Keep a verified copy and a tested migration route.

Choose storage that keeps your files useful, your exit route clear and your infrastructure under your control.