> ## 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.

# 本番環境へのデプロイメント

## チェックリスト

* API には、呼び出し元を認証する仕組みを経由しなければアクセスできない。
* `/parse`、`/jobs/`、`/batch/` のみが ingest にルーティングされている。
* `ingest.maxUploadSize` と `ingest.scratchSize` が、最大サイズのリクエストに対応できる値になっている。
* `scaling.maxWorkers` とノードの容量が、ピーク時の負荷に見合っている。
* ワーカーが専用のノードで実行され、すべてのコンポーネントが `amd64` ノードで実行されている。
* `orchestrator.workLeaseSeconds` が、最も時間のかかる処理単位の所要時間よりも長く設定されている。
* 結果を `orchestrator.jobRetentionSeconds` 以内に回収するか、出力ボリュームから読み取るようになっている。
* 結果を無期限に保持する必要がない場合は、出力ストレージで古い結果が期限切れになるよう設定されている。

## APIの公開

このチャートは、ポート8080で `ClusterIP` Service の `fineparser-ingest` を作成しますが、Ingressは作成しません。クラスター内のクライアントは `http://fineparser-ingest.fineparser.svc.cluster.local:8080` を呼び出せます。

クラスター外部に公開するには、独自のIngress、Gateway、またはロードバランサーを前段に配置します。

* **呼び出し元を認証してください。** Ingestには認証機能がありません。Ingestにアクセスできれば、誰でもドキュメントを送信し、結果をダウンロードできます。
* **ルーティングは** `/parse` と、`/jobs/` および `/batch/` のプレフィックス**のみに限定してください。**
* **大きなリクエストボディを許可してください。** 上限は `ingest.maxUploadSize` 以上に設定します。
* **長時間のリクエストを許可してください。** 最大サイズのアップロードが完了するまで待てるよう、タイムアウトを十分に長く設定してください。

## アップロードのサイジング

リクエストを処理するには、そのサイズの約 2 倍の ingest 用一時領域が必要です。

| 値 | デフォルト | 推奨設定 |
| - | - | - |
| `ingest.maxUploadSize` | `512Mi` | 想定される最大のリクエストサイズ。これを超えるリクエストには `413` が返されます。 |
| `ingest.scratchSize` | `2Gi` | `maxUploadSize` の約 2 倍。ノードには、ingest pod 1 つにつきこの容量の空きエフェメラルストレージが必要です。 |

## 結果と保持期間

完了したジョブのステータスは、`orchestrator.jobRetentionSeconds` (`86400`) で指定された秒数の間保持されます。`"infinity"` を指定すると無期限に保持されます。出力ボリューム上の結果が FineParser によって削除されることはなく、ステータスの保持期間が過ぎた後もダウンロードできます。
