> ## 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-Referenz: 2026.10.16

> Feldreferenz für die Vantage-Custom-Resource vantage.abbyy.com/v1alpha1, die Installationen von „Vantage 3.0 selbst gehostet“ steuert.

## Artefaktversionen

| Artefakt | Version |
| - | - |
| `vantage-operator` chart | `0.91.1` |
| `vantage-selfhosted` chart | `0.91.1` |
| `vantage-operator` Image | `v0.91.1` |

Das Installationsprogramm von Vantage 3.0 selbst gehostet wird über eine einzige Kubernetes-Custom-Resource gesteuert: ein `Vantage`-Objekt in der API-Gruppe `vantage.abbyy.com/v1alpha1`. Die nachfolgend beschriebenen Felder bilden den vollständigen Vertrag zwischen Ihnen und dem Bediener.

Eine konzeptionelle Übersicht darüber, wie der Bediener diese Ressource verarbeitet, finden Sie unter [Architektur](https://docs.abbyy.com/de/vantage/self-hosted/v3.0/architecture.md). Die Installationsanleitung finden Sie je nach Umgebung unter [Azure](https://docs.abbyy.com/de/vantage/self-hosted/v3.0/providers/azure.md) oder [Selbstverwaltetes Kubernetes](https://docs.abbyy.com/de/vantage/self-hosted/v3.0/providers/self-managed.md).

## API-Gruppe

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

## Vantage

Vantage ist das Schema für die vantages-API

| Feld | Typ | Erforderlich | Beschreibung |
| - | - | - | - |
| `apiVersion` | `string` | Ja | vantage.abbyy.com/v1alpha1 |
| `kind` | `string` | Ja | Vantage |
| `metadata` | `object` | Ja | Die Felder des Felds `metadata` sind in der Dokumentation der Kubernetes-API beschrieben. |
| `spec` | `object` | Ja | spec definiert den gewünschten Zustand von Vantage. Siehe [`spec`](#vantagespec). |
| `status` | `object` | Nein | status definiert den beobachteten Zustand von Vantage. Siehe [`status`](#vantagestatus). |

> [!NOTE]
>
> **`spec`-Validierung**: `!self.reportingEnabled || !has(self.databaseProvider) || self.databaseProvider == 'SqlServer'`: reportingEnabled erfordert databaseProvider „SqlServer“; Reporting ist nur mit SQL Server verfügbar und kann nicht mit PostgreSQL verwendet werden

## Vantage.spec

spec definiert den gewünschten Zustand von Vantage

| Feld | Typ | Erforderlich | Beschreibung |
| - | - | - | - |
| `dnsRecord` | `string` | Ja | dnsRecord ist der DNS-Eintrag für die Vantage-Installation. Format: `hostname`. |
| `mailFrom` | `string` | Ja | mailFrom ist die E-Mail-Adresse, die als Absender für ausgehende E-Mails verwendet wird. Format: `email`. |
| `platformAdminEmail` | `string` | Ja | platformAdminEmail ist die E-Mail-Adresse des Plattform-Administrators. Format: `email`. |
| `secrets` | `object` | Ja | secrets wählt den Provider für Secrets aus und konfiguriert ihn. Es muss genau ein Provider angegeben werden. Siehe [`secrets`](#vantagespecsecrets). |
| `updatePolicy` | `object` | Ja | updatePolicy steuert, wie der Bediener Upgrades von Vantage durchführt. Siehe [`updatePolicy`](#vantagespecupdatepolicy). |
| `vantageVersion` | `string` | Ja | vantageVersion ist die zu installierende Version von Vantage. |
| `workloads` | `object` | Ja | workloads konfiguriert die ConfigMap mit Daten zu Charts und Images. Siehe [`workloads`](#vantagespecworkloads). |
| `argocd` | `object` | Nein | argocd konfiguriert die Argo-CD-Ressourcen, die der Bediener zur Installation der Vantage-Workloads erstellt. Ohne Angabe wird in das Projekt „default“ installiert. Siehe [`argocd`](#vantagespecargocd). |
| `databaseProvider` | `enum` | Nein | databaseProvider legt die Datenbank-Engine fest, die von allen Vantage-Services verwendet wird. Standard: `SqlServer` · Enum: `SqlServer, PostgreSQL`. |
| `debug` | `boolean` | Nein | debug legt fest, ob Workloads im Debug-Modus installiert werden. Standard: `false`. |
| `idReadingEnabled` | `boolean` | Nein | idReadingEnabled aktiviert die Funktionen zur ID-Erkennung. Standard: `false`. |
| `keda` | `object` | Nein | keda konfiguriert die KEDA-Einstellungen. Ohne Angabe ist die KEDA-Unterstützung deaktiviert. Siehe [`keda`](#vantagespeckeda). |
| `minimalInstall` | `boolean` | Nein | minimalInstall sorgt dafür, dass Workloads mit minimaler Ressourcenkonfiguration bereitgestellt werden. Standard: `false`. |
| `ociMigration` | `object` | Nein | ociMigration konfiguriert das Kopieren von Artefakten aus einer Quell-Registry in eine Ziel-Registry vor der Installation. Lassen Sie das Feld vollständig weg oder setzen Sie enabled=false, um die Migration zu überspringen. Bei Aktivierung ist destination erforderlich. Siehe [`ociMigration`](#vantagespecocimigration). |
| `reportingEnabled` | `boolean` | Nein | reportingEnabled aktiviert die Berichtsfunktionen von SQL Server. Nur für SQL Server – der Reporting-Workload führt SQL-Server-spezifische Migrationen aus und wird unter PostgreSQL nicht unterstützt. Der Wert true setzt databaseProvider 'SqlServer' voraus (wird durch die obige Spec-Validierung erzwungen); in Verbindung mit PostgreSQL wird er abgelehnt. Standard: `false`. |
| `reverseProxy` | `boolean` | Nein | reverseProxy stellt sicher, dass Vantage-Anwendungsservices für den Betrieb hinter einem Reverse Proxy konfiguriert sind, der TLS terminiert. Standard: `false`. |
| `serviceAccountName` | `string` | Nein | serviceAccountName ist der Name des Dienstkontos, das für Vantage-Workloads verwendet wird. Ohne Angabe wird das Standard-Dienstkonto verwendet. Einzelne Workloads können diesen Wert über workloads.serviceAccounts überschreiben. Standard: `default` · Mindestlänge: `1`. |
| `smtp` | `object` | Nein | smtp konfiguriert den SMTP-Mailserver. Ohne Angabe wird Sendgrid als Mail-Provider verwendet. Siehe [`smtp`](#vantagespecsmtp). |
| `storage` | `object` | Nein | storage konfiguriert Advanced-Speicheroptionen. Siehe [`storage`](#vantagespecstorage). |
| `techcore` | `object` | Nein | techcore enthält die Konfiguration für die TechCore-Verarbeitungsengine. Siehe [`techcore`](#vantagespectechcore). |

> [!NOTE]
>
> **`secrets`-Validierung**: `has(self.kubernetes) != has(self.azure)`: Es muss genau ein Provider angegeben werden

> [!NOTE]
>
> **Validierung von `updatePolicy`**: `!has(self.auto)`: Automatische Updates werden derzeit noch nicht unterstützt

> [!NOTE]
>
> **`updatePolicy`-Validierung**: `(has(self.auto) ? 1 : 0) + (has(self.manual) ? 1 : 0) == 1`: Es muss genau eine Aktualisierungsrichtlinie angegeben werden.

> [!NOTE]
>
> **`ociMigration`-Validierung**: `!has(self.enabled) || self.enabled == false || has(self.destination)`: Wenn ociMigration aktiviert ist, muss ein Ziel (destination) angegeben werden.

> [!NOTE]
>
> **`storage`-Validierung**: `!has(self.s3)`: S3-Speicher wird noch nicht unterstützt

> [!NOTE]
>
> **`storage`-Validierung**: `(has(self.azure) ? 1 : 0) + (has(self.s3) ? 1 : 0) + (has(self.custom) ? 1 : 0) <= 1`: Es darf höchstens ein Speicher-Provider angegeben werden

## Vantage.spec.secrets

secrets wählt den Provider für Secrets aus und konfiguriert ihn.
Es muss genau ein Provider angegeben werden.

| Feld | Typ | Erforderlich | Beschreibung |
| - | - | - | - |
| `azure` | `object` | Nein | azure konfiguriert Azure Key Vault (über den Secrets Store CSI-Treiber) als Quelle für Secrets. Siehe [`azure`](#vantagespecsecretsazure). |
| `kubernetes` | `object` | Nein | kubernetes konfiguriert native Kubernetes-Secrets als Quelle für Secrets. Siehe [`kubernetes`](#vantagespecsecretskubernetes). |

## Vantage.spec.secrets.azure

azure konfiguriert Azure Key Vault (über den Secrets Store CSI-Treiber) als Quelle für Secrets.

| Feld | Typ | Erforderlich | Beschreibung |
| - | - | - | - |
| `keyVaultName` | `string` | Ja | keyVaultName ist der Azure Key Vault, in dem die Secrets gespeichert sind. |
| `tenantId` | `string` | Ja | tenantId ist der Azure-AD-Mandant, dem der Key Vault gehört. |
| `clientId` | `string` | Nein | clientId ist die Azure-AD-Client-ID der benutzerzugewiesenen verwalteten Identität mit Lesezugriff auf den Key Vault. Erforderlich, wenn identityMode auf „workloadIdentity“ (Standard) gesetzt ist. |
| `identityMode` | `enum` | Nein | identityMode legt fest, wie sich der CSI-Treiber bei Azure authentifiziert. Standard: `workloadIdentity` · Enum: `workloadIdentity, podIdentity, vmManagedIdentity`. |
| `objects` | `map[string]object` | Nein | objects überschreibt optional die Zuordnung eines Secret-Alias (wie in workloads-secrets.yml referenziert) zu einem bestimmten Key-Vault-Objekt. Ist ein Alias in dieser Zuordnung nicht vorhanden, wird der Alias selbst als Name des Key-Vault-Objekts verwendet und das Objekt mit dem Typ „secret“ abgerufen. Siehe [`objects`](#vantagespecsecretsazureobjectskey). |
| `userAssignedIdentityID` | `string` | Nein | userAssignedIdentityID ist die Client-ID der benutzerzugewiesenen verwalteten Identität, die verwendet wird, wenn identityMode auf „vmManagedIdentity“ gesetzt ist. |

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

AzureSecretObjectConfig beschreibt ein einzelnes Key-Vault-Objekt, das einem
Secret-Alias zugrunde liegt.

| Feld | Typ | Erforderlich | Beschreibung |
| - | - | - | - |
| `objectName` | `string` | Ja | objectName ist der Name des Objekts in Azure Key Vault. |
| `objectType` | `enum` | Nein | objectType gibt die Art des Key-Vault-Objekts an. Standardwert ist „secret“. Standard: `secret` · Enum: `secret, key, cert`. |
| `objectVersion` | `string` | Nein | objectVersion legt eine bestimmte Version des Key-Vault-Objekts fest. Standardmäßig wird die neueste Version verwendet. |

## Vantage.spec.secrets.kubernetes

kubernetes konfiguriert native Kubernetes Secrets als Quelle für Secrets.

| Feld | Typ | Erforderlich | Beschreibung |
| - | - | - | - |
| `objects` | `map[string]object` | Nein | objects definiert die verwendeten Kubernetes-Secrets. Ist das Feld nicht definiert, werden die Standardnamen der Secrets verwendet. Siehe [`objects`](#vantagespecsecretskubernetesobjectskey). |

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

| Feld | Typ | Erforderlich | Beschreibung |
| - | - | - | - |
| `secretName` | `string` | Ja | secretName ist der Name des Kubernetes-Secrets |

## Vantage.spec.updatePolicy

updatePolicy legt fest, wie der Bediener Vantage-Upgrades handhabt.

| Feld | Typ | Erforderlich | Beschreibung |
| - | - | - | - |
| `manual` | `object` | Nein | manual deaktiviert automatische Upgrades. Upgrades erfolgen durch die Installation einer neuen Version des Helm-Charts des Bedieners. |

Noch nicht unterstützt. Der Bediener lehnt eine Ressource ab, in der diese Felder gesetzt sind.

| Feld | Typ | Erforderlich | Beschreibung |
| - | - | - | - |
| `auto` | `object` | Nein | `auto` aktiviert automatische Versions-Upgrades. Noch nicht implementiert. Siehe [`auto`](#vantagespecupdatepolicyauto). |

## Vantage.spec.updatePolicy.auto

auto aktiviert automatische Versions-Upgrades. Noch nicht implementiert.

| Feld | Typ | Erforderlich | Beschreibung |
| - | - | - | - |
| `releaseURL` | `string` | Ja | releaseURL ist die URL, von der das Vantage-Release-Bundle abgerufen wird. Format: `uri`. |

## Vantage.spec.workloads

workloads konfiguriert die ConfigMap, die Daten zu charts und Images enthält.

| Feld | Typ | Erforderlich | Beschreibung |
| - | - | - | - |
| `configMap` | `string` | Ja | configMap ist der Name der ConfigMap, die die Workloads-Daten enthält |
| `metadataTemplateKey` | `string` | Ja | metadataTemplateKey ist der Schlüssel in der ConfigMap, der die Metadatenvorlage für die Installation der charts enthält |
| `secretsKey` | `string` | Ja | secrets ist der Schlüssel in der ConfigMap, der die Metadaten der secrets enthält. |
| `workloadsKey` | `string` | Ja | workloadsKey ist der Schlüssel in der ConfigMap, der die Liste der charts und Images enthält |
| `additionalMetadataKey` | `string` | Nein | additionalMetadataKey ist der Schlüssel in der ConfigMap, der zusätzliche Metadaten für die Installation von charts enthält |
| `pods` | `object` | Nein | pods konfiguriert Metadaten, die zu den pods der Workloads hinzugefügt werden. Siehe [`pods`](#vantagespecworkloadspods). |
| `serviceAccounts` | `object` | Nein | serviceAccounts überschreibt spec.serviceAccountName für bestimmte Workloads. Siehe [`serviceAccounts`](#vantagespecworkloadsserviceaccounts). |

## Vantage.spec.workloads.pods

pods konfiguriert Metadaten, die den pods von Workloads hinzugefügt werden.

| Feld | Typ | Erforderlich | Beschreibung |
| - | - | - | - |
| `charts` | `map[string]object` | Nein | charts ordnet chart-Namen Metadaten zu, die den pods der Workloads des jeweiligen charts hinzugefügt werden – zusätzlich zu den Metadaten, die für alle Workloads gelten, und mit Vorrang vor diesen. Siehe [`charts`](#vantagespecworkloadspodschartskey). |
| `labels` | `map[string]string` | Nein | labels werden den pods aller Workloads hinzugefügt. |

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

ChartPodsConfig definiert Metadaten, die den pods der Workloads innerhalb eines einzelnen Vantage-Helm-Charts hinzugefügt werden.

| Feld | Typ | Erforderlich | Beschreibung |
| - | - | - | - |
| `deployment` | `object` | Nein | deployment konfiguriert die pods des Deployments des Charts. Siehe [`deployment`](#vantagespecworkloadspodschartskeydeployment). |
| `migrator` | `object` | Nein | migrator konfiguriert die pods des Migrator-Jobs des Charts. Siehe [`migrator`](#vantagespecworkloadspodschartskeymigrator). |
| `statefulSet` | `object` | Nein | statefulSet konfiguriert die pods des StatefulSets des Charts. Siehe [`statefulSet`](#vantagespecworkloadspodschartskeystatefulset). |

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

`deployment` konfiguriert die Pods des Deployments des Charts.

| Feld | Typ | Erforderlich | Beschreibung |
| - | - | - | - |
| `labels` | `map[string]string` | Nein | `labels` werden den Pods des Workloads hinzugefügt. |

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

migrator konfiguriert die pods des Migrator-Jobs des charts.

| Feld | Typ | Erforderlich | Beschreibung |
| - | - | - | - |
| `labels` | `map[string]string` | Nein | labels werden den pods des workloads hinzugefügt. |

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

statefulSet konfiguriert die pods des StatefulSets des charts.

| Feld | Typ | Erforderlich | Beschreibung |
| - | - | - | - |
| `labels` | `map[string]string` | Nein | labels werden zu den pods des workloads hinzugefügt. |

## Vantage.spec.workloads.serviceAccounts

serviceAccounts überschreibt spec.serviceAccountName für bestimmte Workloads.

| Feld | Typ | Erforderlich | Beschreibung |
| - | - | - | - |
| `charts` | `map[string]object` | Nein | charts ordnet Chart-Namen den Dienstkonten zu, die die Workloads des jeweiligen Charts verwenden. Workloads ohne Eintrag verwenden spec.serviceAccountName. Siehe [`charts`](#vantagespecworkloadsserviceaccountschartskey). |

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

ChartServiceAccountsConfig definiert die Konfiguration der Dienstkonten für Workloads innerhalb eines einzelnen Vantage-Helm-Charts.

| Feld | Typ | Erforderlich | Beschreibung |
| - | - | - | - |
| `deployment` | `object` | Nein | deployment konfiguriert das Dienstkonto, das vom Deployment des Charts verwendet wird. Siehe [`deployment`](#vantagespecworkloadsserviceaccountschartskeydeployment). |
| `migrator` | `object` | Nein | migrator konfiguriert das Dienstkonto, das vom Migrator-Job des Charts verwendet wird. Siehe [`migrator`](#vantagespecworkloadsserviceaccountschartskeymigrator). |
| `statefulSet` | `object` | Nein | statefulSet konfiguriert das Dienstkonto, das vom StatefulSet des Charts verwendet wird. Siehe [`statefulSet`](#vantagespecworkloadsserviceaccountschartskeystatefulset). |

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

`deployment` konfiguriert das Dienstkonto, das vom Deployment des Charts verwendet wird.

| Feld | Typ | Erforderlich | Beschreibung |
| - | - | - | - |
| `name` | `string` | Ja | Name des Dienstkontos. Minimale Länge: `1` · Maximale Länge: `253` · Muster: `^[a-z0-9]([-a-z0-9.]*[a-z0-9])?$`. |

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

`migrator` konfiguriert das Dienstkonto, das vom Migrator-Job des Charts verwendet wird.

| Feld | Typ | Erforderlich | Beschreibung |
| - | - | - | - |
| `name` | `string` | Ja | Name des Dienstkontos. Minimale Länge: `1` · Maximale Länge: `253` · Muster: `^[a-z0-9]([-a-z0-9.]*[a-z0-9])?$`. |

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

statefulSet konfiguriert das Dienstkonto, das vom StatefulSet des charts verwendet wird.

| Feld | Typ | Erforderlich | Beschreibung |
| - | - | - | - |
| `name` | `string` | Ja | Name des Dienstkontos. Mindestlänge: `1` · Maximallänge: `253` · Muster: `^[a-z0-9]([-a-z0-9.]*[a-z0-9])?$`. |

## Vantage.spec.argocd

argocd konfiguriert die Argo-CD-Ressourcen, die der Bediener erstellt, um Vantage-Workloads zu installieren.
Wenn Sie es weglassen, erfolgt die Installation in das Projekt „default“.

| Feld | Typ | Erforderlich | Beschreibung |
| - | - | - | - |
| `project` | `string` | Nein | project ist das Argo-CD-AppProject, zu dem die generierten Applications gehören. Das Projekt muss den Ziel-Cluster und den Ziel-Namensraum zulassen, andernfalls verweigert Argo CD deren Synchronisierung. Standard: `default` · Mindestlänge: `1`. |

## Vantage.spec.keda

keda konfiguriert die KEDA-Einstellungen. Ist keda nicht angegeben, ist die KEDA-Unterstützung deaktiviert.

| Feld | Typ | Erforderlich | Beschreibung |
| - | - | - | - |
| `enabled` | `boolean` | Nein | enabled legt fest, ob für Workloads, die dies unterstützen, die KEDA-basierte automatische Skalierung verwendet werden soll. Standard: `false`. |

## Vantage.spec.ociMigration

ociMigration konfiguriert das Kopieren von Artefakten aus einer Quell-Registry in ein Ziel vor der Installation.
Lassen Sie den Abschnitt ganz weg oder setzen Sie enabled=false, um die Migration zu überspringen.
Wenn die Migration aktiviert ist, ist destination erforderlich.

| Feld | Typ | Erforderlich | Beschreibung |
| - | - | - | - |
| `concurrency` | `integer` | Ja | concurrency ist die Anzahl der Artefakte, die parallel kopiert werden. Standard: `5` · Minimum: `1`. |
| `destination` | `object` | Nein | destination ist das Ziel, in das die Artefakte kopiert werden. Siehe [`destination`](#vantagespecocimigrationdestination). |
| `enabled` | `boolean` | Nein | enabled aktiviert die OCI-Migration. Standard: `true`. |
| `imagePullSecrets` | `[]object` | Nein | imagePullSecrets ist eine optionale Liste von Verweisen auf secrets im selben Namensraum, die zum Abrufen des Bediener-Images verwendet werden, mit dem der OCI-Migrations-Job in diesem Namensraum ausgeführt wird. Siehe [`imagePullSecrets`](#vantagespecocimigrationimagepullsecretsindex). |
| `labels` | `map[string]JSON` | Nein | labels sind die labels, die auf den OCI-Migrations-Job und das pod-Template angewendet werden sollen. Werte, die keine Zeichenfolgen sind, werden mit \[fmt.Sprint] in Zeichenfolgen konvertiert |
| `resources` | `object` | Nein | resources sind die Rechenressourcen des Containers des OCI-Migrations-Jobs. Standardmäßig ist die CPU nicht begrenzt, damit der Kopiervorgang kurzzeitig mehr Leistung nutzen kann; legen Sie auf Clustern, deren Richtlinien für jeden Container ein CPU-Limit vorschreiben, ein solches fest. Es werden nur requests und limits berücksichtigt: Der Job deklariert keine resourceClaims auf pod-Ebene, daher werden claims abgelehnt. Standard: `{"limits":{"memory":"512Mi"},"requests":{"cpu":"100m","memory":"128Mi"}}`. Siehe [`resources`](#vantagespecocimigrationresources). |
| `serviceAccountName` | `string` | Nein | serviceAccountName ist der Name des ServiceAccount, mit dem der OCI-Migrations-Job ausgeführt wird. |
| `sources` | `[]object` | Nein | sources sind die Anmeldedaten für den Zugriff auf Registrys, aus denen Artefakte kopiert werden (z. B. JFrog). (Maximale Länge 20) Maximale Anzahl an Elementen: `20`. Siehe [`sources`](#vantagespecocimigrationsourcesindex). |

> [!NOTE]
>
> **`destination`-Validierung**: `!self.host.contains('/')`: host darf keinen Pfad enthalten – verwenden Sie für den Registry-Pfad das Feld repository

> [!NOTE]
>
> **`destination`-Validierung**: `!self.host.contains('://')`: host darf kein Schema enthalten (z. B. https\://)

> [!NOTE]
>
> **Validierung von `resources`**: `!has(self.claims) || size(self.claims) == 0`: resources.claims wird vom OCI-Migrations-Job nicht unterstützt

## Vantage.spec.ociMigration.destination

destination gibt an, wohin Artefakte kopiert werden.

| Feld | Typ | Erforderlich | Beschreibung |
| - | - | - | - |
| `host` | `string` | Ja | host ist der Hostname der Registry, optional mit Port (z. B. registry.example.com, registry.example.com:5000). Minimale Länge: `1`. |
| `credentialsRef` | `object` | Nein | credentialsRef verweist auf ein Secret mit Schlüsseln für Benutzername und Kennwort oder auf ein Secret vom Typ kubernetes.io/dockerconfigjson. Hat, sofern angegeben, Vorrang vor username/password. Siehe [`credentialsRef`](#vantagespecocimigrationdestinationcredentialsref). |
| `password` | `string` | Nein | Kennwort für die Authentifizierung bei der Registry (Klartext; verwenden Sie in Produktionsumgebungen credentialsRef) |
| `repository` | `string` | Nein | repository ist der Registry-Pfad bzw. Namensraum für Artefakte (z. B. „abbyy-docker“, „vantage/images“). Muster: `^[a-z0-9]+([._-][a-z0-9]+)*(/[a-z0-9]+([._-][a-z0-9]+)*)*$`. |
| `username` | `string` | Nein | Benutzername für die Authentifizierung bei der Registry (Klartext; verwenden Sie in Produktionsumgebungen credentialsRef) |
| `workloadIdentity` | `object` | Nein | workloadIdentity definiert Einstellungen, um mit der Identität der Workload (Kubernetes-Dienstkonto) auf die Registry zuzugreifen. Siehe [`workloadIdentity`](#vantagespecocimigrationdestinationworkloadidentity). |

## Vantage.spec.ociMigration.destination.credentialsRef

credentialsRef verweist auf ein Secret, das Schlüssel für Benutzername und Kennwort enthält, oder auf ein Secret vom Typ kubernetes.io/dockerconfigjson.
Hat, sofern angegeben, Vorrang vor username/password.

| Feld | Typ | Erforderlich | Beschreibung |
| - | - | - | - |
| `name` | `string` | Ja | name ist der Name des Secrets |

## Vantage.spec.ociMigration.destination.workloadIdentity

workloadIdentity definiert die Einstellungen, mit denen über die Identität der Workload (Kubernetes-Dienstkonto)
auf die Registry zugegriffen wird.

| Feld | Typ | Erforderlich | Beschreibung |
| - | - | - | - |
| `audience` | `string` | Nein | audience ist der Endpunkt, über den das Dienstkonto-Token gegen ein OAuth-Zugriffstoken ausgetauscht werden soll. |
| `clientId` | `string` | Nein | clientId ist die Client-ID, mit der das Dienstkonto-Token gegen ein OAuth-Zugriffstoken ausgetauscht werden soll. |
| `tokenEndpoint` | `string` | Nein | tokenEndpoint ist der Endpunkt, über den das Dienstkonto-Token gegen ein OAuth-Zugriffstoken ausgetauscht werden soll. |

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

LocalObjectReference enthält genügend Informationen, um das
referenzierte Objekt innerhalb desselben Namensraums zu finden.

| Feld | Typ | Erforderlich | Beschreibung |
| - | - | - | - |
| `name` | `string` | Nein | Name des referenzierten Objekts. Dieses Feld ist faktisch erforderlich, darf aber aus Gründen der Abwärtskompatibilität leer bleiben. Instanzen dieses Typs, bei denen dieser Wert leer ist, sind mit ziemlicher Sicherheit fehlerhaft. Weitere Informationen: [https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names) Standard: \`\`. |

## Vantage.spec.ociMigration.resources

resources sind die Rechenressourcen des Containers des OCI-Migrations-Jobs. Standardmäßig bleibt
die CPU unbegrenzt, damit der Kopiervorgang kurzzeitig mehr Leistung abrufen kann. Legen Sie ein CPU-Limit für Cluster fest, deren Richtlinien ein solches für
jeden Container vorschreiben. Nur requests und limits werden berücksichtigt: Der Job deklariert keine resourceClaims auf pod-Ebene,
daher werden claims abgelehnt.

| Feld | Typ | Erforderlich | Beschreibung |
| - | - | - | - |
| `limits` | `map[string]intorstring` | Nein | Limits gibt die maximal zulässige Menge an Rechenressourcen an. Weitere Informationen: [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) |
| `requests` | `map[string]intorstring` | Nein | Requests gibt die minimal erforderliche Menge an Rechenressourcen an. Wird Requests für einen Container nicht angegeben, gilt standardmäßig der Wert von Limits, sofern dieser explizit festgelegt ist, andernfalls ein implementierungsabhängiger Wert. Requests darf Limits nicht überschreiten. Weitere Informationen: [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) |

Noch nicht unterstützt. Der Bediener lehnt eine Ressource ab, in der diese Felder gesetzt sind.

| Feld | Typ | Erforderlich | Beschreibung |
| - | - | - | - |
| `claims` | `[]object` | Nein | Claims listet die Namen der in spec.resourceClaims definierten Ressourcen auf, die dieser Container verwendet. Dieses Feld hängt vom Feature-Gate DynamicResourceAllocation ab. Dieses Feld ist unveränderlich. Es kann nur für Container gesetzt werden. Siehe [`claims`](#vantagespecocimigrationresourcesclaimsindex). |

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

ResourceClaim verweist auf einen Eintrag in PodSpec.ResourceClaims.

| Feld | Typ | Erforderlich | Beschreibung |
| - | - | - | - |
| `name` | `string` | Ja | Der Name muss mit dem Namen eines Eintrags in pod.spec.resourceClaims des Pods übereinstimmen, in dem dieses Feld verwendet wird. Dadurch wird die betreffende Ressource innerhalb eines Containers verfügbar. |
| `request` | `string` | Nein | Request ist der Name, der für eine Anfrage im referenzierten claim gewählt wurde. Ist das Feld leer, wird alles aus dem claim bereitgestellt, andernfalls nur das Ergebnis dieser Anfrage. |

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

ContainerRegistryConfig definiert die Verbindungseinstellungen für die Container-Registry.

| Feld | Typ | Erforderlich | Beschreibung |
| - | - | - | - |
| `host` | `string` | Ja | host ist der Hostname der Registry, optional mit Port (z. B. registry.example.com, registry.example.com:5000). Mindestlänge: `1`. |
| `credentialsRef` | `object` | Nein | credentialsRef verweist auf ein Secret mit Schlüsseln für Benutzername und Kennwort oder auf ein Secret vom Typ kubernetes.io/dockerconfigjson. Hat, sofern angegeben, Vorrang vor username/password. Siehe [`credentialsRef`](#vantagespecocimigrationsourcesindexcredentialsref). |
| `password` | `string` | Nein | Kennwort für die Authentifizierung bei der Registry (Klartext; verwenden Sie in Produktionsumgebungen credentialsRef) |
| `repository` | `string` | Nein | repository ist der Registry-Pfad bzw. Namensraum für Artefakte (z. B. "abbyy-docker", "vantage/images"). Muster: `^[a-z0-9]+([._-][a-z0-9]+)*(/[a-z0-9]+([._-][a-z0-9]+)*)*$`. |
| `username` | `string` | Nein | Benutzername für die Authentifizierung bei der Registry (Klartext; verwenden Sie in Produktionsumgebungen credentialsRef) |
| `workloadIdentity` | `object` | Nein | workloadIdentity definiert Einstellungen, um mit der Identität der Workload (Kubernetes-Dienstkonto) auf die Registry zuzugreifen. Siehe [`workloadIdentity`](#vantagespecocimigrationsourcesindexworkloadidentity). |

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

credentialsRef verweist auf ein Secret, das Schlüssel für Benutzername und Kennwort enthält, oder auf ein Secret vom Typ kubernetes.io/dockerconfigjson.
Hat, sofern angegeben, Vorrang vor username/password.

| Feld | Typ | Erforderlich | Beschreibung |
| - | - | - | - |
| `name` | `string` | Ja | name ist der Name des Secrets. |

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

workloadIdentity definiert Einstellungen für die Verwendung der Identität der Workload (Kubernetes-Dienstkonto)
für den Zugriff auf die Registry.

| Feld | Typ | Erforderlich | Beschreibung |
| - | - | - | - |
| `audience` | `string` | Nein | audience ist der Endpunkt, über den das Dienstkonto-Token gegen ein OAuth-Zugriffstoken ausgetauscht werden soll. |
| `clientId` | `string` | Nein | clientId ist die Client-ID, mit der das Dienstkonto-Token gegen ein OAuth-Zugriffstoken ausgetauscht werden soll. |
| `tokenEndpoint` | `string` | Nein | tokenEndpoint ist der Endpunkt, über den das Dienstkonto-Token gegen ein OAuth-Zugriffstoken ausgetauscht werden soll. |

## Vantage.spec.smtp

smtp konfiguriert den SMTP-Mailserver. Ist nichts angegeben, wird Sendgrid als Mail-Provider verwendet.

| Feld | Typ | Erforderlich | Beschreibung |
| - | - | - | - |
| `host` | `string` | Ja | host ist der Hostname des SMTP-Servers |
| `login` | `string` | Nein | Login für die SMTP-Authentifizierung |
| `password` | `string` | Nein | Kennwort für die SMTP-Authentifizierung |
| `port` | `integer` | Nein | port ist der Port des SMTP-Servers. Standard: `587` · Format: `int32`. |
| `useSSL` | `boolean` | Nein | useSSL aktiviert TLS für SMTP-Verbindungen. Standard: `false`. |

## Vantage.spec.storage

storage konfiguriert Advanced-Speicheroptionen.

| Feld | Typ | Erforderlich | Beschreibung |
| - | - | - | - |
| `azure` | `object` | Nein | azure konfiguriert das Azure-Speicher-Backend. |
| `custom` | `object` | Nein | custom konfiguriert ein benutzerdefiniertes Speicher-Backend. Siehe [`custom`](#vantagespecstoragecustom). |

Wird noch nicht unterstützt. Der Bediener lehnt eine Ressource ab, in der diese Felder gesetzt sind.

| Feld | Typ | Erforderlich | Beschreibung |
| - | - | - | - |
| `s3` | `object` | Nein | s3 konfiguriert das S3-Speicher-Backend. Siehe [`s3`](#vantagespecstorages3). |

## Vantage.spec.storage.custom

custom konfiguriert ein benutzerdefiniertes Speicher-Backend.

| Feld | Typ | Erforderlich | Beschreibung |
| - | - | - | - |
| `size` | `intorstring` | Ja | size legt die Größe des PVC fest. Standard: `300Gi` · Muster: `^(\+\|-)?(([0-9]+(\.[0-9]*)?)\|(\.[0-9]+))(([KMGTPE]i)\|[numkMGTPE]\|([eE](\+\|-)?(([0-9]+(\.[0-9]*)?)\|(\.[0-9]+))))?$`. |
| `storageClass` | `string` | Ja | storageClass legt die Storage-Klasse fest, die für PVCs zum Mounten von Volumes des benutzerdefinierten Speicher-Backends verwendet wird. |

## Vantage.spec.storage.s3

s3 konfiguriert das S3-Speicher-Backend.

| Feld | Typ | Erforderlich | Beschreibung |
| - | - | - | - |
| `buckets` | `object` | Nein | buckets konfiguriert die Namen der Speicher-Buckets. Siehe [`buckets`](#vantagespecstorages3buckets). |
| `region` | `string` | Nein | region konfiguriert die AWS-Region, die für S3-Clients verwendet wird. |
| `scopedClientCredentials` | `object` | Nein | scopedClientCredentials konfiguriert den Speicher-Service so, dass er Clients kurzlebige Anmeldedaten im Gültigkeitsbereich eines einzelnen Speichers (STS AssumeRole) bereitstellt, statt seine eigene schlüssellose Verbindung zu nutzen. Siehe [`scopedClientCredentials`](#vantagespecstorages3scopedclientcredentials). |
| `uri` | `string` | Nein | uri konfiguriert den S3-Endpunkt (z. B. [https://s3.us-east-1.amazonaws.com](https://s3.us-east-1.amazonaws.com) oder einen S3-kompatiblen Service). Muster: `^https?://`. |

## Vantage.spec.storage.s3.buckets

buckets konfiguriert die Namen der Speicher-Buckets.

| Feld | Typ | Erforderlich | Beschreibung |
| - | - | - | - |
| `archive` | `string` | Nein | archive konfiguriert den Namen des Archive-Buckets. |
| `permanent` | `string` | Nein | permanent konfiguriert den Namen des Permanent-Buckets. |
| `standard` | `string` | Nein | standard konfiguriert den Namen des Standard-Buckets. |
| `temporary` | `string` | Nein | temporary konfiguriert den Namen des Temporary-Buckets. |

## Vantage.spec.storage.s3.scopedClientCredentials

scopedClientCredentials konfiguriert den Speicher-Service so, dass er Clients kurzlebige Anmeldedaten
im Gültigkeitsbereich eines einzelnen Speichers (STS AssumeRole) bereitstellt, statt seine eigene schlüssellose Verbindung zu verwenden.

| Feld | Typ | Erforderlich | Beschreibung |
| - | - | - | - |
| `credentialsExpiration` | `string` | Nein | credentialsExpiration ist die Gültigkeitsdauer der jeweils ausgegebenen Anmeldedaten als .NET-TimeSpan (z. B. 01:00:00). Standardwert ist eine Stunde. Muster: `^([0-9]+\.)?[0-9]{1,2}:[0-9]{2}:[0-9]{2}$`. |
| `enabled` | `boolean` | Nein | enabled aktiviert die bereichsbezogenen Client-Anmeldedaten. |
| `roleArn` | `string` | Nein | roleArn ist die IAM-Rolle, die zum Ausstellen der Anmeldedaten übernommen wird. Unter AWS erforderlich. |
| `roleSessionName` | `string` | Nein | roleSessionName ist der Sitzungsname, der beim Übernehmen von roleArn verwendet wird. |
| `stsUri` | `string` | Nein | stsUri überschreibt den STS-Endpunkt, der andernfalls aus der Region ermittelt wird. Muster: `^https?://`. |

## Vantage.spec.techcore

techcore enthält die Konfiguration für die TechCore-Verarbeitungsengine

| Feld | Typ | Erforderlich | Beschreibung |
| - | - | - | - |
| `versions` | `[]integer` | Ja | versions gibt die bereitzustellenden TechCore-Versionen an (verfügbare Versionen: 2, 3, 4). Mindestanzahl an Elementen: `1` · Enum: `2, 3, 4`. |
| `nnTrainingWorkers` | `object` | Nein | nnTrainingWorkers konfiguriert die Trainings-Worker für neuronale Netze. Siehe [`nnTrainingWorkers`](#vantagespectechcorenntrainingworkers). |

## Vantage.spec.techcore.nnTrainingWorkers

nnTrainingWorkers konfiguriert die Trainings-Worker für neuronale Netze

| Feld | Typ | Erforderlich | Beschreibung |
| - | - | - | - |
| `enabled` | `boolean` | Nein | enabled aktiviert die Trainings-Worker für neuronale Netze. Standard: `false`. |
| `gpu` | `boolean` | Nein | gpu aktiviert die GPU-Beschleunigung für die Trainings-Worker. Standard: `false`. |

## Vantage.status

status definiert den beobachteten Zustand von Vantage

| Feld | Typ | Erforderlich | Beschreibung |
| - | - | - | - |
| `availableVersions` | `[]string` | Nein | availableVersions ist die Liste der über die Release-URL verfügbaren Versionen. |
| `conditions` | `[]object` | Nein | conditions geben den aktuellen Zustand der Vantage-Ressource wieder. Jede Bedingung hat einen eindeutigen Typ und spiegelt den Status eines bestimmten Aspekts der Ressource wider. Zu den Standard-Bedingungstypen gehören: - „Available“: Die Ressource ist voll funktionsfähig - „Progressing“: Die Ressource wird erstellt oder aktualisiert - „Degraded“: Die Ressource konnte ihren gewünschten Zustand nicht erreichen oder aufrechterhalten Der Status jeder Bedingung ist True, False oder Unknown. Siehe [`conditions`](#vantagestatusconditionsindex). |
| `degradationReasons` | `[]object` | Nein | degradationReasons geben die Gründe für den beeinträchtigten Zustand der Installation an. Siehe [`degradationReasons`](#vantagestatusdegradationreasonsindex). |
| `installedVantageVersion` | `string` | Nein | installedVantageVersion ist die aktuell ausgeführte Version. |
| `observedGeneration` | `integer` | Nein | observedGeneration ist die Generation der Spec, die vom Controller „verarbeitet“ wurde. Format: `int64`. |

## Vantage.status.conditions\[index]

Eine Bedingung enthält Details zu einem Aspekt des aktuellen Zustands dieser API-Ressource.

| Feld | Typ | Erforderlich | Beschreibung |
| - | - | - | - |
| `lastTransitionTime` | `string` | Ja | lastTransitionTime ist der Zeitpunkt, zu dem die Bedingung zuletzt von einem Status in einen anderen übergegangen ist. Dies sollte der Zeitpunkt sein, zu dem sich die zugrunde liegende Bedingung geändert hat. Ist dieser nicht bekannt, kann stattdessen der Zeitpunkt verwendet werden, zu dem sich das API-Feld geändert hat. Format: `date-time`. |
| `message` | `string` | Ja | message ist eine menschenlesbare Nachricht mit Details zum Übergang. Dies kann ein leerer String sein. Maximale Länge: `32768`. |
| `reason` | `string` | Ja | reason enthält einen programmatischen Bezeichner, der den Grund für den letzten Übergang der Bedingung angibt. Produzenten bestimmter Bedingungstypen können erwartete Werte und deren Bedeutung für dieses Feld festlegen und bestimmen, ob die Werte als garantierte API gelten. Der Wert sollte ein String in CamelCase sein. Dieses Feld darf nicht leer sein. Minimale Länge: `1` · Maximale Länge: `1024` · Muster: `^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$`. |
| `status` | `enum` | Ja | Status der Bedingung; einer der Werte True, False oder Unknown. Enum: `True, False, Unknown`. |
| `type` | `string` | Ja | Typ der Bedingung in CamelCase oder im Format foo.example.com/CamelCase. Maximale Länge: `316` · Muster: `^([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` | Nein | observedGeneration gibt die .metadata.generation an, auf deren Grundlage die Bedingung gesetzt wurde. Ist .metadata.generation beispielsweise aktuell 12, .status.conditions\[x].observedGeneration jedoch 9, ist die Bedingung im Hinblick auf den aktuellen Zustand der Instanz veraltet. Format: `int64` · Minimum: `0`. |

## Vantage.status.degradationReasons\[index]

DegradationReason gibt an, warum eine einzelne Komponente der Installation beeinträchtigt ist.

| Feld | Typ | Erforderlich | Beschreibung |
| - | - | - | - |
| `component` | `string` | Ja | component ist der Teil der Installation, der beeinträchtigt ist. |
| `message` | `string` | Ja | message ist eine für Menschen lesbare Beschreibung der Beeinträchtigung der Komponente. |
| `reason` | `string` | Ja | reason enthält einen programmatischen Bezeichner, der den Grund für die Beeinträchtigung der Komponente angibt. Der Wert sollte ein string in CamelCase-Schreibweise sein. |
