Internal Storage
Internal Storage is a dedicated storage area to store arbitrary-sized files used during executions.
The purpose of Internal Storage
Kestra uses an Internal Storage to handle incoming and outgoing files in a scalable way. It stores files generated during a flow execution and used to pass data between tasks.
Data stored in the internal storage can be retrieved from execution context with {{ outputs.task_id.output_attribute }}
(usually it's a uri
property). Kestra will automatically fetch the file.
Inputs of type FILE
will be automatically stored inside the internal storage.
On the Outputs tab of an execution, if an output attribute is from the internal storage, there will be a link to download it.
Other execution metadatas (so the actual paths to internal storage) are stored into the Repository.
Internal Storage Types
By default, only the local storage is available. It uses a directory inside the host filesystem, so it is not scalable and not designed for production usage.
More implementations are available as plugins.
You can replace the local storage with one of the following storage implementations:
- Storage Minio for Minio, which is compatible with AWS S3 and all other object storage solutions.
- Storage GCS for Google Cloud Storage.
- Storage Azure for Azure Blob Storage.
Was this page helpful?