Object Storage — CLI Guide
The dodil k3 CLI covers five Storage command groups:
dodil k3 bucket— bucket lifecycle (create,get,list,update,delete)dodil k3 bucket policy— S3-style ACL (set,get,delete)dodil k3 bucket cors— CORS configuration (set,get,delete)dodil k3 object— object operations (createupload,show,list,urlpresign,remove)dodil k3 mount— mount a bucket as a local filesystem via FUSE / NFS
The CLI mirrors the full Storage API surface; the JSON-heavy operations (policy set, cors set) take a JSON file via -f FILE (or -f - for stdin).
For install, auth, output format, and global flags see CLI Basics. For the underlying API contracts see Object Storage — API Reference.
Quick setup
Configure once and every subsequent command picks the values up:
export DODIL_TOKEN="<bearer_token>"
export DODIL_ORG="<org_id>"Or pass them per-command with --token / --org. The --api-endpoint flag defaults to the gRPC gateway target; override with --api-endpoint "https://k3.dev.dodil.io" for HTTP-backed commands like object create.
How dodil k3 object create works under the hood
dodil k3 object create uploads the file via HTTP PUT to <api-endpoint>/<bucket>/<key>. There is no gRPC equivalent — object bytes don’t flow through the gRPC StorageService (cf. Objects — byte plane). The CLI uses the same --api-endpoint flag for both the gRPC control plane and as the HTTP base for object create.
See also
- CLI Basics — install, auth, persistent flags, output format
- Object Storage — API Reference — the full Storage API surface (gRPC + HTTP)
- Object Storage · Core Concepts
- Conventions — auth headers and error envelope