Skip to main content
Terraform providers are plugins that let Terraform manage infrastructure resources across different platforms. You can use Terraform to manage access policies and configure bucket lifecycles and versioning. Because CoreWeave AI Object Storage is S3-compatible, you can manage it with either the CoreWeave Terraform provider or the official Terraform AWS Provider. Both providers translate Terraform’s declarative syntax into S3-compatible API calls. To manage data and objects, you can use any S3-compatible tool. See How-To: Manage Objects to learn how to use CoreWeave AI Object Storage with s3cmd, Boto3, or the AWS CLI.

Configure Terraform

These examples show how to set up the Terraform provider with CoreWeave AI Object Storage.
Endpoint selectionChoose an endpoint based on where Terraform runs:
  • Use the LOTA endpoint, http://cwlota.com, when Terraform runs inside a CoreWeave cluster. The LOTA endpoint routes to the LOTA path for lower-latency access.
  • Use the primary endpoint, https://cwobject.com, when Terraform runs outside of a CoreWeave cluster.
The AWS provider example configuration includes the required overrides for compatibility with CoreWeave AI Object Storage, while the native CoreWeave provider example configuration doesn’t require these overrides.
terraform {
  required_providers {
    coreweave = {
      source  = "coreweave/coreweave"
      version = ">= 0.3.0"
    }
  }
  required_version = ">= 1.2.0"
}

provider "coreweave" {
  token = env.COREWEAVE_API_TOKEN
  s3_endpoint = env.COREWEAVE_S3_ENDPOINT # If using LOTA, set to http://cwlota.com
}

Some aspects to note in this example:
  • token is set as an environment variable for security. Get your API access token from the CoreWeave Access Tokens page in Cloud Console.
  • s3_endpoint defaults to https://cwobject.com, which is the primary CoreWeave AI Object Storage endpoint. To use LOTA, set this value to http://cwlota.com.
  • version is set to >= 0.3.0 because 0.3.0 is the first version to support AI Object Storage.

Object Storage resources

After you configure the provider, you can use Terraform to manage organization access policies and bucket access policies, and configure bucket lifecycles and versioning. For detailed examples and documentation, see the CoreWeave provider registry documentation.

Known issues

CoreWeave provider 0.7.0 silently drops NoncurrentVersionTransitions

Version 0.7.0 of the CoreWeave Terraform provider silently drops the NoncurrentVersionTransitions block when applying a coreweave_object_storage_bucket_lifecycle_configuration resource. The plan reports success, but the rule applied to the bucket does not include the noncurrent-version transition action. This bug was fixed in v0.7.1. Upgrade to v0.7.1 or later (current release: v0.13.0). If you cannot upgrade immediately, apply lifecycle configurations that use NoncurrentVersionTransitions directly with the AWS CLI or Boto3. See Apply a lifecycle configuration. To verify whether a previously applied configuration was affected, read back the active lifecycle configuration with s3:GetBucketLifecycleConfiguration and compare it to the configuration in your Terraform code.

Additional resources

Last modified on June 8, 2026