Configuring Object Storage Buckets and Permissions
This page describes how to configure object storage buckets and permissions for the WarpStream Agents.
Last updated
This page describes how to configure object storage buckets and permissions for the WarpStream Agents.
Last updated
We highly recommend running the WarpStream Agent with a dedicated bucket for isolation; however, the WarpStream Agent will only write/read data under the warpstream
prefix.
The WarpStream Agent manages all data in the object storage warpstream
directory. It is extremely important that you allow it to do so alone and never delete files from the warpstream
directory manually. Manually deleting files in the warpstream
directory will effectively "brick" a virtual cluster and require that it be recreated from scratch.
The WarpStream bucket should not have a configured object retention policy. WarpStream will manage the lifecycle of the objects, including deleting objects that have been compacted or have expired due to retention. If you must configure a retention policy on your bucket, make sure it is significantly longer than the longest retention of any topic/stream in any of your Virtual Clusters to avoid data loss.
We recommend configuring a lifecycle policy for cleaning up aborted multi-part uploads. This will prevent failed file uploads from the WarpStream Agent from accumulating in the bucket forever and increasing your storage costs. Below is a sample Terraform configuration for various different cloud providers:
In addition to configuring the WarpStream buckets, you'll also need to make sure the Agent containers have the appropriate permissions to interact with the bucket.
Specifically, the Agents need permission to perform the following operations:
PutObject
To create new files.
GetObject
To read existing files.
DeleteObject
So the Agents can enforce retention and cleanup of pre-compaction files.
ListBucket
So the Agents can enforce retention and cleanup of pre-compaction files.
Below is an example Terraform configuration for an AWS IAM policy document that provides WarpStream with the appropriate permissions to access a dedicated S3 bucket: