Console
Documentation menu

Guides

Storage

Connect S3, Azure Blob or Google Cloud Storage, or use ClockingCloud Global Volumes, and mount them into instances.

Your options

ProviderURIWhere data lives
Amazon S3s3://bucket[/prefix]In your AWS account. ClockingCloud caches it next to the GPU.
Azure Blob Storageazure://container[/prefix]In your Azure account. Cached next to the GPU.
Google Cloud Storagegs://bucket[/prefix]In your Google Cloud project. Cached next to the GPU.
ClockingCloud Global Volumecreated by nameStored by ClockingCloud and available in every region. Sized from 10 to 10,000 GB.

Create a Global Volume

Terminal
clockingcloud volume create renders --size 500
clockingcloud volume ls

Names are 2 to 39 lowercase letters, numbers or dashes, and unique within your account. Size is a whole number of gigabytes from 10 to 10,000. Deleting a Global Volume permanently deletes its data.

Connect a bucket

Store credentials as account secrets, then connect. Use a credential that is read-only unless jobs must write results back, and scope it to the one bucket or prefix.

ProviderSecrets read by default
Amazon S3AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, optional AWS_REGION
Azure Blob StorageAZURE_STORAGE_CONNECTION_STRING
Google Cloud StorageGOOGLE_APPLICATION_CREDENTIALS_JSON (the service account key JSON)
Terminal
clockingcloud secrets set AWS_ACCESS_KEY_ID
clockingcloud secrets set AWS_SECRET_ACCESS_KEY
clockingcloud volume connect s3://brand-assets --name assets --read-only

The bucket URI must start with s3://, azure:// or gs://. clockingcloud drive connect is accepted as an alias. Removing a connected volume only removes the link. Your bucket is never modified or deleted by ClockingCloud unless a job writes to it.

Mount into an instance

clockingcloud.yaml
volumes:
  - name: assets        # read training data and references
    mount: /data
    mode: ro
  - name: renders       # write generated output
    mount: /out

Or on the command line: clockingcloud deploy ... --volume assets:/data:ro --volume renders:/out. Mounts are available to setup steps and to the model process.

Referencing volumes in commands

Commands that take a data location, such as clockingcloud run --image and clockingcloud cp, use vol://<volume>/<path>.

FormMeaning
vol://renders/2026/10Path inside the volume named renders.
s3://bucket/keyDirect bucket path. Needs the matching secrets, not a volume.
global://rendersAccepted alias for a Global Volume named renders.
clockingcloud://global/rendersAccepted alias, as shown in the console.

Caching and consistency

  • Reads are cached on the node after first access. Changes you make directly in your bucket can take up to a minute to appear.
  • Writes to a mounted bucket are flushed when the file is closed and again when the replica stops. Do not stop a replica mid-write.
  • Two replicas writing the same file path is not safe. Write to per-request paths such as /out/$REQUEST_ID.
  • Egress charges from your cloud provider for reading your own bucket are billed by that provider, not by ClockingCloud.

Something unclear or missing? Email hello@clockingcloud.com.