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

# ライフサイクル

> Vantage カスタムリソースのランタイム契約: リコンシルフェーズ、ステータス条件、再試行の強制。

このページでは、Vantage オペレーター と利用者の間のランタイム契約について説明します。具体的には、オペレーター が各リコンシルでたどるフェーズ、`Vantage` リソースに公開されるステータス条件、再試行を強制する方法です。field レベルのスキーマについては、[API リファレンス](/ja/vantage/self-hosted/v3.0/api-reference)を参照してください。概念的な概要については、[アーキテクチャ](/ja/vantage/self-hosted/v3.0/architecture)を参照してください。

<div id="reconcile-phases">
  ## リコンシルのフェーズ
</div>

オペレーターによるリコンシルは、5つの連続したフェーズで構成されています。各フェーズには、オペレーターが次のフェーズに進む前に、すべて正常に完了している必要があるバリデーターまたはステップが含まれます。いずれかのステップで失敗すると、リコンシル全体が致命的な失敗となり、その内容は `status.degradationReasons[]` に表示されます。

| # | フェーズ       | 実行内容                                                                                                                                                                                                      |
| - | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 1 | **事前チェック** | 設定を検証します。事前チェックでは、シークレットの設定が検証されます。                                                                                                                                                                       |
| 2 | **シークレット** | 構成済みのシークレットプロバイダー用に、シークレット関連のリソースが存在することを確認します。Azure Key Vault プロバイダーでは、オペレーターがチャートごとに `SecretProviderClass` リソースをプロビジョニングし、Secrets Store CSI driver が起動時にその値を pod に提供します。オペレーター自体がシークレット値を実体化することはありません。 |
| 3 | **OCI 移行** | `spec.ociMigration.destination` で指定された宛先レジストリに、ABBYY 配布のソースレジストリから Vantage のアーティファクトをコピーする1回限りのジョブを実行します。`spec.ociMigration.enabled: false` の場合はスキップされます。                                                 |
| 4 | **インストール** | workloads ConfigMap から各 Vantage コンポーネント用の ArgoCD `Application` マニフェストを生成し、適用します。                                                                                                                          |
| 5 | **同期**     | ArgoCD アプリケーションのステータスを監視し、`status.degradationReasons[]` を通じてコンポーネントごとのエラーを表示するとともに、`Progressing`、`Ready`、`Degraded` の condition を適宜更新します。                                                                 |

<div id="status-conditions">
  ## ステータス条件
</div>

オペレーターは、`status.conditions[]` の condition type を通じてインストール状態を示します。

* **`Progressing`**: プロセスの実行中は `status` が `True` になります。
* **`Ready`**: 正常に完了すると `status` が `True` になります。
* **`Degraded`**: 途中のいずれかの時点でエラーが発生すると `status` が `True` になります。この場合、`status.degradationReasons[]` にはエラーの詳細が含まれます。

Azure およびセルフマネージド型のインストール手順では、`condition=Ready` を待機します (`kubectl wait --for=condition=Ready vantages.vantage.abbyy.com/$release_name`) 。`Ready` には、別個のジョブとして実行される Skill のインストールは含まれないため (下記を参照) 、生成された ArgoCD アプリケーションについても確認する必要があります。完全なステータススキーマについては、[`Vantage.status` リファレンス](/ja/vantage/self-hosted/v3.0/api-reference#vantagestatus) を参照してください。

<div id="skill-installation-runs-separately">
  ### Skill のインストールは個別に実行されます
</div>

Skill は、ArgoCD アプリケーションではなく、install 名前空間内の別個の Kubernetes ジョブによってインストールされます。このジョブは ArgoCD には表示されず、上記のステータス条件にも反映されないため、`Ready` は Skill のインストールが完了したことを示すものではありません。ジョブの実行中でも Vantage は使用できます。

ジョブを直接監視します:

```bash theme={null}
kubectl -n $install_namespace wait --for=create job/$install_namespace-skill-installer-job
kubectl -n $install_namespace wait --for=condition=Complete job/$install_namespace-skill-installer-job
```

<div id="forcing-a-retry">
  ## 再試行を強制する
</div>

インストールを再試行するには (たとえば、Key Vault の権限を修正した後) 、`Vantage` リソースに `vantage.abbyy.com/reprocess` のアノテーションを追加します (値は任意) :

```bash theme={null}
kubectl -n $install_namespace annotate vantages.vantage.abbyy.com/$release_name \
  vantage.abbyy.com/reprocess="$(date +%s)" --overwrite
```

`Vantage` カスタムリソースは変更可能ですが、Vantage のインストールを再試行するには、対応する `Vantage` CR に `vantage.abbyy.com/reprocess` のアノテーション (値は `any`) を付与する必要があります。`spec.*` を編集しただけでは、失敗したインストールは再試行されません。spec を修正した後、再試行をトリガーするにはこのアノテーションを適用してください。

<div id="whats-next">
  ## 次のステップ
</div>

<CardGroup cols={2}>
  <Card title="API リファレンス" icon="code" href="/ja/vantage/self-hosted/v3.0/api-reference">
    すべての仕様とステータスプロパティを、field ごとに確認できるリファレンスです。
  </Card>

  <Card title="トラブルシューティング" icon="stethoscope" href="/ja/vantage/self-hosted/v3.0/troubleshooting">
    一般的なリコンシル失敗について、症状 → 診断 → 修正の流れで説明します。
  </Card>
</CardGroup>
