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

# Referencia de la API: 2026.10.16

> Referencia de campos del recurso personalizado Vantage de vantage.abbyy.com/v1alpha1, que controla las instalaciones de Vantage 3.0 autoalojado.

## Versiones de los artefactos

| Artefacto | Versión |
| - | - |
| Chart `vantage-operator` | `0.91.1` |
| Chart `vantage-selfhosted` | `0.91.1` |
| Imagen `vantage-operator` | `v0.91.1` |

El instalador de Vantage 3.0 autoalojado se controla mediante un único recurso personalizado de Kubernetes: un objeto `Vantage` del grupo de API `vantage.abbyy.com/v1alpha1`. Los campos que se describen a continuación constituyen el contrato completo entre usted y el operador.

Para obtener una visión general de cómo el operador consume este recurso, consulte [Arquitectura](https://docs.abbyy.com/es/vantage/self-hosted/v3.0/architecture.md). Para ver el procedimiento de instalación, elija [Azure](https://docs.abbyy.com/es/vantage/self-hosted/v3.0/providers/azure.md) o [Self-Managed Kubernetes](https://docs.abbyy.com/es/vantage/self-hosted/v3.0/providers/self-managed.md).

## Grupo de API

| Grupo | Versión | Recurso |
| - | - | - |
| `vantage.abbyy.com` | `v1alpha1` | `Vantage` |

## Vantage

Vantage es el esquema de la API vantages

| Campo | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `apiVersion` | `string` | Sí | vantage.abbyy.com/v1alpha1 |
| `kind` | `string` | Sí | Vantage |
| `metadata` | `object` | Sí | Consulte la documentación de la API de Kubernetes para conocer los campos de `metadata`. |
| `spec` | `object` | Sí | spec define el estado deseado de Vantage. Consulte [`spec`](#vantagespec). |
| `status` | `object` | No | status define el estado observado de Vantage. Consulte [`status`](#vantagestatus). |

> [!NOTE]
>
> **Validación de `spec`**: `!self.reportingEnabled || !has(self.databaseProvider) || self.databaseProvider == 'SqlServer'`: reportingEnabled requiere que databaseProvider sea 'SqlServer'; la generación de informes es una funcionalidad exclusiva de SQL Server y no se puede usar con PostgreSQL

## Vantage.spec

spec define el estado deseado de Vantage

| Campo | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `dnsRecord` | `string` | Sí | dnsRecord es el registro DNS de la instalación de Vantage. Formato: `hostname`. |
| `mailFrom` | `string` | Sí | mailFrom es la dirección de correo electrónico que se utiliza como remitente de los correos salientes. Formato: `email`. |
| `platformAdminEmail` | `string` | Sí | platformAdminEmail es la dirección de correo electrónico del administrador de la plataforma. Formato: `email`. |
| `secrets` | `object` | Sí | secrets selecciona y configura el proveedor de secretos. Debe especificarse exactamente un proveedor. Consulte [`secrets`](#vantagespecsecrets). |
| `updatePolicy` | `object` | Sí | updatePolicy controla cómo gestiona el operador las actualizaciones de Vantage. Consulte [`updatePolicy`](#vantagespecupdatepolicy). |
| `vantageVersion` | `string` | Sí | vantageVersion es la versión de Vantage que se va a instalar. |
| `workloads` | `object` | Sí | workloads configura el ConfigMap que contiene los datos de los charts y las imágenes. Consulte [`workloads`](#vantagespecworkloads). |
| `argocd` | `object` | No | argocd configura los recursos de Argo CD que crea el operador para instalar las cargas de trabajo de Vantage. Si se omite, la instalación se realiza en el proyecto "default". Consulte [`argocd`](#vantagespecargocd). |
| `databaseProvider` | `enum` | No | databaseProvider selecciona el motor de base de datos que utilizan todos los servicios de Vantage. Valor predeterminado: `SqlServer` · Enum: `SqlServer, PostgreSQL`. |
| `debug` | `boolean` | No | debug controla si las cargas de trabajo se instalan en modo de depuración. Valor predeterminado: `false`. |
| `idReadingEnabled` | `boolean` | No | idReadingEnabled habilita las funciones de lectura de documentos de identidad. Valor predeterminado: `false`. |
| `keda` | `object` | No | keda configura los ajustes de KEDA. Si no se especifica, la compatibilidad con KEDA quedará deshabilitada. Consulte [`keda`](#vantagespeckeda). |
| `minimalInstall` | `boolean` | No | minimalInstall configura las cargas de trabajo para que se desplieguen con una configuración de recursos mínima. Valor predeterminado: `false`. |
| `ociMigration` | `object` | No | ociMigration configura la copia de artefactos desde un registro de origen a un destino antes de la instalación. Para omitir la migración, no lo incluya o establezca enabled=false. Si está habilitado, destination es obligatorio. Consulte [`ociMigration`](#vantagespecocimigration). |
| `reportingEnabled` | `boolean` | No | reportingEnabled habilita las funciones de informes de SQL Server. Solo para SQL Server: la carga de trabajo de informes ejecuta migraciones específicas de SQL Server y no es compatible con PostgreSQL. Para establecer este valor en true, databaseProvider debe ser 'SqlServer' (lo exige la validación de spec anterior); con PostgreSQL se rechaza. Valor predeterminado: `false`. |
| `reverseProxy` | `boolean` | No | reverseProxy garantiza que los servicios de aplicación de Vantage estén configurados para ejecutarse detrás de un proxy inverso que realiza la terminación TLS. Valor predeterminado: `false`. |
| `serviceAccountName` | `string` | No | serviceAccountName es el nombre de la cuenta de servicio que se usará para las cargas de trabajo de Vantage. Si se omite, se usa la cuenta de servicio predeterminada. Cada carga de trabajo puede anular este valor mediante workloads.serviceAccounts. Valor predeterminado: `default` · Longitud mínima: `1`. |
| `smtp` | `object` | No | smtp configura el servidor de correo SMTP. Si no se especifica, se usará Sendgrid como proveedor de correo. Consulte [`smtp`](#vantagespecsmtp). |
| `storage` | `object` | No | storage configura las opciones avanzadas de almacenamiento. Consulte [`storage`](#vantagespecstorage). |
| `techcore` | `object` | No | techcore contiene la configuración del motor de procesamiento de TechCore. Consulte [`techcore`](#vantagespectechcore). |

> [!NOTE]
>
> **Validación de `secrets`**: `has(self.kubernetes) != has(self.azure)`: debe especificarse exactamente un proveedor

> [!NOTE]
>
> **Validación de `updatePolicy`**: `!has(self.auto)`: las actualizaciones automáticas aún no se admiten

> [!NOTE]
>
> **Validación de `updatePolicy`**: `(has(self.auto) ? 1 : 0) + (has(self.manual) ? 1 : 0) == 1`: se debe especificar exactamente una política de actualización

> [!NOTE]
>
> **Validación de `ociMigration`**: `!has(self.enabled) || self.enabled == false || has(self.destination)`: el destino es obligatorio cuando ociMigration está habilitado

> [!NOTE]
>
> **Validación de `storage`**: `!has(self.s3)`: el almacenamiento S3 aún no es compatible

> [!NOTE]
>
> **Validación de `storage`**: `(has(self.azure) ? 1 : 0) + (has(self.s3) ? 1 : 0) + (has(self.custom) ? 1 : 0) <= 1`: solo se puede especificar un proveedor de almacenamiento como máximo

## Vantage.spec.secrets

secrets selecciona y configura el proveedor de secretos.
Debe especificarse exactamente un proveedor.

| Campo | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `azure` | `object` | No | azure configura Azure Key Vault (mediante el controlador Secrets Store CSI) como origen de los secretos. Consulte [`azure`](#vantagespecsecretsazure). |
| `kubernetes` | `object` | No | kubernetes configura los secretos nativos de Kubernetes (Secrets) como origen de los secretos. Consulte [`kubernetes`](#vantagespecsecretskubernetes). |

## Vantage.spec.secrets.azure

azure configura Azure Key Vault (a través del controlador Secrets Store CSI) como origen de los secretos.

| Campo | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `keyVaultName` | `string` | Sí | keyVaultName es el Azure Key Vault que contiene los secretos. |
| `tenantId` | `string` | Sí | tenantId es el inquilino de Azure AD al que pertenece el Key Vault. |
| `clientId` | `string` | No | clientId es el ID de cliente de Azure AD de la identidad administrada asignada por el usuario que tiene acceso de lectura al Key Vault. Es obligatorio cuando identityMode es "workloadIdentity" (el valor predeterminado). |
| `identityMode` | `enum` | No | identityMode determina cómo se autentica el controlador CSI en Azure. Predeterminado: `workloadIdentity` · Enum: `workloadIdentity, podIdentity, vmManagedIdentity`. |
| `objects` | `map[string]object` | No | objects permite anular, de forma opcional, la asignación de un alias de secreto (tal como se referencia en workloads-secrets.yml) a un objeto concreto de Key Vault. Si un alias no figura en esta asignación, se usa el propio alias como nombre del objeto de Key Vault y el objeto se obtiene con el tipo "secret". Consulte [`objects`](#vantagespecsecretsazureobjectskey). |
| `userAssignedIdentityID` | `string` | No | userAssignedIdentityID es el ID de cliente de la identidad administrada asignada por el usuario que se usará cuando identityMode sea "vmManagedIdentity". |

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

AzureSecretObjectConfig describe un único objeto de Key Vault que respalda un
alias de secreto.

| Campo | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `objectName` | `string` | Sí | objectName es el nombre del objeto en Azure Key Vault. |
| `objectType` | `enum` | No | objectType es el tipo de objeto de Key Vault. El valor predeterminado es «secret». Predeterminado: `secret` · Enum: `secret, key, cert`. |
| `objectVersion` | `string` | No | objectVersion fija una versión concreta del objeto de Key Vault. De forma predeterminada, se usa la versión más reciente. |

## Vantage.spec.secrets.kubernetes

kubernetes configura los secretos nativos de Kubernetes como origen de los secretos.

| Campo | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `objects` | `map[string]object` | No | objects define los secretos de Kubernetes que se utilizan. Si no se define, se usarán los nombres de secretos predeterminados. Consulte [`objects`](#vantagespecsecretskubernetesobjectskey). |

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

| Campo | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `secretName` | `string` | Sí | secretName es el nombre del Secret de Kubernetes |

## Vantage.spec.updatePolicy

updatePolicy controla cómo gestiona el operador las actualizaciones de Vantage.

| Campo | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `manual` | `object` | No | manual desactiva las actualizaciones automáticas. Para actualizar, se debe instalar una nueva versión del chart de Helm del operador. |

Todavía no se admite. El operador rechaza cualquier recurso que establezca estos campos.

| Campo | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `auto` | `object` | No | auto habilita las actualizaciones automáticas de versión. Aún no está implementado. Consulte [`auto`](#vantagespecupdatepolicyauto). |

## Vantage.spec.updatePolicy.auto

auto habilita las actualizaciones automáticas de versión. Todavía no está implementado.

| Campo | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `releaseURL` | `string` | Sí | releaseURL es la URL desde la que se descarga el paquete de la versión de Vantage. Formato: `uri`. |

## Vantage.spec.workloads

workloads configura el ConfigMap que contiene los datos sobre los charts y las imágenes

| Campo | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `configMap` | `string` | Sí | configMap es el nombre del ConfigMap que contiene los datos de las cargas de trabajo |
| `metadataTemplateKey` | `string` | Sí | metadataTemplateKey es la clave del ConfigMap que contiene la plantilla de metadatos para la instalación de los charts |
| `secretsKey` | `string` | Sí | secrets es la clave del ConfigMap que contiene los metadatos de los secretos. |
| `workloadsKey` | `string` | Sí | workloadsKey es la clave del ConfigMap que contiene la lista de charts e imágenes |
| `additionalMetadataKey` | `string` | No | additionalMetadataKey es la clave del ConfigMap que contiene metadatos adicionales para la instalación de los charts |
| `pods` | `object` | No | pods configura los metadatos que se añaden a los pods de las cargas de trabajo. Consulte [`pods`](#vantagespecworkloadspods). |
| `serviceAccounts` | `object` | No | serviceAccounts anula spec.serviceAccountName para determinadas cargas de trabajo. Consulte [`serviceAccounts`](#vantagespecworkloadsserviceaccounts). |

## Vantage.spec.workloads.pods

pods configura los metadatos que se agregan a los pods de las cargas de trabajo.

| Campo | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `charts` | `map[string]object` | No | charts asigna nombres de chart a los metadatos que se agregan a los pods de las cargas de trabajo de ese chart, además de los metadatos comunes a todas las cargas de trabajo, sobre los que tienen prioridad. Consulte [`charts`](#vantagespecworkloadspodschartskey). |
| `labels` | `map[string]string` | No | Las labels se agregan a los pods de todas las cargas de trabajo. |

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

ChartPodsConfig define los metadatos que se añaden a los pods de las cargas de trabajo dentro de un único chart de Helm de Vantage.

| Campo | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `deployment` | `object` | No | deployment configura los pods de la implementación del chart. Consulte [`deployment`](#vantagespecworkloadspodschartskeydeployment). |
| `migrator` | `object` | No | migrator configura los pods del trabajo del migrador del chart. Consulte [`migrator`](#vantagespecworkloadspodschartskeymigrator). |
| `statefulSet` | `object` | No | statefulSet configura los pods del StatefulSet del chart. Consulte [`statefulSet`](#vantagespecworkloadspodschartskeystatefulset). |

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

`deployment` configura los pods de la implementación del chart.

| Campo | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `labels` | `map[string]string` | No | Las labels se agregan a los pods de la carga de trabajo. |

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

`migrator` configura los pods del trabajo del migrador del chart.

| Campo | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `labels` | `map[string]string` | No | Labels que se añaden a los pods de la carga de trabajo. |

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

statefulSet configura los pods del statefulset del chart.

| Campo | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `labels` | `map[string]string` | No | Labels que se añaden a los pods de la carga de trabajo. |

## Vantage.spec.workloads.serviceAccounts

serviceAccounts anula spec.serviceAccountName para determinadas cargas de trabajo.

| Campo | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `charts` | `map[string]object` | No | charts asigna nombres de chart a las cuentas de servicio que utilizan las cargas de trabajo de ese chart. Las cargas de trabajo que no tienen una entrada utilizan spec.serviceAccountName. Consulte [`charts`](#vantagespecworkloadsserviceaccountschartskey). |

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

ChartServiceAccountsConfig define la configuración de las cuentas de servicio para las cargas de trabajo de un único chart de Helm de Vantage.

| Campo | Tipo | Obligatorio | Description |
| - | - | - | - |
| `deployment` | `object` | No | implementación configura la cuenta de servicio que utiliza la implementación del chart. Consulte [`deployment`](#vantagespecworkloadsserviceaccountschartskeydeployment). |
| `migrator` | `object` | No | migrator configura la cuenta de servicio que utiliza el trabajo del migrador del chart. Consulte [`migrator`](#vantagespecworkloadsserviceaccountschartskeymigrator). |
| `statefulSet` | `object` | No | statefulSet configura la cuenta de servicio que utiliza el StatefulSet del chart. Consulte [`statefulSet`](#vantagespecworkloadsserviceaccountschartskeystatefulset). |

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

`deployment` configura la cuenta de servicio que utiliza la implementación del chart.

| Campo | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `name` | `string` | Sí | Nombre de la cuenta de servicio. Longitud mínima: `1` · Longitud máxima: `253` · Patrón: `^[a-z0-9]([-a-z0-9.]*[a-z0-9])?$`. |

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

`migrator` configura la cuenta de servicio que utiliza el trabajo del migrador del chart.

| Campo | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `name` | `string` | Sí | Nombre de la cuenta de servicio. Longitud mínima: `1` · Longitud máxima: `253` · Patrón: `^[a-z0-9]([-a-z0-9.]*[a-z0-9])?$`. |

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

statefulSet configura la cuenta de servicio que utiliza el statefulset del chart.

| Campo | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `name` | `string` | Sí | Nombre de la cuenta de servicio. Longitud mínima: `1` · Longitud máxima: `253` · Patrón: `^[a-z0-9]([-a-z0-9.]*[a-z0-9])?$`. |

## Vantage.spec.argocd

argocd configura los recursos de Argo CD que el operador crea para instalar las cargas de trabajo de Vantage.
Si se omite, la instalación se realiza en el proyecto «default».

| Campo | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `project` | `string` | No | project es el AppProject de Argo CD al que pertenecen las Applications generadas. El proyecto debe permitir el clúster y el espacio de nombres de destino; de lo contrario, Argo CD se negará a sincronizarlas. Predeterminado: `default` · Longitud mínima: `1`. |

## Vantage.spec.keda

keda configura los ajustes de KEDA. Si no se especifica, la compatibilidad con KEDA quedará deshabilitada.

| Campo | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `enabled` | `boolean` | No | enabled determina si se usa el escalado automático basado en KEDA para las cargas de trabajo que lo admitan. Valor predeterminado: `false`. |

## Vantage.spec.ociMigration

ociMigration configura la copia de artefactos desde un registro de origen a un destino antes de la instalación.
Omítalo por completo o establezca enabled=false para omitir la migración.
Si está habilitado, el destino es obligatorio.

| Campo | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `concurrency` | `integer` | Sí | concurrency es el número de artefactos que se copian en paralelo. Predeterminado: `5` · Mínimo: `1`. |
| `destination` | `object` | No | destination es la ubicación a la que se copian los artefactos. Consulte [`destination`](#vantagespecocimigrationdestination). |
| `enabled` | `boolean` | No | enabled habilita la migración de OCI. Predeterminado: `true`. |
| `imagePullSecrets` | `[]object` | No | imagePullSecrets es una lista opcional de referencias a secretos del mismo espacio de nombres que se usan para descargar la imagen del operador con la que se ejecuta el trabajo de migración de OCI en este espacio de nombres. Consulte [`imagePullSecrets`](#vantagespecocimigrationimagepullsecretsindex). |
| `labels` | `map[string]JSON` | No | labels es el conjunto de labels que se aplicarán al trabajo de migración de OCI y a la plantilla del pod. Los valores que no sean cadenas se convertirán en cadenas con \[fmt.Sprint] |
| `resources` | `object` | No | resources son los recursos de cómputo del contenedor del trabajo de migración de OCI. El valor predeterminado no limita la CPU para que la copia pueda aprovechar picos de uso; establezca un límite de CPU en los clústeres cuyas políticas exijan uno en cada contenedor. Solo se tienen en cuenta requests y limits: el trabajo no declara resourceClaims a nivel de pod, por lo que los claims se rechazan. Predeterminado: `{"limits":{"memory":"512Mi"},"requests":{"cpu":"100m","memory":"128Mi"}}`. Consulte [`resources`](#vantagespecocimigrationresources). |
| `serviceAccountName` | `string` | No | serviceAccountName es el nombre de la ServiceAccount con la que se ejecuta el trabajo de migración de OCI. |
| `sources` | `[]object` | No | sources son las credenciales para acceder a los registros desde los que se copian los artefactos (p. ej., JFrog). (Longitud máxima 20) Máximo de elementos: `20`. Consulte [`sources`](#vantagespecocimigrationsourcesindex). |

> [!NOTE]
>
> **Validación de `destination`**: `!self.host.contains('/')`: host no debe contener una ruta; use el campo repository para indicar la ruta del registro

> [!NOTE]
>
> **Validación de `destination`**: `!self.host.contains('://')`: host no debe incluir un esquema (p. ej., https\://)

> [!NOTE]
>
> **Validación de `resources`**: `!has(self.claims) || size(self.claims) == 0`: el trabajo de migración de OCI no admite resources.claims

## Vantage.spec.ociMigration.destination

destination es el destino al que se copian los artefactos.

| Campo | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `host` | `string` | Sí | host es el nombre de host del registro y, opcionalmente, el puerto (p. ej., registry.example.com, registry.example.com:5000). Longitud mínima: `1`. |
| `credentialsRef` | `object` | No | credentialsRef hace referencia a un Secret que contiene claves de nombre de usuario y contraseña, o a un Secret de tipo kubernetes.io/dockerconfigjson. Si se especifica, tiene prioridad sobre username/password. Consulte [`credentialsRef`](#vantagespecocimigrationdestinationcredentialsref). |
| `password` | `string` | No | Contraseña para la autenticación en el registro (en texto sin cifrar; en producción, utilice credentialsRef). |
| `repository` | `string` | No | repository es la ruta o el espacio de nombres del registro donde se almacenan los artefactos (p. ej., "abbyy-docker", "vantage/images"). Patrón: `^[a-z0-9]+([._-][a-z0-9]+)*(/[a-z0-9]+([._-][a-z0-9]+)*)*$`. |
| `username` | `string` | No | Nombre de usuario para la autenticación en el registro (en texto sin cifrar; en producción, utilice credentialsRef). |
| `workloadIdentity` | `object` | No | workloadIdentity define la configuración necesaria para acceder al registro mediante la identidad de la carga de trabajo (cuenta de servicio de Kubernetes). Consulte [`workloadIdentity`](#vantagespecocimigrationdestinationworkloadidentity). |

## Vantage.spec.ociMigration.destination.credentialsRef

credentialsRef hace referencia a un Secret que contiene las claves de nombre de usuario y contraseña, o bien a un Secret de tipo kubernetes.io/dockerconfigjson.
Si se especifica, tiene prioridad sobre username/password.

| Campo | Tipo | Obligatorio | Description |
| - | - | - | - |
| `name` | `string` | Sí | name es el nombre del Secret |

## Vantage.spec.ociMigration.destination.workloadIdentity

workloadIdentity define la configuración para usar la identidad de la carga de trabajo (cuenta de servicio de Kubernetes)
para acceder al registro.

| Campo | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `audience` | `string` | No | audience es el endpoint que se debe usar para intercambiar el token de la cuenta de servicio por un token de acceso de OAuth. |
| `clientId` | `string` | No | clientId es el ID de cliente que se debe usar para intercambiar el token de la cuenta de servicio por un token de acceso de OAuth. |
| `tokenEndpoint` | `string` | No | tokenEndpoint es el endpoint que se debe usar para intercambiar el token de la cuenta de servicio por un token de acceso de OAuth. |

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

LocalObjectReference contiene información suficiente para localizar el
objeto referenciado dentro del mismo espacio de nombres.

| Campo | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `name` | `string` | No | Nombre del objeto referenciado. En la práctica, este campo es obligatorio, pero se permite que esté vacío por motivos de compatibilidad con versiones anteriores. Es casi seguro que las instancias de este tipo con un valor vacío en este campo son incorrectas. Más información: [https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names) Predeterminado: \`\`. |

## Vantage.spec.ociMigration.resources

resources son los recursos de cómputo del contenedor del trabajo de migración de OCI. El valor predeterminado deja
la CPU sin límite para que la copia pueda aprovechar picos de capacidad; establezca un límite de CPU en los clústeres cuyas políticas exijan uno en
cada contenedor. Solo se tienen en cuenta requests y limits: el trabajo no declara resourceClaims a nivel de pod,
por lo que los claims se rechazan.

| Campo | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `limits` | `map[string]intorstring` | No | Limits describe la cantidad máxima de recursos de cómputo permitida. Más información: [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) |
| `requests` | `map[string]intorstring` | No | Requests describe la cantidad mínima de recursos de cómputo necesaria. Si se omite Requests en un contenedor, toma de forma predeterminada el valor de Limits, si este se especifica explícitamente; de lo contrario, toma un valor definido por la implementación. Requests no puede superar a Limits. Más información: [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) |

Aún no es compatible. El operador rechaza cualquier recurso que establezca estos campos.

| Campo | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `claims` | `[]object` | No | Claims enumera los nombres de los recursos, definidos en spec.resourceClaims, que utiliza este contenedor. Este campo depende de la feature gate DynamicResourceAllocation. Este campo es inmutable. Solo puede establecerse para contenedores. Consulte [`claims`](#vantagespecocimigrationresourcesclaimsindex). |

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

ResourceClaim hace referencia a una entrada de PodSpec.ResourceClaims.

| Campo | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `name` | `string` | Sí | Name debe coincidir con el nombre de una entrada de pod.spec.resourceClaims del Pod en el que se usa este campo. Permite que ese recurso esté disponible dentro de un contenedor. |
| `request` | `string` | No | Request es el nombre elegido para una solicitud en el claim al que se hace referencia. Si está vacío, todo el contenido del claim queda disponible; de lo contrario, solo lo queda el resultado de esta solicitud. |

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

ContainerRegistryConfig define la configuración de conexión del registro de contenedores.

| Campo | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `host` | `string` | Sí | host es el nombre de host del registro y, opcionalmente, el puerto (p. ej., registry.example.com, registry.example.com:5000). Longitud mínima: `1`. |
| `credentialsRef` | `object` | No | credentialsRef hace referencia a un Secret que contiene las claves de nombre de usuario y contraseña, o bien a un Secret de tipo kubernetes.io/dockerconfigjson. Si se especifica, tiene prioridad sobre username/password. Consulte [`credentialsRef`](#vantagespecocimigrationsourcesindexcredentialsref). |
| `password` | `string` | No | Contraseña para la autenticación en el registro (en texto sin cifrar; en producción, use credentialsRef). |
| `repository` | `string` | No | repository es la ruta o el espacio de nombres del registro donde se encuentran los artefactos (p. ej., "abbyy-docker", "vantage/images"). Patrón: `^[a-z0-9]+([._-][a-z0-9]+)*(/[a-z0-9]+([._-][a-z0-9]+)*)*$`. |
| `username` | `string` | No | Nombre de usuario para la autenticación en el registro (en texto sin cifrar; en producción, use credentialsRef). |
| `workloadIdentity` | `object` | No | workloadIdentity define la configuración necesaria para acceder al registro mediante la identidad de la carga de trabajo (cuenta de servicio de Kubernetes). Consulte [`workloadIdentity`](#vantagespecocimigrationsourcesindexworkloadidentity). |

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

credentialsRef hace referencia a un Secret que contiene claves de nombre de usuario y contraseña, o bien a un Secret de tipo kubernetes.io/dockerconfigjson.
Si se especifica, tiene prioridad sobre username/password.

| Campo | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `name` | `string` | Sí | name es el nombre del Secret |

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

workloadIdentity define la configuración para usar la identidad de la carga de trabajo (cuenta de servicio de Kubernetes)
para acceder al registro.

| Campo | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `audience` | `string` | No | audience es el endpoint que debe usarse para intercambiar el token de la cuenta de servicio por un token de acceso de OAuth. |
| `clientId` | `string` | No | clientId es el ID de cliente que debe usarse para intercambiar el token de la cuenta de servicio por un token de acceso de OAuth. |
| `tokenEndpoint` | `string` | No | tokenEndpoint es el endpoint que debe usarse para intercambiar el token de la cuenta de servicio por un token de acceso de OAuth. |

## Vantage.spec.smtp

smtp configura el servidor de correo SMTP. Si no se especifica, se utilizará Sendgrid como proveedor de correo.

| Campo | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `host` | `string` | Sí | host es el nombre de host del servidor SMTP |
| `login` | `string` | No | Nombre de usuario para la autenticación SMTP |
| `password` | `string` | No | Contraseña para la autenticación SMTP |
| `port` | `integer` | No | port es el puerto del servidor SMTP. Predeterminado: `587` · Formato: `int32`. |
| `useSSL` | `boolean` | No | useSSL habilita TLS en las conexiones SMTP. Predeterminado: `false`. |

## Vantage.spec.storage

`storage` configura las opciones avanzadas de almacenamiento.

| Campo | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `azure` | `object` | No | `azure` configura el backend de almacenamiento de Azure. |
| `custom` | `object` | No | `custom` configura un backend de almacenamiento personalizado. Consulte [`custom`](#vantagespecstoragecustom). |

Todavía no se admite. El operador rechaza cualquier recurso que defina estos campos.

| Campo | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `s3` | `object` | No | s3 configura el backend de almacenamiento S3. Consulte [`s3`](#vantagespecstorages3). |

## Vantage.spec.storage.custom

custom configura un backend de almacenamiento personalizado.

| Campo | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `size` | `intorstring` | Sí | size define el tamaño del PVC. Valor predeterminado: `300Gi` · Patrón: `^(\+\|-)?(([0-9]+(\.[0-9]*)?)\|(\.[0-9]+))(([KMGTPE]i)\|[numkMGTPE]\|([eE](\+\|-)?(([0-9]+(\.[0-9]*)?)\|(\.[0-9]+))))?$`. |
| `storageClass` | `string` | Sí | storageClass define la clase de almacenamiento que deben usar los PVC para montar los volúmenes del backend de almacenamiento personalizado. |

## Vantage.spec.storage.s3

s3 configura el backend de almacenamiento S3.

| Campo | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `buckets` | `object` | No | buckets configura los nombres de los buckets de almacenamiento. Consulte [`buckets`](#vantagespecstorages3buckets). |
| `region` | `string` | No | region configura la región de AWS que usarán los clientes de S3 |
| `scopedClientCredentials` | `object` | No | scopedClientCredentials configura el servicio de almacenamiento para que proporcione a los clientes credenciales de corta duración limitadas al ámbito de un único almacenamiento (STS AssumeRole), en lugar de su propia conexión sin claves. Consulte [`scopedClientCredentials`](#vantagespecstorages3scopedclientcredentials). |
| `uri` | `string` | No | uri configura el endpoint de S3 (p. ej., [https://s3.us-east-1.amazonaws.com](https://s3.us-east-1.amazonaws.com) o un servicio compatible con S3). Patrón: `^https?://`. |

## Vantage.spec.storage.s3.buckets

buckets configura los nombres de los buckets de almacenamiento

| Campo | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `archive` | `string` | No | archive configura el nombre del bucket Archive. |
| `permanent` | `string` | No | permanent configura el nombre del bucket Permanent. |
| `standard` | `string` | No | standard configura el nombre del bucket Standard. |
| `temporary` | `string` | No | temporary configura el nombre del bucket Temporary |

## Vantage.spec.storage.s3.scopedClientCredentials

scopedClientCredentials configura el servicio de almacenamiento para que proporcione a los clientes credenciales de corta duración
limitadas al ámbito de un único almacenamiento (STS AssumeRole), en lugar de usar su propia conexión sin claves.

| Campo | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `credentialsExpiration` | `string` | No | credentialsExpiration es el periodo de validez de cada conjunto de credenciales, expresado como un TimeSpan de .NET (p. ej., 01:00:00). El valor predeterminado es una hora. Patrón: `^([0-9]+\.)?[0-9]{1,2}:[0-9]{2}:[0-9]{2}$`. |
| `enabled` | `boolean` | No | enabled habilita las credenciales de cliente limitadas al ámbito. |
| `roleArn` | `string` | No | roleArn es el rol de IAM que se asume para generar las credenciales. Obligatorio en AWS. |
| `roleSessionName` | `string` | No | roleSessionName es el nombre de sesión que se usa al asumir roleArn. |
| `stsUri` | `string` | No | stsUri anula el endpoint de STS, que, si no se especifica, se resuelve a partir de la región. Patrón: `^https?://`. |

## Vantage.spec.techcore

techcore contiene la configuración del motor de procesamiento de TechCore

| Campo | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `versions` | `[]integer` | Sí | versions indica las versiones de TechCore que se van a implementar (las versiones disponibles son 2, 3 y 4). Mínimo de elementos: `1` · Enum: `2, 3, 4`. |
| `nnTrainingWorkers` | `object` | No | nnTrainingWorkers configura los workers de entrenamiento de redes neuronales. Consulte [`nnTrainingWorkers`](#vantagespectechcorenntrainingworkers). |

## Vantage.spec.techcore.nnTrainingWorkers

nnTrainingWorkers configura los workers de entrenamiento de redes neuronales

| Campo | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `enabled` | `boolean` | No | enabled habilita los workers de entrenamiento de redes neuronales. Valor predeterminado: `false`. |
| `gpu` | `boolean` | No | gpu habilita la aceleración por GPU para los workers de entrenamiento. Valor predeterminado: `false`. |

## Vantage.status

status define el estado observado de Vantage

| Campo | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `availableVersions` | `[]string` | No | availableVersions es la lista de versiones disponibles en la URL de versiones. |
| `conditions` | `[]object` | No | conditions representa el estado actual del recurso Vantage. Cada condición tiene un tipo único y refleja el estado de un aspecto concreto del recurso. Entre los tipos de condición estándar se incluyen: - "Available": el recurso es plenamente funcional - "Progressing": el recurso está en proceso de creación o actualización - "Degraded": el recurso no ha podido alcanzar o mantener su estado deseado. El estado de cada condición puede ser True, False o Unknown. Consulte [`conditions`](#vantagestatusconditionsindex). |
| `degradationReasons` | `[]object` | No | degradationReasons representa los motivos por los que la instalación se encuentra en estado degradado. Consulte [`degradationReasons`](#vantagestatusdegradationreasonsindex). |
| `installedVantageVersion` | `string` | No | installedVantageVersion es la versión que se está ejecutando actualmente. |
| `observedGeneration` | `integer` | No | observedGeneration es la generación de la especificación que el controlador ha "procesado". Formato: `int64`. |

## Vantage.status.conditions\[index]

Condition contiene los detalles de un aspecto del estado actual de este recurso de la API.

| Campo | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `lastTransitionTime` | `string` | Sí | lastTransitionTime es el último momento en que la condición pasó de un estado a otro. Debe corresponder al momento en que cambió la condición subyacente. Si no se conoce, se puede usar el momento en que cambió el campo de la API. Formato: `date-time`. |
| `message` | `string` | Sí | message es un mensaje legible por humanos con detalles sobre la transición. Puede ser una cadena vacía. Longitud máxima: `32768`. |
| `reason` | `string` | Sí | reason contiene un identificador programático que indica el motivo de la última transición de la condición. Los productores de tipos de condición específicos pueden definir los valores esperados de este campo y su significado, así como si dichos valores se consideran una API garantizada. El valor debe ser una cadena en CamelCase. Este campo no puede estar vacío. Longitud mínima: `1` · Longitud máxima: `1024` · Patrón: `^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$`. |
| `status` | `enum` | Sí | estado de la condición: True, False o Unknown. Enum: `True, False, Unknown`. |
| `type` | `string` | Sí | tipo de condición en CamelCase o en el formato foo.example.com/CamelCase. Longitud máxima: `316` · Patrón: `^([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` | No | observedGeneration representa el valor de .metadata.generation a partir del cual se estableció la condición. Por ejemplo, si .metadata.generation es actualmente 12, pero .status.conditions\[x].observedGeneration es 9, la condición está desactualizada con respecto al estado actual de la instancia. Formato: `int64` · Mínimo: `0`. |

## Vantage.status.degradationReasons\[index]

DegradationReason representa el motivo por el que un componente concreto de la instalación está degradado.

| Campo | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `component` | `string` | Sí | component es la parte de la instalación que está degradada. |
| `message` | `string` | Sí | message es una descripción legible para las personas de la degradación del componente. |
| `reason` | `string` | Sí | reason contiene un identificador programático que indica el motivo de la degradación del componente. El valor debe ser una cadena en formato CamelCase. |
