Skip to main content

Manage Buckets

How to manage CoreWeave AI Object Storage buckets with popular S3 clients.

In CoreWeave AI Object Storage, data is stored as objects consisting of the data itself, its metadata, and a unique identifier. These objects are organized into containers called buckets, which provide a namespace for objects to ensure that object names are unique within a bucket. Additionally, buckets can have specific configurations and policies to manage the data lifecycle and security.

Creating and deleting buckets are both straightforward operations that can be performed programmatically using the S3-compatible Object Storage API or various S3-compatible tools.

This guide explains how to manage CoreWeave AI Object Storage buckets with Cloud Console and using three popular clients: S3cmd, AWS CLI, and Boto3.

Prerequisites

This guide assumes that you have followed the steps in Get started with AI Object Storage. Before you begin, ensure that you have completed the following tasks:

  1. Set up Workload Identity Federation for your organization.
  2. Create Access Keys with either SAML/SSO assertions or Cloud Console tokens.
  3. Create a bucket to store data.
  4. Set organization and bucket access policies to control access, lifecycle, and auditing.
  5. Set up your endpoints to ensure you're using the required virtual-hosted addressing style, and the correct endpoints for AI Object Storage.

About LOTA (Local Object Transport Accelerator)

To use LOTA, clients must point their requests to the LOTA endpoint instead of the primary endpoint. No other changes are required for S3-compatible clients.

  • Use the LOTA endpoint, http://cwlota.com, when running inside a CoreWeave cluster. The LOTA endpoint routes to the LOTA cache for best performance.
  • Use the primary endpoint, https://cwobject.com, when running outside of a CoreWeave cluster.

Learn more about LOTA.

Bucket considerations

Bucket creation

You cannot create a bucket without a valid API Access key. Anonymous requests are never allowed to create buckets. To obtain an API Access key, see How-To: Manage Access Keys.

The user who creates a bucket automatically becomes the bucket owner. The bucket owner has full control over the bucket and its contents.

Bucket naming

Bucket names must be globally unique across all CoreWeave locations. Attempting to create a bucket with a name that already exists in another location will result in an error.

Bucket names must not begin with cw- or vip-. These prefixes are reserved for internal use. Attempting to create a bucket with a reserved name will result in an error.

Endpoint configuration

All requests to CoreWeave AI Object Storage endpoints must be in DNS (virtual-hosted) style, where the bucket name is part of the domain name in the URL.

  • Use http://<bucket-name>.cwlota.com if using the LOTA endpoint.
  • Use https://<bucket-name>.cwobject.com if using the primary endpoint.
  • Set your S3 configuration to specify a virtual addressing style.

Manage buckets with Cloud Console

The Buckets section allows you to manage your buckets. You can create and delete buckets, and view their total size and the number of objects in them.

The Grafana link at the top of the page leads to a Grafana dashboard for all buckets in your organization.

The More menu on the right allows you to view the Grafana dashboard focuses on that specific bucket, or delete the bucket.

Availability Zones

S3cmd, AWS CLI, and Boto3 use the term "region" to define the location of the object storage service. However, at CoreWeave, Regions are larger constructs that are organized into Availability Zones (AZs). When configuring your client, use a CoreWeave Availability Zone in place of the traditional AWS "region".

When creating a new bucket, you must specify the Availability Zone in which the bucket will be created.

  • When creating a bucket with S3cmd, use --bucket-location with the Availability Zone.
  • When creating a bucket with AWS CLI or Boto3, use LocationConstraint.

The examples that follow demonstrate proper use.

Manage buckets programmatically

The following examples show how to manage buckets with the AWS CLI, s3cmd, and Boto3.

  • AWS CLI is a unified tool for managing AWS services from the command line. It provides a consistent interface for interacting with S3-compatible services, including CoreWeave AI Object Storage. Follow these steps to install and configure the AWS CLI, then use it to create and delete buckets in CoreWeave AI Object Storage.
  • S3cmd is a command-line tool for managing objects in S3-compatible object storage services. It can be used to create, delete, and manage buckets, as well as upload, download, and manage objects within those buckets. S3cmd is available for Linux and macOS.
  • Boto3 is the AWS SDK for Python. It allows you to interact with AWS services programmatically using Python. Follow these steps to install and configure Boto3, then use it to create and delete buckets in CoreWeave AI Object Storage.

