Object storage

S3-compatible buckets for user uploads, static assets and generated files.

Object storage holds files: user uploads, generated reports, images, backups. Buckets are S3-compatible, so existing SDKs and tools work against them without modification.

Create a bucket

bash
guidal storage create uploads

List what you have:

bash
guidal storage list
guidal storage get uploads

Connect a service

bash
guidal storage link uploads --service api

This injects the bucket's endpoint and credentials into the service, so your application can use its usual S3 client without credentials in your source. Detach with guidal storage unlink uploads --service api.

To retrieve credentials directly — for a local tool, say:

bash
guidal storage credentials uploads

Work with files from the CLI

bash
guidal storage ls uploads
guidal storage cp ./report.pdf uploads/reports/report.pdf
guidal storage cp uploads/reports/report.pdf ./local-copy.pdf
guidal storage rm uploads/reports/report.pdf

Share a file temporarily

A presigned URL grants time-limited access to a single object without making the bucket public:

bash
guidal storage presign uploads/reports/report.pdf --expires 3600

This is the right way to let a browser download a private file: the URL works for the stated window and then stops, with no credentials exposed and no permanent public exposure.

A presigned URL is a bearer token

Anyone holding the URL can use it until it expires. Keep expiry windows short, and do not put presigned URLs anywhere they will be logged, cached by a proxy, or shared onward.

Using an S3 SDK

Because buckets are S3-compatible, point any SDK at the endpoint from storage credentials and use its normal API — path-style addressing, standard signing. No Guidal-specific client is needed.

Plan limits

PlanMax bucketsStorage
Starter35 GB
Pro1025 GB
Team25100 GB

Storage is a shared budget across buckets and databases. An upload that would exceed it is refused rather than silently truncated, and you are warned as you approach the limit.

Delete

bash
guidal storage delete uploads

Deleting a bucket removes its contents. Copy anything you want to keep first — guidal storage cp can pull objects down before you delete.