Development¶
Go 1.27 is used in the Docker image. Node.js 22+ is needed only for the Cloudflare Worker.
Match the existing style: gofmt, no new dependencies without a reason, and
tests for behavior changes.
Test coverage¶
The test suite uses an in-memory fake object store and covers setup token enforcement, auth, upload-intent creation, staging-to-live copy-on-complete, single-PUT completion, multipart part URLs/reporting/status/completion/abort, exact part-size validation, oversized-provider-part rejection, abort-failure retention, orphan multipart sweeping, endpoint rate limits, multipart janitor cleanup, idempotent completion, direct upload verification, ownership, per-client and global quota rejection, abort, janitor expiry, orphan sweeping, expiry cleanup, admin deletion, restricted-upload enforcement, admin-generated hashes, approval changes, trusted-proxy parsing, cookie naming, and schema migrations.
S3 integration, CORS, CopyObject, multipart, and presigned PUT behaviour must
be tested against your provider.
Build the binary directly¶
Worker¶
Deployment for the Worker is covered in B2 with a Cloudflare Worker.
Documentation site¶
This documentation site is a separate repository that builds with ProperDocs. To preview changes:
Then edit docs/ and the dev server reloads automatically. Before opening a
pull request, build with warnings treated as errors and check internal links:
Related pages¶
- Architecture โ how the packages fit together.
- Contributing guide โ repository rules.
- Configuration โ runtime settings.