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

# Référence de l’API : 2026.10.16

> Référence des champs de la ressource personnalisée Vantage vantage.abbyy.com/v1alpha1, qui pilote les installations de Vantage 3.0 auto-hébergé.

## Versions des artefacts

| Artefact | Version |
| - | - |
| Chart `vantage-operator` | `0.91.1` |
| Chart `vantage-selfhosted` | `0.91.1` |
| Image `vantage-operator` | `v0.91.1` |

Le programme d’installation de Vantage 3.0 auto-hébergé repose sur une seule ressource personnalisée Kubernetes : un objet `Vantage` du groupe d’API `vantage.abbyy.com/v1alpha1`. Les champs décrits ci-dessous constituent l’intégralité du contrat entre vous et l’operator.

Pour une vue d’ensemble conceptuelle de la façon dont l’operator exploite cette ressource, voir [Architecture](https://docs.abbyy.com/fr/vantage/self-hosted/v3.0/architecture.md). Pour la procédure d’installation, choisissez [Azure](https://docs.abbyy.com/fr/vantage/self-hosted/v3.0/providers/azure.md) ou [Kubernetes autogéré](https://docs.abbyy.com/fr/vantage/self-hosted/v3.0/providers/self-managed.md).

## Groupe d'API

| Group | Version | Ressource |
| - | - | - |
| `vantage.abbyy.com` | `v1alpha1` | `Vantage` |

## Vantage

Vantage est le schéma de l’API vantages

| Champ | Type | Obligatoire | Description |
| - | - | - | - |
| `apiVersion` | `string` | Oui | vantage.abbyy.com/v1alpha1 |
| `kind` | `string` | Oui | Vantage |
| `metadata` | `object` | Oui | Pour connaître les champs de `metadata`, consultez la documentation de l’API Kubernetes. |
| `spec` | `object` | Oui | spec définit l’état souhaité de Vantage. Voir [`spec`](#vantagespec). |
| `status` | `object` | Non | status définit l’état observé de Vantage. Voir [`status`](#vantagestatus). |

> [!NOTE]
>
> **Validation de `spec`** : `!self.reportingEnabled || !has(self.databaseProvider) || self.databaseProvider == 'SqlServer'` : reportingEnabled exige que databaseProvider soit défini sur 'SqlServer' ; la fonctionnalité de déclaration est disponible uniquement avec SQL Server et ne peut pas être utilisée avec PostgreSQL

## Vantage.spec

spec définit l’état souhaité de Vantage

| Champ | Type | Obligatoire | Description |
| - | - | - | - |
| `dnsRecord` | `string` | Oui | dnsRecord est l’enregistrement DNS de l’installation Vantage. Format : `hostname`. |
| `mailFrom` | `string` | Oui | mailFrom est l’adresse e-mail utilisée comme expéditeur des e-mails sortants. Format : `email`. |
| `platformAdminEmail` | `string` | Oui | platformAdminEmail est l’adresse e-mail de l’administrateur de la plateforme. Format : `email`. |
| `secrets` | `object` | Oui | secrets sélectionne et configure le fournisseur de secrets. Un seul et unique fournisseur doit être spécifié. Voir [`secrets`](#vantagespecsecrets). |
| `updatePolicy` | `object` | Oui | updatePolicy contrôle la manière dont l’operator gère les mises à niveau de Vantage. Voir [`updatePolicy`](#vantagespecupdatepolicy). |
| `vantageVersion` | `string` | Oui | vantageVersion est la version de Vantage à installer. |
| `workloads` | `object` | Oui | workloads configure la ConfigMap contenant les données relatives aux charts et aux images. Voir [`workloads`](#vantagespecworkloads). |
| `argocd` | `object` | Non | argocd configure les ressources Argo CD que l’operator crée pour installer les charges de travail Vantage. Si ce champ est omis, l’installation s’effectue dans le projet « default ». Voir [`argocd`](#vantagespecargocd). |
| `databaseProvider` | `enum` | Non | databaseProvider sélectionne le moteur de base de données utilisé par l’ensemble des services Vantage. Par défaut : `SqlServer` · Enum : `SqlServer, PostgreSQL`. |
| `debug` | `boolean` | Non | debug détermine si les charges de travail sont installées en mode débogage. Par défaut : `false`. |
| `idReadingEnabled` | `boolean` | Non | idReadingEnabled active les fonctionnalités de lecture de documents d’identité. Par défaut : `false`. |
| `keda` | `object` | Non | keda configure les paramètres KEDA. S’il n’est pas spécifié, la prise en charge de KEDA est désactivée. Voir [`keda`](#vantagespeckeda). |
| `minimalInstall` | `boolean` | Non | minimalInstall configure le déploiement des charges de travail avec des ressources minimales. Par défaut : `false`. |
| `ociMigration` | `object` | Non | ociMigration configure la copie des artefacts d’un registre source vers un registre de destination avant l’installation. Omettez-le entièrement ou définissez enabled=false pour ignorer la migration. Lorsqu’il est activé, destination est obligatoire. Voir [`ociMigration`](#vantagespecocimigration). |
| `reportingEnabled` | `boolean` | Non | reportingEnabled active les fonctionnalités de déclaration SQL Server. SQL Server uniquement : la charge de travail de déclaration exécute des migrations propres à SQL Server et n’est pas prise en charge sur PostgreSQL. Définir cette valeur sur true nécessite databaseProvider 'SqlServer' (contrainte imposée par la validation de spec ci-dessus) ; elle est rejetée avec PostgreSQL. Par défaut : `false`. |
| `reverseProxy` | `boolean` | Non | reverseProxy garantit que les services applicatifs Vantage sont configurés pour s’exécuter derrière un proxy inverse qui assure la terminaison TLS. Par défaut : `false`. |
| `serviceAccountName` | `string` | Non | serviceAccountName est le nom du compte de service à utiliser pour les charges de travail Vantage. Omettez-le pour utiliser le compte de service par défaut. Chaque charge de travail peut remplacer cette valeur via workloads.serviceAccounts. Par défaut : `default` · Longueur minimale : `1`. |
| `smtp` | `object` | Non | smtp configure le serveur de messagerie SMTP. S’il n’est pas spécifié, Sendgrid est utilisé comme fournisseur de messagerie. Voir [`smtp`](#vantagespecsmtp). |
| `storage` | `object` | Non | storage configure les options de stockage avancées. Voir [`storage`](#vantagespecstorage). |
| `techcore` | `object` | Non | techcore contient la configuration du moteur de traitement TechCore. Voir [`techcore`](#vantagespectechcore). |

> [!NOTE]
>
> **Validation de `secrets`** : `has(self.kubernetes) != has(self.azure)` : un seul et unique fournisseur doit être spécifié

> [!NOTE]
>
> **Validation de `updatePolicy`** : `!has(self.auto)` : les mises à jour automatiques ne sont pas encore prises en charge

> [!NOTE]
>
> **Validation de `updatePolicy`** : `(has(self.auto) ? 1 : 0) + (has(self.manual) ? 1 : 0) == 1` : une seule stratégie de mise à jour doit être spécifiée

> [!NOTE]
>
> **Validation de `ociMigration`** : `!has(self.enabled) || self.enabled == false || has(self.destination)` : la destination est obligatoire lorsque ociMigration est activé

> [!NOTE]
>
> **Validation de `storage`** : `!has(self.s3)` : le stockage S3 n'est pas encore pris en charge

> [!NOTE]
>
> **Validation de `storage`** : `(has(self.azure) ? 1 : 0) + (has(self.s3) ? 1 : 0) + (has(self.custom) ? 1 : 0) <= 1` : un seul fournisseur de stockage peut être spécifié au maximum

## Vantage.spec.secrets

secrets sélectionne et configure le fournisseur de secrets.
Un seul et unique fournisseur doit être spécifié.

| Champ | Type | Obligatoire | Description |
| - | - | - | - |
| `azure` | `object` | Non | azure configure Azure Key Vault (via le pilote CSI Secrets Store) comme source des secrets. Voir [`azure`](#vantagespecsecretsazure). |
| `kubernetes` | `object` | Non | kubernetes configure les Secrets natifs de Kubernetes comme source des secrets. Voir [`kubernetes`](#vantagespecsecretskubernetes). |

## Vantage.spec.secrets.azure

azure configure Azure Key Vault (via le pilote CSI Secrets Store) comme source des secrets.

| Champ | Type | Obligatoire | Description |
| - | - | - | - |
| `keyVaultName` | `string` | Oui | keyVaultName désigne l’Azure Key Vault qui contient les secrets. |
| `tenantId` | `string` | Oui | tenantId désigne le locataire Azure AD propriétaire du Key Vault. |
| `clientId` | `string` | Non | clientId désigne l’identifiant client Azure AD de l’identité managée attribuée par l’utilisateur qui dispose d’un accès en lecture au Key Vault. Obligatoire lorsque identityMode a la valeur « workloadIdentity » (valeur par défaut). |
| `identityMode` | `enum` | Non | identityMode détermine la manière dont le pilote CSI s’authentifie auprès d’Azure. Par défaut : `workloadIdentity` · Enum : `workloadIdentity, podIdentity, vmManagedIdentity`. |
| `objects` | `map[string]object` | Non | objects permet, de manière facultative, de remplacer la mise en correspondance entre un alias de secret (tel que référencé dans workloads-secrets.yml) et un objet Key Vault spécifique. Si un alias ne figure pas dans cette map, l’alias lui-même sert de nom d’objet Key Vault et l’objet est récupéré avec le type « secret ». Voir [`objects`](#vantagespecsecretsazureobjectskey). |
| `userAssignedIdentityID` | `string` | Non | userAssignedIdentityID désigne l’identifiant client de l’identité managée attribuée par l’utilisateur à utiliser lorsque identityMode a la valeur « vmManagedIdentity ». |

## Vantage.spec.secrets.azure.objects\[key]

AzureSecretObjectConfig décrit un objet Key Vault unique associé à un
alias de secret.

| Champ | Type | Obligatoire | Description |
| - | - | - | - |
| `objectName` | `string` | Oui | objectName est le nom de l'objet dans Azure Key Vault. |
| `objectType` | `enum` | Non | objectType est le type d'objet Key Vault. La valeur par défaut est « secret ». Par défaut : `secret` · Enum : `secret, key, cert`. |
| `objectVersion` | `string` | Non | objectVersion épingle une version précise de l'objet Key Vault. Par défaut, la dernière version est utilisée. |

## Vantage.spec.secrets.kubernetes

kubernetes configure les Secrets Kubernetes natifs comme source des secrets.

| Champ | Type | Obligatoire | Description |
| - | - | - | - |
| `objects` | `map[string]object` | Non | objects définit les secrets Kubernetes à utiliser. S'il n'est pas défini, les noms de secrets par défaut sont utilisés. Voir [`objects`](#vantagespecsecretskubernetesobjectskey). |

## Vantage.spec.secrets.kubernetes.objects\[key]

| Champ | Type | Obligatoire | Description |
| - | - | - | - |
| `secretName` | `string` | Oui | secretName est le nom du Secret Kubernetes |

## Vantage.spec.updatePolicy

updatePolicy détermine la manière dont l'operator gère les mises à niveau de Vantage.

| Champ | Type | Obligatoire | Description |
| - | - | - | - |
| `manual` | `object` | Non | manual désactive les mises à niveau automatiques. Les mises à niveau s'effectuent en installant une nouvelle version du chart Helm de l'operator. |

Pas encore pris en charge. L'operator rejette toute ressource qui définit ces champs.

| Champ | Type | Obligatoire | Description |
| - | - | - | - |
| `auto` | `object` | Non | `auto` active les mises à niveau automatiques de version. Pas encore implémenté. Voir [`auto`](#vantagespecupdatepolicyauto). |

## Vantage.spec.updatePolicy.auto

auto active les mises à niveau automatiques de version. Pas encore implémenté.

| Champ | Type | Obligatoire | Description |
| - | - | - | - |
| `releaseURL` | `string` | Oui | releaseURL est l’URL à partir de laquelle récupérer le bundle de la version de Vantage. Format : `uri`. |

## Vantage.spec.workloads

workloads configure la ConfigMap contenant les données relatives aux charts et aux images

| Champ | Type | Obligatoire | Description |
| - | - | - | - |
| `configMap` | `string` | Oui | configMap est le nom de la ConfigMap contenant les données des charges de travail |
| `metadataTemplateKey` | `string` | Oui | metadataTemplateKey est la clé de la ConfigMap qui contient le modèle de métadonnées relatif à l'installation des charts |
| `secretsKey` | `string` | Oui | secrets est la clé de la ConfigMap qui contient les métadonnées des secrets. |
| `workloadsKey` | `string` | Oui | workloadsKey est la clé de la ConfigMap qui contient la liste des charts et des images |
| `additionalMetadataKey` | `string` | Non | additionalMetadataKey est la clé de la ConfigMap qui contient des métadonnées supplémentaires relatives à l'installation des charts |
| `pods` | `object` | Non | pods configure les métadonnées ajoutées aux pods des charges de travail. Voir [`pods`](#vantagespecworkloadspods). |
| `serviceAccounts` | `object` | Non | serviceAccounts remplace spec.serviceAccountName pour certaines charges de travail. Voir [`serviceAccounts`](#vantagespecworkloadsserviceaccounts). |

## Vantage.spec.workloads.pods

`pods` configure les métadonnées ajoutées aux pods des charges de travail.

| Champ | Type | Obligatoire | Description |
| - | - | - | - |
| `charts` | `map[string]object` | Non | `charts` associe des noms de chart aux métadonnées ajoutées aux pods des charges de travail de ce chart, en complément des métadonnées communes à toutes les charges de travail (et avec priorité sur celles-ci). Voir [`charts`](#vantagespecworkloadspodschartskey). |
| `labels` | `map[string]string` | Non | Les étiquettes `labels` sont ajoutées aux pods de chaque charge de travail. |

## Vantage.spec.workloads.pods.charts\[key]

ChartPodsConfig définit les métadonnées ajoutées aux pods des charges de travail d'un chart Helm Vantage donné.

| Champ | Type | Obligatoire | Description |
| - | - | - | - |
| `deployment` | `object` | Non | deployment configure les pods du déploiement du chart. Voir [`deployment`](#vantagespecworkloadspodschartskeydeployment). |
| `migrator` | `object` | Non | migrator configure les pods de la tâche de l’outil de migration du chart. Voir [`migrator`](#vantagespecworkloadspodschartskeymigrator). |
| `statefulSet` | `object` | Non | statefulSet configure les pods du StatefulSet du chart. Voir [`statefulSet`](#vantagespecworkloadspodschartskeystatefulset). |

## Vantage.spec.workloads.pods.charts\[key].deployment

deployment configure les pods du déploiement du chart.

| Champ | Type | Obligatoire | Description |
| - | - | - | - |
| `labels` | `map[string]string` | Non | Étiquettes ajoutées aux pods de la charge de travail. |

## Vantage.spec.workloads.pods.charts\[key].migrator

migrator configure les pods de la tâche de l'outil de migration du chart.

| Champ | Type | Obligatoire | Description |
| - | - | - | - |
| `labels` | `map[string]string` | Non | Étiquettes ajoutées aux pods de la charge de travail. |

## Vantage.spec.workloads.pods.charts\[key].statefulSet

statefulSet configure les pods du statefulset du chart.

| Champ | Type | Obligatoire | Description |
| - | - | - | - |
| `labels` | `map[string]string` | Non | Les étiquettes sont ajoutées aux pods de la charge de travail. |

## Vantage.spec.workloads.serviceAccounts

serviceAccounts remplace spec.serviceAccountName pour certaines charges de travail.

| Champ | Type | Obligatoire | Description |
| - | - | - | - |
| `charts` | `map[string]object` | Non | charts associe chaque nom de chart aux comptes de service utilisés par les charges de travail de ce chart. Les charges de travail sans entrée correspondante utilisent spec.serviceAccountName. Voir [`charts`](#vantagespecworkloadsserviceaccountschartskey). |

## Vantage.spec.workloads.serviceAccounts.charts\[key]

ChartServiceAccountsConfig définit la configuration des comptes de service pour les charges de travail d'un même chart Helm Vantage.

| Champ | Type | Obligatoire | Description |
| - | - | - | - |
| `deployment` | `object` | Non | deployment configure le compte de service utilisé par le déploiement du chart. Voir [`deployment`](#vantagespecworkloadsserviceaccountschartskeydeployment). |
| `migrator` | `object` | Non | migrator configure le compte de service utilisé par la tâche de l'outil de migration du chart. Voir [`migrator`](#vantagespecworkloadsserviceaccountschartskeymigrator). |
| `statefulSet` | `object` | Non | statefulSet configure le compte de service utilisé par le StatefulSet du chart. Voir [`statefulSet`](#vantagespecworkloadsserviceaccountschartskeystatefulset). |

## Vantage.spec.workloads.serviceAccounts.charts\[key].deployment

`deployment` configure le compte de service utilisé par le déploiement du chart.

| Champ | Type | Obligatoire | Description |
| - | - | - | - |
| `name` | `string` | Oui | Nom du compte de service. Longueur minimale : `1` · Longueur maximale : `253` · Motif : `^[a-z0-9]([-a-z0-9.]*[a-z0-9])?$`. |

## Vantage.spec.workloads.serviceAccounts.charts\[key].migrator

migrator configure le compte de service utilisé par la tâche de l'outil de migration du chart.

| Champ | Type | Obligatoire | Description |
| - | - | - | - |
| `name` | `string` | Oui | nom du compte de service. Longueur minimale : `1` · Longueur maximale : `253` · Motif : `^[a-z0-9]([-a-z0-9.]*[a-z0-9])?$`. |

## Vantage.spec.workloads.serviceAccounts.charts\[key].statefulSet

statefulSet configure le compte de service utilisé par le StatefulSet du chart.

| Champ | Type | Obligatoire | Description |
| - | - | - | - |
| `name` | `string` | Oui | Nom du compte de service. Longueur minimale : `1` · Longueur maximale : `253` · Motif : `^[a-z0-9]([-a-z0-9.]*[a-z0-9])?$`. |

## Vantage.spec.argocd

argocd configure les ressources Argo CD que l’operator crée pour installer les charges de travail Vantage.
Si ce champ est omis, l’installation s’effectue dans le projet « default ».

| Champ | Type | Obligatoire | Description |
| - | - | - | - |
| `project` | `string` | Non | project désigne l’AppProject Argo CD auquel appartiennent les Applications générées. Le projet doit autoriser le cluster et l’espace de noms de destination, faute de quoi Argo CD refuse de les synchroniser. Par défaut : `default` · Longueur minimale : `1`. |

## Vantage.spec.keda

keda configure les paramètres de KEDA. S'il n'est pas spécifié, la prise en charge de KEDA est désactivée.

| Champ | Type | Obligatoire | Description |
| - | - | - | - |
| `enabled` | `boolean` | Non | enabled indique si la mise à l’échelle automatique basée sur KEDA doit être utilisée pour les charges de travail compatibles. Par défaut : `false`. |

## Vantage.spec.ociMigration

ociMigration configure la copie des artefacts d’un registre source vers une destination avant l’installation.
Omettez-le entièrement ou définissez enabled=false pour ignorer la migration.
Lorsque la migration est activée, destination est obligatoire.

| Champ | Type | Obligatoire | Description |
| - | - | - | - |
| `concurrency` | `integer` | Oui | concurrency indique le nombre d’artefacts à copier en parallèle. Par défaut : `5` · Minimum : `1`. |
| `destination` | `object` | Non | destination désigne l’emplacement vers lequel les artefacts sont copiés. Voir [`destination`](#vantagespecocimigrationdestination). |
| `enabled` | `boolean` | Non | enabled active la migration OCI. Par défaut : `true`. |
| `imagePullSecrets` | `[]object` | Non | imagePullSecrets est une liste facultative de références à des secrets du même espace de noms, utilisés pour récupérer l’image de l’operator qui exécute le job de migration OCI dans cet espace de noms. Voir [`imagePullSecrets`](#vantagespecocimigrationimagepullsecretsindex). |
| `labels` | `map[string]JSON` | Non | labels est l’ensemble des étiquettes à appliquer au job de migration OCI et au modèle de pod. Les valeurs qui ne sont pas de type string sont converties en string avec \[fmt.Sprint] |
| `resources` | `object` | Non | resources désigne les ressources de calcul du conteneur du job de migration OCI. Par défaut, le CPU n’est pas limité afin que la copie puisse absorber des pics de charge ; définissez une limite CPU sur les clusters dont les politiques en imposent une pour chaque conteneur. Seuls les champs requests et limits sont pris en compte : le job ne déclarant aucun resourceClaims au niveau du pod, les revendications sont rejetées. Par défaut : `{"limits":{"memory":"512Mi"},"requests":{"cpu":"100m","memory":"128Mi"}}`. Voir [`resources`](#vantagespecocimigrationresources). |
| `serviceAccountName` | `string` | Non | serviceAccountName est le nom du ServiceAccount utilisé pour exécuter le job de migration OCI. |
| `sources` | `[]object` | Non | sources désigne les identifiants permettant d’accéder aux registres depuis lesquels les artefacts sont copiés (par ex. JFrog). (Longueur maximale : 20) Nombre maximal d’éléments : `20`. Voir [`sources`](#vantagespecocimigrationsourcesindex). |

> [!NOTE]
>
> **Validation de `destination`** : `!self.host.contains('/')` : host ne doit pas contenir de chemin — utilisez le champ repository pour indiquer le chemin du registre

> [!NOTE]
>
> **Validation de `destination`** : `!self.host.contains('://')` : host ne doit pas inclure de schéma (par ex. https\://)

> [!NOTE]
>
> **Validation de `resources`** : `!has(self.claims) || size(self.claims) == 0` : resources.claims n'est pas pris en charge par le job de migration OCI

## Vantage.spec.ociMigration.destination

destination indique l’emplacement vers lequel les artefacts sont copiés.

| Champ | Type | Obligatoire | Description |
| - | - | - | - |
| `host` | `string` | Oui | host est le nom d’hôte du registre, éventuellement suivi d’un port (p. ex. registry.example.com, registry.example.com:5000). Longueur minimale : `1`. |
| `credentialsRef` | `object` | Non | credentialsRef fait référence à un Secret contenant des clés de nom d’utilisateur et de mot de passe, ou à un Secret de type kubernetes.io/dockerconfigjson. S’il est spécifié, il prévaut sur username/password. Voir [`credentialsRef`](#vantagespecocimigrationdestinationcredentialsref). |
| `password` | `string` | Non | Mot de passe pour l’authentification auprès du registre (en texte clair ; utilisez credentialsRef en production) |
| `repository` | `string` | Non | repository est le chemin/espace de noms du registre pour les artefacts (p. ex. « abbyy-docker », « vantage/images »). Motif : `^[a-z0-9]+([._-][a-z0-9]+)*(/[a-z0-9]+([._-][a-z0-9]+)*)*$`. |
| `username` | `string` | Non | Nom d’utilisateur pour l’authentification auprès du registre (en texte clair ; utilisez credentialsRef en production) |
| `workloadIdentity` | `object` | Non | workloadIdentity définit les paramètres permettant d’utiliser l’identité de la charge de travail (compte de service Kubernetes) pour accéder au registre. Voir [`workloadIdentity`](#vantagespecocimigrationdestinationworkloadidentity). |

## Vantage.spec.ociMigration.destination.credentialsRef

credentialsRef fait référence à un Secret contenant des clés de nom d’utilisateur et de mot de passe, ou à un Secret de type kubernetes.io/dockerconfigjson.
S’il est spécifié, ce champ est prioritaire sur username/password.

| Champ | Type | Obligatoire | Description |
| - | - | - | - |
| `name` | `string` | Oui | name est le nom du Secret |

## Vantage.spec.ociMigration.destination.workloadIdentity

workloadIdentity définit les paramètres permettant d’utiliser l’identité de la charge de travail (compte de service Kubernetes)
pour accéder au registre.

| Champ | Type | Obligatoire | Description |
| - | - | - | - |
| `audience` | `string` | Non | audience est le point de terminaison à utiliser pour échanger le jeton du compte de service contre un jeton d’accès OAuth. |
| `clientId` | `string` | Non | clientId est l’identifiant client à utiliser pour échanger le jeton du compte de service contre un jeton d’accès OAuth. |
| `tokenEndpoint` | `string` | Non | tokenEndpoint est le point de terminaison à utiliser pour échanger le jeton du compte de service contre un jeton d’accès OAuth. |

## Vantage.spec.ociMigration.imagePullSecrets\[index]

LocalObjectReference contient suffisamment d’informations pour vous permettre de localiser
l’objet référencé au sein du même espace de noms.

| Champ | Type | Obligatoire | Description |
| - | - | - | - |
| `name` | `string` | Non | Nom de l’objet référencé. Ce champ est en pratique obligatoire, mais il peut être vide pour des raisons de rétrocompatibilité. Une instance de ce type dont la valeur est vide ici est très certainement erronée. Plus d’informations : [https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names) Par défaut : \`\`. |

## Vantage.spec.ociMigration.resources

resources correspond aux ressources de calcul du conteneur du job de migration OCI. Par défaut, le
CPU n'est pas limité afin que la copie puisse absorber des pics de charge ; définissez une limite de CPU sur les clusters dont les stratégies imposent une limite pour
chaque conteneur. Seuls les champs requests et limits sont pris en compte : le job ne déclare aucun resourceClaims au niveau du pod,
les revendications sont donc rejetées.

| Champ | Type | Obligatoire | Description |
| - | - | - | - |
| `limits` | `map[string]intorstring` | Non | Limits définit la quantité maximale de ressources de calcul autorisée. Pour en savoir plus : [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) |
| `requests` | `map[string]intorstring` | Non | Requests définit la quantité minimale de ressources de calcul requise. Si Requests est omis pour un conteneur, il prend par défaut la valeur de Limits si celle-ci est explicitement spécifiée, sinon une valeur définie par l'implémentation. Requests ne peut pas dépasser Limits. Pour en savoir plus : [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) |

Pas encore pris en charge. L'operator rejette toute ressource qui définit ces champs.

| Champ | Type | Obligatoire | Description |
| - | - | - | - |
| `claims` | `[]object` | Non | Revendications répertorie les noms des ressources, définies dans spec.resourceClaims, qu'utilise ce conteneur. Ce champ dépend de la feature gate DynamicResourceAllocation. Ce champ est immuable. Il ne peut être défini que pour les conteneurs. Voir [`claims`](#vantagespecocimigrationresourcesclaimsindex). |

## Vantage.spec.ociMigration.resources.claims\[index]

ResourceClaim référence une entrée de PodSpec.ResourceClaims.

| Champ | Type | Obligatoire | Description |
| - | - | - | - |
| `name` | `string` | Oui | Ce nom doit correspondre au nom d'une entrée de pod.spec.resourceClaims du pod dans lequel ce champ est utilisé. Il rend cette ressource disponible dans un conteneur. |
| `request` | `string` | Non | Nom attribué à une requête dans la revendication référencée. Si ce champ est vide, l'intégralité de la revendication est mise à disposition ; sinon, seul le résultat de cette requête l'est. |

## Vantage.spec.ociMigration.sources\[index]

ContainerRegistryConfig définit les paramètres de connexion au registre de conteneurs.

| Champ | Type | Obligatoire | Description |
| - | - | - | - |
| `host` | `string` | Oui | host correspond au nom d’hôte du registre, suivi éventuellement du port (p. ex. registry.example.com, registry.example.com:5000). Longueur minimale : `1`. |
| `credentialsRef` | `object` | Non | credentialsRef fait référence à un Secret contenant des clés de nom d’utilisateur et de mot de passe, ou à un Secret de type kubernetes.io/dockerconfigjson. S’il est spécifié, il est prioritaire sur username/password. Voir [`credentialsRef`](#vantagespecocimigrationsourcesindexcredentialsref). |
| `password` | `string` | Non | Mot de passe pour l’authentification auprès du registre (en texte clair ; utilisez credentialsRef en production) |
| `repository` | `string` | Non | repository correspond au chemin/espace de noms des artefacts dans le registre (p. ex. « abbyy-docker », « vantage/images »). Motif : `^[a-z0-9]+([._-][a-z0-9]+)*(/[a-z0-9]+([._-][a-z0-9]+)*)*$`. |
| `username` | `string` | Non | Nom d’utilisateur pour l’authentification auprès du registre (en texte clair ; utilisez credentialsRef en production) |
| `workloadIdentity` | `object` | Non | workloadIdentity définit les paramètres permettant d’utiliser l’identité de la charge de travail (compte de service Kubernetes) pour accéder au registre. Voir [`workloadIdentity`](#vantagespecocimigrationsourcesindexworkloadidentity). |

## Vantage.spec.ociMigration.sources\[index].credentialsRef

credentialsRef fait référence à un Secret contenant des clés de nom d’utilisateur et de mot de passe, ou à un Secret de type kubernetes.io/dockerconfigjson.
S’il est spécifié, il est prioritaire sur username/password.

| Champ | Type | Obligatoire | Description |
| - | - | - | - |
| `name` | `string` | Oui | name est le nom du Secret |

## Vantage.spec.ociMigration.sources\[index].workloadIdentity

workloadIdentity définit les paramètres permettant d’utiliser l’identité de la charge de travail (compte de service Kubernetes)
pour accéder au registre.

| Champ | Type | Obligatoire | Description |
| - | - | - | - |
| `audience` | `string` | Non | audience est le point de terminaison à utiliser pour échanger le jeton du compte de service contre un jeton d’accès OAuth. |
| `clientId` | `string` | Non | clientId est l’identifiant client à utiliser pour échanger le jeton du compte de service contre un jeton d’accès OAuth. |
| `tokenEndpoint` | `string` | Non | tokenEndpoint est le point de terminaison à utiliser pour échanger le jeton du compte de service contre un jeton d’accès OAuth. |

## Vantage.spec.smtp

smtp configure le serveur de messagerie SMTP. S'il n'est pas spécifié, Sendgrid est utilisé comme fournisseur de messagerie.

| Champ | Type | Obligatoire | Description |
| - | - | - | - |
| `host` | `string` | Oui | host est le nom d'hôte du serveur SMTP |
| `login` | `string` | Non | identifiant de connexion pour l'authentification SMTP |
| `password` | `string` | Non | mot de passe pour l'authentification SMTP |
| `port` | `integer` | Non | port est le port du serveur SMTP. Par défaut : `587` · Format : `int32`. |
| `useSSL` | `boolean` | Non | useSSL active TLS pour les connexions SMTP. Par défaut : `false`. |

## Vantage.spec.storage

storage configure les options de stockage avancées.

| Champ | Type | Obligatoire | Description |
| - | - | - | - |
| `azure` | `object` | Non | azure configure le backend de stockage Azure. |
| `custom` | `object` | Non | custom configure un backend de stockage personnalisé. Voir [`custom`](#vantagespecstoragecustom). |

Pas encore pris en charge. L'operator rejette toute ressource qui définit ces champs.

| Champ | Type | Obligatoire | Description |
| - | - | - | - |
| `s3` | `object` | Non | s3 configure le backend de stockage S3. Voir [`s3`](#vantagespecstorages3). |

## Vantage.spec.storage.custom

custom configure un backend de stockage personnalisé.

| Champ | Type | Obligatoire | Description |
| - | - | - | - |
| `size` | `intorstring` | Oui | size définit la taille du PVC. Valeur par défaut : `300Gi` · Motif : `^(\+\|-)?(([0-9]+(\.[0-9]*)?)\|(\.[0-9]+))(([KMGTPE]i)\|[numkMGTPE]\|([eE](\+\|-)?(([0-9]+(\.[0-9]*)?)\|(\.[0-9]+))))?$`. |
| `storageClass` | `string` | Oui | storageClass définit la classe de stockage à utiliser pour les PVC servant à monter les volumes du backend de stockage personnalisé. |

## Vantage.spec.storage.s3

s3 configure le backend de stockage S3.

| Champ | Type | Obligatoire | Description |
| - | - | - | - |
| `buckets` | `object` | Non | buckets configure les noms des buckets de stockage. Voir [`buckets`](#vantagespecstorages3buckets). |
| `region` | `string` | Non | region configure la région AWS à utiliser pour les clients S3. |
| `scopedClientCredentials` | `object` | Non | scopedClientCredentials configure le service de stockage pour qu’il remette aux clients des identifiants temporaires limités à un seul stockage (STS AssumeRole), au lieu de sa propre connexion sans clé. Voir [`scopedClientCredentials`](#vantagespecstorages3scopedclientcredentials). |
| `uri` | `string` | Non | uri configure le point de terminaison S3 (par exemple, [https://s3.us-east-1.amazonaws.com](https://s3.us-east-1.amazonaws.com) ou un service compatible S3). Motif : `^https?://`. |

## Vantage.spec.storage.s3.buckets

`buckets` configure les noms des buckets de stockage.

| Champ | Type | Obligatoire | Description |
| - | - | - | - |
| `archive` | `string` | Non | `archive` configure le nom du bucket Archive. |
| `permanent` | `string` | Non | `permanent` configure le nom du bucket Permanent. |
| `standard` | `string` | Non | `standard` configure le nom du bucket Standard. |
| `temporary` | `string` | Non | `temporary` configure le nom du bucket Temporary. |

## Vantage.spec.storage.s3.scopedClientCredentials

scopedClientCredentials configure le service de stockage pour qu’il fournisse aux clients des identifiants de courte durée
définis dans la portée d’un seul stockage (STS AssumeRole) au lieu de sa propre connexion sans clé.

| Champ | Type | Obligatoire | Description |
| - | - | - | - |
| `credentialsExpiration` | `string` | Non | credentialsExpiration définit la durée de vie de chaque jeu d’identifiants, au format TimeSpan .NET (par ex. 01:00:00). Valeur par défaut : une heure. Motif : `^([0-9]+\.)?[0-9]{1,2}:[0-9]{2}:[0-9]{2}$`. |
| `enabled` | `boolean` | Non | enabled active les identifiants client à portée limitée. |
| `roleArn` | `string` | Non | roleArn est le rôle IAM endossé pour générer les identifiants. Obligatoire sur AWS. |
| `roleSessionName` | `string` | Non | roleSessionName est le nom de session utilisé lorsque le rôle roleArn est endossé. |
| `stsUri` | `string` | Non | stsUri remplace le point de terminaison STS, qui est sinon déterminé à partir de la région. Motif : `^https?://`. |

## Vantage.spec.techcore

techcore contient la configuration du moteur de traitement TechCore

| Champ | Type | Obligatoire | Description |
| - | - | - | - |
| `versions` | `[]integer` | Oui | versions désigne les versions de TechCore à déployer (versions disponibles : 2, 3, 4). Nombre minimal d’éléments : `1` · Enum : `2, 3, 4`. |
| `nnTrainingWorkers` | `object` | Non | nnTrainingWorkers configure les processus de travail d’entraînement du réseau de neurones. Voir [`nnTrainingWorkers`](#vantagespectechcorenntrainingworkers). |

## Vantage.spec.techcore.nnTrainingWorkers

nnTrainingWorkers configure les processus de travail d’entraînement des réseaux de neurones

| Champ | Type | Obligatoire | Description |
| - | - | - | - |
| `enabled` | `boolean` | Non | enabled active les processus de travail d’entraînement des réseaux de neurones. Par défaut : `false`. |
| `gpu` | `boolean` | Non | gpu active l’accélération GPU pour les processus de travail d’entraînement. Par défaut : `false`. |

## Vantage.status

status définit l'état observé de Vantage

| Champ | Type | Obligatoire | Description |
| - | - | - | - |
| `availableVersions` | `[]string` | Non | availableVersions est la liste des versions disponibles depuis l'URL de publication. |
| `conditions` | `[]object` | Non | conditions représente l'état actuel de la ressource Vantage. Chaque condition possède un type unique et reflète le statut d'un aspect particulier de la ressource. Les types de condition standard sont notamment : - « Available » : la ressource est pleinement opérationnelle - « Progressing » : la ressource est en cours de création ou de mise à jour - « Degraded » : la ressource n'est pas parvenue à atteindre ou à maintenir l'état souhaité Le statut de chaque condition est True, False ou Unknown. Voir [`conditions`](#vantagestatusconditionsindex). |
| `degradationReasons` | `[]object` | Non | degradationReasons représente les motifs de l'état dégradé de l'installation. Voir [`degradationReasons`](#vantagestatusdegradationreasonsindex). |
| `installedVantageVersion` | `string` | Non | installedVantageVersion est la version actuellement en cours d'exécution. |
| `observedGeneration` | `integer` | Non | observedGeneration est la génération de la spec qui a été « traitée » par le contrôleur Format : `int64`. |

## Vantage.status.conditions\[index]

Une condition contient des détails sur un aspect de l’état actuel de cette ressource d’API.

| Champ | Type | Obligatoire | Description |
| - | - | - | - |
| `lastTransitionTime` | `string` | Oui | lastTransitionTime indique le dernier moment où la condition est passée d’un statut à un autre. Il doit s’agir du moment où la condition sous-jacente a changé. Si ce moment n’est pas connu, il est acceptable d’utiliser celui où le champ de l’API a changé. Format : `date-time`. |
| `message` | `string` | Oui | message est un message lisible par un humain qui fournit des détails sur la transition. Il peut s’agir d’un string vide. Longueur maximale : `32768`. |
| `reason` | `string` | Oui | reason contient un identifiant programmatique indiquant le motif de la dernière transition de la condition. Les producteurs de types de conditions spécifiques peuvent définir les valeurs attendues pour ce champ et leur signification, et préciser si ces valeurs constituent une API garantie. La valeur doit être un string au format CamelCase. Ce champ ne peut pas être vide. Longueur minimale : `1` · Longueur maximale : `1024` · Motif : `^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$`. |
| `status` | `enum` | Oui | statut de la condition : True, False ou Unknown. Enum : `True, False, Unknown`. |
| `type` | `string` | Oui | type de condition au format CamelCase ou foo.example.com/CamelCase. Longueur maximale : `316` · Motif : `^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$`. |
| `observedGeneration` | `integer` | Non | observedGeneration représente la valeur de .metadata.generation sur la base de laquelle la condition a été définie. Par exemple, si .metadata.generation vaut actuellement 12 alors que .status.conditions\[x].observedGeneration vaut 9, la condition n’est plus à jour par rapport à l’état actuel de l’instance. Format : `int64` · Minimum : `0`. |

## Vantage.status.degradationReasons\[index]

DegradationReason représente le motif pour lequel un composant donné de l’installation est dégradé.

| Champ | Type | Obligatoire | Description |
| - | - | - | - |
| `component` | `string` | Oui | component désigne la partie de l’installation qui est dégradée. |
| `message` | `string` | Oui | message est une description lisible par un humain de la dégradation du composant. |
| `reason` | `string` | Oui | reason contient un identifiant programmatique indiquant le motif de la dégradation du composant. La valeur doit être un string au format CamelCase. |
