scribase export
Assembles a signed, runnable bundle for a Scribase environment: the database archive, storage objects, auth users and policies, rendered as a Docker Compose project or Kustomize manifests, with a manifest of SHA-256 digests over every artifact and an HMAC-SHA256 signature.
An export is a background job. export create queues it; the control plane's
export worker dumps, packs and boot-checks the bundle, then marks it
available. export download --wait follows it to completion and saves the
bundle.
Usage
scribase export [create] <org> <project> <env> [--format compose|kustomize] [--schema-only] [--no-storage] [--wait] [--out FILE]
scribase export list <org> [<project>]
scribase export get <org> <export>
scribase export download <org> <export> [--out FILE] [--wait] [--timeout SECONDS] [--force]Options
| Flag | Applies to | Description |
|---|---|---|
--format |
create |
Output format: compose (default) or kustomize |
--schema-only |
create |
Leave table data out of the database archive |
--no-storage |
create |
Leave storage objects out of the bundle |
--wait |
create, download |
Wait for the export to become available, then download it |
--out |
create --wait, download |
Where to save the bundle (default <export>.tar.gz) |
--timeout |
create --wait, download --wait |
Longest time to wait, in seconds (default 1800) |
--force |
download |
Overwrite an existing output file |
Examples
# Queue a Docker Compose export and print its record (state "requested")
scribase export acme store production
# Queue a Kustomize export, wait for it, and save the bundle
scribase export create acme store production --format kustomize --wait --out store.tar.gz
# Every export in the organization, or in one project
scribase export list acme
scribase export list acme store
# One export's manifest, including a short-lived signed download link once available
scribase export get acme ex-3f9a1c2b7d4e5f60
# Download an existing export
scribase export download acme ex-3f9a1c2b7d4e5f60 --out store.tar.gzStates
| State | Meaning |
|---|---|
requested |
Queued for the export worker |
packing, verifying |
Being dumped and bundled, then boot-checked |
available |
Ready; export get returns a signed download_url |
failed |
The worker stopped; error says why |
expired |
Past its retention; the bundle file was removed |
export download refuses to overwrite an existing file unless you pass
--force. It writes to <out>.part and renames the file only after a complete
download, so an interrupted download never leaves a truncated bundle behind.
Notes
- The API routes are
POST /v1/organizations/{org}/projects/{project}/environments/{env}/exports,GET /v1/organizations/{org}/exports,GET /v1/organizations/{org}/projects/{project}/exportsandGET /v1/organizations/{org}/exports/{export}. See Exports. - The signed download link carries its own authorization and expires after a
short time; run
export getagain for a fresh one. - Exports need
SCRIBASE_EXPORT_SIGNING_KEY_IDandSCRIBASE_EXPORT_SIGNING_KEYset on the control plane. Without them the create route answers503. - Verify the manifest signature before you deploy an exported bundle to production.