Douklar 4.0.0, 23 October 2026.A new CLI, douklar, and retry of unfinished objects from a finished S3 Batch job.Read the release notes

Douklar

Running a sync

How a reviewed run is queued, executed, verified and retried.

View as Markdown

Queued and durable

Douklar console Sync page: a Scope, Review, Run stepper with a cross-account source account and one selected target account.Douklar console Sync page: a Scope, Review, Run stepper with a cross-account source account and one selected target account.
Sync: choose the scope, review the plan, run it. Sample data.

A run is queued in PostgreSQL and executed by the sync worker, a separate process. When you queue it, the run binds the selected non-secret configuration; when it starts, it checks that configuration and the AWS identity again. A changed setup refuses rather than running something you did not review.

One sync is queued or running at a time, across all users. While one is, a new run is refused with 409 sync_run_active. A queued run that is already marked for cancel does not count.

Runs support cancellation, deadlines and partial-failure accounting. Failed resources are recorded so you can retry only those.

Concurrency

Mappings run with bounded, CPU-aware concurrency. The default caps per service are ECR 4, S3 3, CodeCommit 3 and DynamoDB 3, and can be overridden with environment variables.

Verification, per service

ServiceWhat is verified
ECRRoot digest and descriptor-set equality after every tag write
S3 server-side copyA destination HEAD bound to the copy receipt
S3 local uploadWhat actually landed
CodeCommitFinal source and destination ref parity
DynamoDBStrong per-item reads

The S3 worker relay does not read back uploaded bytes; it keeps a per-object upload journal. S3 Batch records a waybill whose content verification is marked not_checked.

S3 worker relay limits

The relay stages all selected bytes before upload. A run is refused when the selected bytes plus a 1 GiB reserve exceed the free space, and each mapping has a one-hour cooperative deadline. For larger moves, use server-side copy or S3 Batch Operations.

Notifications

The console shows an inbox, a bell and a status pill, driven by a status-only WebSocket. There are no external notifications: no email, webhook, Slack or SNS.

Nothing runs on its own

There is no scheduling of any kind on the server. A run happens only when a person starts it or a queued job is picked up.

Keyboard shortcuts

g h
Home
g c
The console
g m
Use cases
g d
Docs
g r
Releases
/ or Ctrl K
Search the docs (on docs pages)
t
Switch light and dark
?
Show this list