Install tools

AWS CLI supports macOS, Linux, and Windows. See the official installation procedures for your operating system in the AWS CLI User Guide.

Configure tools

To set up your AWS configuration for CoreWeave AI Object Storage, create a new credentials file and profile in your CoreWeave configuration directory. Using a separate profile for CoreWeave AI Object Storage is recommended to avoid conflicts with your other AWS profiles and S3-compatible services.

  1. Create a new profile called cw and a credentials file located at ~/.coreweave/cw.credentials:

    Configure a CoreWeave credentials file and profile
    $
    AWS_SHARED_CREDENTIALS_FILE=~/.coreweave/cw.credentials aws configure --profile cw
  2. When prompted for information, provide the following values:

    FieldValue
    AWS Access Key IDThe CoreWeave AI Object Storage Access Key.
    AWS Secret KeyThe CoreWeave AI Object Storage Secret Key.
    Default region nameOptional. To set a default region, refer to the CoreWeave Availability Zones.
    Default output formatUse json for JSON output.
  3. Set the endpoint URL to the appropriate endpoint for your use case:

    Endpoint URLDescription
    https://cwobject.comThe primary endpoint for CoreWeave AI Object Storage. Use this when running outside of a CoreWeave cluster.
    http://cwlota.comThe LOTA endpoint, which routes to the LOTA cache for best performance. Always use the LOTA endpoint when running inside a CoreWeave cluster.
    Set the LOTA endpoint URL in your CoreWeave configuration file
    $
    AWS_CONFIG_FILE=~/.coreweave/cw.config aws configure set endpoint_url http://cwlota.com --profile cw
    Set the primary endpoint URL in your CoreWeave configuration file
    $
    AWS_CONFIG_FILE=~/.coreweave/cw.config aws configure set endpoint_url https://cwobject.com --profile cw
  4. Set the default addressing style to virtual in your CoreWeave configuration file. This is required for CoreWeave AI Object Storage, as it uses virtual-hosted style URLs.

    Set virtual addressing style in your CoreWeave configuration file
    $
    AWS_CONFIG_FILE=~/.coreweave/cw.config aws configure set default.s3.addressing_style virtual --profile cw

Create a bucket

Use the aws s3api command to create a new bucket. For example:

Replace the highlighted BUCKET_NAME and AVAILABILITY_ZONE below with your desired bucket name and a CoreWeave Availability Zone.

Create a bucket with AWS CLI
$
aws s3api create-bucket \
--bucket BUCKET_NAME \
--region AVAILABILITY_ZONE \
--create-bucket-configuration LocationConstraint=AVAILABILITY_ZONE
Important
  • The LocationConstraint parameter is required.
  • The bucket name must be globally unique across all CoreWeave locations.
  • Bucket names must not begin with cw- or vip-. These prefixes are reserved for internal use.

Delete a bucket

Only empty buckets can be deleted. Remove all objects, object versions, and delete markers before deleting a bucket.

To delete a bucket, use the delete-bucket sub-command as shown. Only empty buckets can be deleted. Remove all objects, object versions, and delete markers before deleting a bucket.

Replace the highlighted BUCKET_NAME below with the name of the bucket you wish to delete.

Delete a bucket with AWS CLI
$
aws s3api delete-bucket --bucket BUCKET_NAME

Report usage

To report the usage of a bucket, use aws s3 with the ls sub-command. Use the --recursive, --human-readable, and --summarize parameters to view information in an easier-to-understand format.

Replace the highlighted BUCKET_NAME below with the name of your bucket.

Report bucket usage with AWS CLI
$
aws s3 ls s3://BUCKET_NAME --recursive --human-readable --summarize

Next steps

Now that you've installed and configured an S3-compatible client, and created a bucket, it's time to upload objects to the bucket. See How to: Add Files and Objects to Buckets for more information.