Recipes
Self-contained, runnable scenarios for the patterns developers actually ship. Every recipe is grounded in K3’s real surface — no aspirational APIs — and uses the same Dodil service-account credentials you already have for dodil login.
What’s here
| Recipe | When you need it |
|---|---|
| Direct-from-browser upload | Let logged-in users upload files straight to K3 from your frontend, without proxying bytes through your backend |
| Multipart for large files | Files over ~100 MB — resumable, parallelizable, and required past 5 GB |
| Static site / asset hosting | Serve public assets (downloads, logos, build outputs) from K3 without minting presigned URLs |
| Mirror from AWS S3 | One-shot or ongoing copy from an existing AWS S3 bucket into K3 |
Conventions used in these recipes
- Endpoint examples use the staging gateway
https://k3.dev.dodil.io. Swap tohttps://k3.dodil.iofor production. - Bucket names use the placeholder
kb-prod— replace with your real bucket. - Credentials assume your Dodil service-account ID/secret. See S3 Compatibility for setup.
- Path-style addressing is required everywhere —
forcePathStyle: truein the JS SDK,addressing_style: "path"in boto3.
Other useful pages
- Quickstart — first object in 5 minutes via
dodil k3 - S3 Compatibility — client setup tabs + full compat matrix
- API Reference — gRPC + HTTP admin contracts