Cloudflare integration
Cloudflare R2 is a cloud object storage service for data-intensive applications.
Instance and workspace object storage are different from using S3 resources within scripts, flows, and apps, which is free and unlimited. This is what is described in this page.
At the workspace level, what is exclusive to the Enterprise version is using the integration of Windmill with S3 that is a major convenience layer to enable users to read and write from S3 without having to have access to the credentials.
Additionally, for instance integration, the Enterprise version offers advanced features such as large-scale log management and distributed dependency caching.
Cloudflare's API follows the same schema as any S3 compatible API.
Add an S3 Resource
To integrate Cloudflare to Windmill, you need to save the following elements as a resource.
Here is the information on where to find the required details:
Property | Type | Description | Default | Required | Where to Find | Additional Details |
---|---|---|---|---|---|---|
bucket | string | S3 bucket name | true | R2 Dashboard | Name of the S3 bucket to access | |
region | string | AWS region for the S3 bucket | true | R2 documentation | The region is specific to R2 and is set when creating the bucket | |
useSSL | boolean | Use SSL for connections | true | false | R2 documentation | SSL/TLS is required for Cloudflare R2 |
endPoint | string | S3 endpoint | true | R2 documentation | Endpoint URL will be in the format https://[bucket-id].r2.storage.cloud.cloudflare.com | |
accessKey | string | AWS access key | false | Not applicable for Cloudflare R2 | Access key ID is not required for R2 | |
pathStyle | boolean | Use path-style addressing | false | false | Not applicable for Cloudflare R2 | Virtual-hosted-style URLs are always used in R2 |
secretKey | string | AWS secret key | false | Not applicable for Cloudflare R2 | Secret access key is not required for R2 |
Your resource can be used passed as parameters or directly fetched within scripts, flows and apps.
Example of a Supabase resource being used in two different manners from a script in Windmill.
Workspace object storage
Once you've created an S3 or Azure Blob resource in Windmill, you can use Windmill's native integration with S3 and Azure Blob, making it the recommended storage for large objects like files and binary data.
The workspace object storage is exclusive to the Enterprise edition. It is meant to be a major convenience layer to enable users to read and write from S3 without having to have access to the credentials.
Instance object storage
Under Enterprise Edition, instance object storage offers advanced features to enhance performance and scalability at the instance level. This integration is separate from the Workspace object storage and provides solutions for large-scale log management and distributed dependency caching.