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

# Deployment YAML reference

> Model, file-source and workflow-promotion fields.

The top-level keys are models (required, at least one entry), deployment, fileSources and promotion. Unknown top-level keys are rejected. Provider requirements and cross-field validation still apply to optional fields.

Start with [Configuration](https://docs.eigenpal.com/self-hosting/configuration.md) for examples.

## Deployment

Transfer limits use bytes. Parsing selections and allowedProviders contain model IDs.

> [accordion] Show settings
>
> | Setting | Type | Default |
> | - | - | - |
> | `deployment.multipartMaxBytes` | integer \| null | unset |
> | `deployment.parsing.ocrProvider` | string | unset |
> | `deployment.parsing.visionProvider` | string | unset |
> | `deployment.parsing.allowedProviders` | string\[] | unset |
> | `deployment.archiveMaxBytes` | integer | unset |

## Language models

Assign model roles explicitly. The first entry for a role is its default. Credential fields may reference environment variables.

> [accordion] Show settings
>
> | Setting | Type | Default |
> | - | - | - |
> | `models[].provider` | openai \| openai-compatible \| anthropic \| azure-openai \| google \| bedrock | unset |
> | `models[].apiKey` | string | unset |
> | `models[].baseUrl` | string | unset |
> | `models[].model` | string | unset |
> | `models[].organizationId` | string | unset |
> | `models[].local` | boolean | unset |
> | `models[].reasoning.supportedEfforts` | none \| minimal \| low \| medium \| high \| xhigh \| max\[] | required |
> | `models[].reasoning.defaultEffort` | none \| minimal \| low \| medium \| high \| xhigh \| max | unset |
> | `models[].disableTemperature` | boolean | unset |
> | `models[].requestTimeout` | integer | 120 |
> | `models[].maxRetries` | integer | 3 |
> | `models[].maxConcurrentRequests` | integer | 0 |
> | `models[].keepAliveTimeout` | integer | unset |
> | `models[].basicAuthUsername` | string | unset |
> | `models[].basicAuthPassword` | string | unset |
> | `models[].customHeaders` | object | unset |
> | `models[].azureEndpoint` | string | unset |
> | `models[].azureApiVersion` | string | "2024-02-15-preview" |
> | `models[].azureDeployment` | string | unset |
> | `models[].awsRegion` | string | "us-east-1" |
> | `models[].awsAccessKeyId` | string | unset |
> | `models[].awsSecretAccessKey` | string | unset |
> | `models[].kind` | llm | unset |
> | `models[].id` | string | required |
> | `models[].label` | string | unset |
> | `models[].source` | openai \| openai-compatible \| anthropic \| azure-openai \| google \| bedrock | unset |
> | `models[].aliases` | string\[] | unset |
> | `models[].tags` | string\[] | unset |
> | `models[].capabilityRank` | integer | unset |
> | `models[].roles` | workflowStep \| workflowBuilder \| agentInference \| agentTraining \| judge \| vision \| ocr\[] | required |

## OCR models

Use kind: ocr and the ocr role. Credentials and connection requirements depend on the provider.

> [accordion] Show settings
>
> | Setting | Type | Default |
> | - | - | - |
> | `models[].provider` | azure \| google \| aws \| tesseract \| openparser \| paddle | required |
> | `models[].apiKey` | string | unset |
> | `models[].endpoint` | string | unset |
> | `models[].model` | string | unset |
> | `models[].requestTimeout` | integer | unset |
> | `models[].maxConcurrentRequests` | integer | unset |
> | `models[].projectId` | string | unset |
> | `models[].awsRegion` | string | "us-east-1" |
> | `models[].awsAccessKeyId` | string | unset |
> | `models[].awsSecretAccessKey` | string | unset |
> | `models[].kind` | ocr | required |
> | `models[].id` | string | required |
> | `models[].label` | string | unset |
> | `models[].tags` | string\[] | unset |
> | `models[].capabilityRank` | integer | unset |
> | `models[].roles` | workflowStep \| workflowBuilder \| agentInference \| agentTraining \| judge \| vision \| ocr\[] | required |

## Promotion

Use the same environment order across installations. The git.provider field selects the GitHub or GitLab settings. Artifact storage must be shared.

> [accordion] Show settings
>
> | Setting | Type | Default |
> | - | - | - |
> | `promotion.environment` | string | required |
> | `promotion.environments` | object\[] | configure for your installation |
> | `promotion.environments[].name` | string | required |
> | `promotion.environments[].label` | string | unset |
> | `promotion.environments[].approvers` | string | unset |
> | `promotion.environments[].url` | string | unset |
> | `promotion.environments[].gitIdentity` | string | unset |
> | `promotion.git.provider` | github | required |
> | `promotion.git.apiUrl` | string | "[https://api.github.com](https://api.github.com)" |
> | `promotion.git.repository` | string | required |
> | `promotion.git.branch` | string | "main" |
> | `promotion.git.token` | string | unset |
> | `promotion.git.app.id` | string | required |
> | `promotion.git.app.privateKey` | string | required |
> | `promotion.git.provider` | gitlab | required |
> | `promotion.git.apiUrl` | string | "[https://gitlab.com/api/v4](https://gitlab.com/api/v4)" |
> | `promotion.git.token` | string | required |
> | `promotion.notifications.enabled` | true | required |
> | `promotion.notifications.secret` | string | required |
> | `promotion.artifactStore.path` | string | required |
> | `promotion.artifactStore.s3.bucket` | string | required |
> | `promotion.artifactStore.s3.prefix` | string | "eigenpal-promotion/" |
> | `promotion.artifactStore.s3.region` | string | unset |
> | `promotion.artifactStore.s3.endpoint` | string | unset |
> | `promotion.artifactStore.s3.accessKeyId` | string | unset |
> | `promotion.artifactStore.s3.secretAccessKey` | string | unset |

## File sources

fileSources maps connection names to provider settings. Each accepts type and enabled (default true). Connections present here are read-only in Studio. GPFS requires FILE\_SOURCE\_INTEGRATIONS=gpfs on app and worker.

## GPFS file registry

Run reference: `stackId/fileId`. Set TLS verification on for production connections.

> [accordion] Show settings
>
> | Setting | Type | Default |
> | - | - | - |
> | `baseUrl` | string | required |
> | `defaultStack` | string | unset |
> | `allowedContainers` | string | unset |
> | `authToken` | secret | unset |
> | `insecureSkipTlsVerify` | boolean | false |
> | `timeoutMs` | number | 30000 |
> | `maxFileBytes` | number | 52428800 |

## Amazon S3

Run reference: `bucket/key`. Set TLS verification on for production connections.

> [accordion] Show settings
>
> | Setting | Type | Default |
> | - | - | - |
> | `region` | string | "us-east-1" |
> | `allowedContainers` | string | unset |
> | `accessKeyId` | string | unset |
> | `secretAccessKey` | secret | unset |
> | `roleArn` | string | unset |
> | `externalId` | string | unset |
> | `stsEndpointUrl` | string | unset |
> | `sessionToken` | secret | unset |
> | `endpointUrl` | string | unset |
> | `timeoutMs` | number | 30000 |
> | `maxFileBytes` | number | 52428800 |

## Azure Blob Storage

Run reference: `container/blobName`. Set TLS verification on for production connections.

> [accordion] Show settings
>
> | Setting | Type | Default |
> | - | - | - |
> | `accountUrl` | string | required |
> | `allowedContainers` | string | unset |
> | `tenantId` | string | unset |
> | `clientId` | string | unset |
> | `clientSecret` | secret | unset |
> | `sasToken` | secret | unset |
> | `authorityHost` | string | "[https://login.microsoftonline.com](https://login.microsoftonline.com)" |
> | `timeoutMs` | number | 30000 |
> | `maxFileBytes` | number | 52428800 |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.