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

# Déploiement en production

## Liste de contrôle

* L’API n’est accessible que par l’intermédiaire d’un composant qui authentifie les appelants.
* Seuls `/parse`, `/jobs/` et `/batch/` sont routés vers le service d’ingestion.
* `ingest.maxUploadSize` et `ingest.scratchSize` sont dimensionnés pour votre plus grosse requête.
* `scaling.maxWorkers` et la capacité de vos nœuds sont adaptés à la charge de pointe.
* Les unités de traitement s’exécutent sur des nœuds dédiés, et tous les composants s’exécutent sur des nœuds `amd64`.
* `orchestrator.workLeaseSeconds` est supérieur à la durée de traitement de votre unité la plus lente.
* Les résultats sont récupérés dans le délai défini par `orchestrator.jobRetentionSeconds`, ou lus depuis le volume de sortie.
* Le stockage de sortie supprime automatiquement les anciens résultats, s’ils ne doivent pas être conservés indéfiniment.

## Exposition de l’API

Le chart crée un Service `ClusterIP`, `fineparser-ingest`, sur le port 8080, mais aucun Ingress. Les clients situés dans le cluster peuvent appeler `http://fineparser-ingest.fineparser.svc.cluster.local:8080`.

Pour l’exposer en dehors du cluster, placez devant lui votre propre Ingress, Gateway ou répartiteur de charge :

* **Authentifiez les appelants.** L’ingestion ne dispose d’aucune authentification. Quiconque peut y accéder est en mesure de soumettre des documents et de télécharger les résultats.
* **Ne routez que** `/parse` ainsi que les préfixes `/jobs/` et `/batch/`.
* **Autorisez les corps de requête volumineux,** d’une taille au moins égale à `ingest.maxUploadSize`.
* **Autorisez les requêtes longues.** Définissez des délais d’expiration suffisamment longs pour que votre plus gros téléversement puisse aboutir.

## Dimensionnement des téléversements

Une requête nécessite un espace temporaire d'ingestion équivalent à environ deux fois sa taille.

| Valeur | Par défaut | Valeur recommandée |
| - | - | - |
| `ingest.maxUploadSize` | `512Mi` | La taille de votre plus grande requête. Les requêtes plus volumineuses renvoient une erreur `413`. |
| `ingest.scratchSize` | `2Gi` | Environ deux fois `maxUploadSize`. Le nœud doit disposer de cette quantité de stockage éphémère libre pour chaque pod d'ingestion. |

## Résultats et conservation

Le statut d'une tâche terminée est conservé pendant la durée définie par `orchestrator.jobRetentionSeconds` (`86400`). Avec la valeur `"infinity"`, il est conservé indéfiniment. FineParser ne supprime jamais les résultats stockés sur le volume de sortie : ils restent téléchargeables même après l'expiration du statut.
