> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Storage

FineParser Enterprise uses three volumes:

| Volume | Access mode | Holds |
| - | - | - |
| In-process | ReadWriteMany | Uploads and partial results while jobs run. Shared by ingest and every worker. |
| Output | ReadWriteMany | Finished results, as `{jobId}/{name}`. Shared by ingest and every worker. |
| Orchestrator state | ReadWriteOnce | The job queue. |

The in-process and output volumes must be writable by user and group `65534`, which every FineParser container runs as.

FineParser never deletes finished results. Results stay on the output volume after they are downloaded and after the job's status expires. Remove them with your storage's own lifecycle rules.

## Configuring the volumes

The chart creates a claim for each volume, or uses one you created with `existingClaim`. The in-process volume is an EFS file system and the output volume is an S3 bucket:

```yaml fineparser-values.yaml theme={null}
storage:
  inProcess:
    efs:
      fileSystemId: fs-0123456789abcdef0
  output:
    s3:
      bucket: my-fineparser-output
  s3:
    region: us-east-2
```

See [EFS file system](https://docs.abbyy.com/fine-parser/enterprise/aws/efs.md) and [S3 output bucket](https://docs.abbyy.com/fine-parser/enterprise/aws/s3.md), including how to use claims you created.

## Orchestrator state

The orchestrator requests a `ReadWriteOnce` volume of `orchestrator.storage.size` (`2Gi`) from the cluster's default StorageClass. Check that the cluster has one with `kubectl get storageclass`; it is marked `(default)`.

```yaml fineparser-values.yaml theme={null}
storageClass:
  name: <block-storage-class>   # empty uses the default class
```

The state volume is kept when the release is uninstalled. See [Upgrades and uninstalling](https://docs.abbyy.com/fine-parser/enterprise/best-practices/upgrades.md#uninstalling).

## Ingest scratch space

Each ingest pod buffers uploads in node-local scratch space capped at `ingest.scratchSize`. A request that fills it gets the pod evicted. See [Sizing uploads](https://docs.abbyy.com/fine-parser/enterprise/best-practices/production-deployment.md#sizing-uploads).
