Tigris integration
Tigris is an S3-compatible object storage service that automatically caches data at the edge closest to where it's accessed. Zero egress fees and a free tier (5 GB).
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.
Tigris's API follows the same schema as any S3 compatible API.
Add a S3 resource
To integrate Tigris to Windmill, you need to save the following elements as a resource.

Create an access key at console.tigris.dev. Keys are prefixed with tid_ (access key) and tsec_ (secret key).
| Property | Type | Description | Default | Required | Where to Find | Additional Details |
|---|---|---|---|---|---|---|
| bucket | string | S3 bucket name | true | Tigris Console | Name of the bucket to access | |
| region | string | AWS region for the S3 bucket | auto | true | N/A | Must be auto. Tigris routes requests to the nearest edge automatically |
| useSSL | boolean | Use SSL for connections | true | false | N/A | SSL/TLS is required for Tigris |
| endPoint | string | S3 endpoint | true | Tigris documentation | Use t3.storage.dev, or fly.storage.tigris.dev on Fly.io | |
| accessKey | string | AWS access key | true | Tigris Console | Access key ID, prefixed with tid_ | |
| pathStyle | boolean | Use path-style addressing | false | false | N/A | Must be false. Tigris uses virtual-hosted-style URLs |
| secretKey | string | AWS secret key | true | Tigris Console | Secret access key, prefixed with tsec_ |
Your resource can be used passed as parameters or directly fetched within scripts, flows, low-code apps and full-code 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, Azure Blob, or Google Cloud Storage resource in Windmill, you can use Windmill's native integration with S3, Azure Blob, or GCS, 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.
