Skip to main content
This page documents the runtime contract between you and the Vantage operator: the phases the operator runs through on every reconcile, the conditions it publishes back on the Vantage resource, and how to force a retry. For the field-level schema, see API reference. For the conceptual overview, see Architecture.

Reconcile phases

The operator’s reconcile is structured as five sequential phases. Each phase contains validators or steps that must all succeed before the operator advances to the next phase. A failure in any step is fatal to the reconcile and surfaces on status.degradationReasons[].
#PhaseWhat happens
1PreflightValidates configuration. During preflight checks, secrets configuration is validated.
2SecretsEnsures secrets-related resources exist for the configured secrets provider. For the Azure Key Vault provider, the operator provisions SecretProviderClass resources per chart; the Secrets Store CSI driver supplies the values to pods at startup. The operator does not materialize secret values itself.
3OCI MigrationRuns the one-time job that copies Vantage artifacts from the ABBYY-distributed source registry into the destination registry declared on spec.ociMigration.destination. Skipped when spec.ociMigration.enabled: false.
4InstallationGenerates ArgoCD Application manifests for each Vantage component from the workloads ConfigMap and applies them.
5SyncWatches ArgoCD application status, surfaces per-component errors via status.degradationReasons[], and updates the Progressing, Ready, and Degraded conditions accordingly.

Status conditions

The operator publishes installation state through condition types on status.conditions[]:
  • Progressing: status is True while the process is ongoing.
  • Ready: status is True on success.
  • Degraded: status is True if an error is encountered at any point. In this case, status.degradationReasons[] contains the details of the error(s).
The Azure and self-managed installation procedures wait on condition=Ready (kubectl wait --for=condition=Ready vantages.vantage.abbyy.com/$release_name). Ready does not cover skill installation, which runs as a separate job (see below), and you should also verify the generated ArgoCD applications. See the Vantage.status reference for the full status schema.

Skill installation runs separately

Skills are installed by a separate Kubernetes job in the install namespace, not by an ArgoCD application. The job is not surfaced via ArgoCD and is not reflected in the conditions above, so Ready does not indicate that skill installation has finished. You can use Vantage while the job is running. Monitor the job directly:

Forcing a retry

To retry installation (for example, after fixing a Key Vault permission), annotate the Vantage resource with vantage.abbyy.com/reprocess (any value):
The Vantage custom resource is mutable, but in order to retry installation of Vantage, the corresponding Vantage CR must be annotated with vantage.abbyy.com/reprocess (any value). Editing spec.* alone does not retry a failed install; after correcting the spec, apply the annotation to trigger the retry.

What’s next

API reference

Field-by-field reference for every spec and status property.

Troubleshooting

Symptom → diagnosis → fix for common reconcile failures.