仕様スキーマ
ReplicationSpec は、レプリケーションの望ましい状態を定義します。
dbcluster:
  name: string
downstream:
  control: string
  host: string
  password:
    name: string
    namespace: string
  port: integer
  replicationSlotName: string
  username: string
upstream:
  applicationName: string
  logicalReplication:
    databaseName: string
    pluginName: string
  password:
    name: string
    namespace: string
  replicationSlotName: string
  synchronous: string
  username: string
| フィールドタイプ 必須または省略可 | 説明 | 
|---|---|
| dbcluster | |
| object省略可 | dbcluster は、このレプリケーションが属する DBCluster です。 | 
| dbcluster.name | |
| string省略可 | 参照先の名前。詳細については、名前をご覧ください。 | 
| downstream | |
| object省略可 | downstream には、ダウンストリーム データベースのレプリケーションの仕様を指定します。 | 
| downstream.control | |
| string必須 | control には、このデータベースで実行するレプリケーション オペレーションを指定します。指定できる値は、setup、promote、rewind です。 | 
| downstream.host | |
| string必須 | host は、このデータベースがレプリケーションにアクセスできるアップストリーム データベースの接続エンドポイントです。 | 
| downstream.password | |
| object必須 | password は、アップストリーム データベースのレプリケーション ユーザー パスワードを保存する Secret の参照です。 | 
| downstream.password.name | |
| string省略可 | name は、Secret リソースを参照する Namespace 内で一意です。 | 
| downstream.password.namespace | |
| string省略可 | namespace は、Secret 名が一意である必要がある空間を定義します。 | 
| downstream.port | |
| integer省略可 | port は、このデータベースがレプリケーションのためにアクセスできるアップストリーム データベースのポートです。デフォルトは 5432 です。 | 
| downstream.replicationslotname | |
| string必須 | replicationslotname は、アップストリーム データベースに作成されたレプリケーション スロットの名前です。このデータベースがレプリケーションで使用します。 | 
| downstream.username | |
| string必須 | username は、アップストリーム データベースで作成されたレプリケーション ユーザーの名前です。このデータベースがレプリケーションでアップストリームに接続するために使用します。 | 
| upstream | |
| object省略可 | upstream には、レプリケーション アップストリーム データベースの仕様を指定します。 | 
| upstream.applicationName | |
| string省略可 | applicationName は、同期レプリケーション接続の識別子です。synchronous が true に設定されている場合、この値は必須です。 | 
| upstream.logicalReplication | |
| object省略可 | logicalReplication では、レプリケーション スロットの論理レプリケーション構成を指定します。空の場合、レプリケーション スロットは物理レプリケーション スロットとして構成されます。 | 
| upstream.logicalReplication.databaseName | |
| string省略可 | databaseName は、このスロットに関連付けられているデータベースです。このデータベースからの変更のみがスロット経由でストリーミングされます。 | 
| upstream.logicalReplication.pluginName | |
| string省略可 | pluginName は、このスロットに関連付けられているデコーディング プラグインです。詳細については、論理デコーディングの説明をご覧ください。 | 
| upstream.password | |
| object必須 | password は、レプリケーション ユーザーのパスワードを保存するシークレットへの参照です。password を指定しないと、パスワードが生成され、ステータスに表示された Secret に保存されます。 | 
| upstream.password.name | |
| string省略可 | name は、Secret リソースを参照する Namespace 内で一意です。 | 
| upstream.password.namespace | |
| string省略可 | namespace は、Secret 名が一意である必要がある空間を定義します。 | 
| upstream.replicationslotname | |
| string省略可 | replicationslotname は、レプリケーションに使用するレプリケーション スロットの名前です。指定しない場合、レプリケーション スロット名が生成され、ステータスに示されます。 | 
| upstream.synchronous | |
| string省略可 | synchronous では、レプリケーション スロットを同期レプリケーション用に構成する必要があるかどうかを指定します。true の場合、applicationName が同期スタンバイのリストに追加されます。デフォルトは falseです。注: パフォーマンスに悪影響を及ぼす可能性があります。 | 
| upstream.username | |
| string省略可 | username は、レプリケーションに使用するレプリケーション ユーザーの名前です。指定しない場合、ユーザー名が生成され、ステータスに示されます。 | 
ステータス スキーマ
ReplicationStatus は、レプリケーションの観測された状態を定義します。
conditions:
- lastTransitionTime: string
  message: string
  observedGeneration: integer
  reason: string
  status: string
  type: string
criticalIncidents:
- code: string
  createTime: string
  message: string
  messageTemplateParams: object
  resource:
    component: string
    location:
      cluster: string
      group: string
      kind: string
      name: string
      namespace: string
      version: string
  stackTrace:
  - component: string
    message: string
  transientUntil: string
downstream:
  physicalDownstream:
    passwordResourceVersion: string
    setupStrategies:
      endedAt: string
      message: string
      retries: integer
      startedAt: string
      state: string
      strategy: string
    state: string
observedGeneration: integer
reconciled: boolean
upstream:
  host: string
  password:
    name: string
    namespace: string
  port: integer
  replicationSlotName: string
  username: string
| フィールドタイプ 必須または省略可 | 説明 | 
|---|---|
| conditions[] | |
| object省略可 | conditions は、エンティティの現在の状態について利用可能な最新の観測値を表します。 | 
| conditions[].lastTransitionTime | |
| string必須 | lastTransitionTime は、あるステータスから別のステータスに条件が最後に移行した時刻です。これは、基盤となる条件が変更されたときに発生します。基になる条件の変更時刻が不明な場合は、API フィールドの変更時刻を使用します。 | 
| conditions[].message | |
| string必須 | message は、移行の詳細を示す人間が読めるメッセージです。空の文字列にすることもできます。 | 
| conditions[].observedGeneration | |
| integer省略可 | observedGeneration は、条件が設定された .metadata.generation を表します。たとえば、.metadata.generation が 12 で、.status.conditions[x].observedGeneration が 9 の場合、その状態はインスタンスの現在の状態に対して古くなっています。 | 
| conditions[].reason | |
| string必須 | reason には、条件の最後の遷移の理由を示すプログラマティック ID が含まれます。特定の条件タイプのプロデューサーは、このフィールドの想定される値と意味、および値が保証付き API とみなされるかどうかを定義できます。値は CamelCase 文字列にする必要があります。このフィールドは空にできません。 | 
| conditions[].status | |
| string必須 | 条件のステータス(True、False、Unknown のいずれか)。 | 
| conditions[].type | |
| string必須 | 条件のタイプ(CamelCase または foo.example.com/CamelCase 形式)。多くの .condition.type 値は、Available などリソース間で一貫しています。ただし、任意の条件が有用な場合があるため(.node.status.conditions を参照)、競合を回避する機能が重要です。一致する正規表現は、(dns1123SubdomainFmt/)?(qualifiedNameFmt) です。 | 
| criticalIncidents[] | |
| object必須 | criticalIncidents は、アクティブなすべての重大インシデントのフラットなリストです。 | 
| criticalIncidents[].code | |
| string必須 | code は、この特定のエラーのエラーコードです。エラーコードは DBSE+numeric文字列(DBSE1012など)です。 | 
| criticalIncidents[].createTime | |
| string必須 | createTime は、このインシデントが発生元で作成されたときのタイムスタンプです。 | 
| criticalIncidents[].message | |
| string省略可 | message は、発生したインシデントまたはエラーの説明です。 | 
| criticalIncidents[].messageTemplateParams | |
| object省略可 | messageTemplateParams には、ユーザー インターフェースでユーザー フレンドリーなデータドリブン バージョンの message を生成するために必要な Key-Value ペアが含まれます。 | 
| criticalIncidents[].resource | |
| object必須 | resource には、インシデントを報告した Database Service コンポーネントに関する情報と、Kubernetes リソースに関する情報が含まれます。 | 
| criticalIncidents[].resource.component | |
| string必須 | component は、インシデントを報告した Database Service サブシステムの内部識別子です。 | 
| criticalIncidents[].resource.location | |
| object省略可 | 場所。 | 
| criticalIncidents[].resource.location.cluster | |
| string省略可 | 影響を受けた Kubernetes リソースのクラスタの名前。 | 
| criticalIncidents[].resource.location.group | |
| string省略可 | Kubernetes リソースのグループの名前。 | 
| criticalIncidents[].resource.location.kind | |
| string省略可 | Kubernetes リソースの Kind。 | 
| criticalIncidents[].resource.location.name | |
| string省略可 | 影響を受けた Kubernetes リソースの名前。 | 
| criticalIncidents[].resource.location.namespace | |
| string省略可 | 影響を受けた Kubernetes リソースの Namespace。 | 
| criticalIncidents[].resource.location.version | |
| string省略可 | Kubernetes リソースのバージョン。 | 
| criticalIncidents[].stackTrace[] | |
| object省略可 | スタック トレースに含まれるメッセージの非構造化リスト。 | 
| criticalIncidents[].stackTrace[].component | |
| string省略可 | このメッセージをログに記録した Database Service コンポーネントの名前。 | 
| criticalIncidents[].stackTrace.message | |
| string省略可 | ログに記録されたメッセージ。 | 
| criticalIncidents[].transientUntil | |
| string省略可 | TransientUntil が指定されている場合、問題は指定された時刻までの一時的なものと見なす必要があります。 | 
| downstream | |
| object省略可 | downstream には、レプリケーション ダウンストリーム データベースの観測された状態が含まれます。 | 
| downstream.physicalDownstream | |
| object省略可 | |
| downstream.physicalDownstream.passwordResourceVersion | |
| string省略可 | passwordResourceVersion は、Secret パスワードのリソース バージョンです。このバージョンは、データベースでパスワードが最後に更新されたときを表します。 | 
| downstream.physicalDownstream.setupStrategies | |
| object省略可 | setupStrategies には、試行された各設定戦略の実行に関する情報が含まれています。仕様で定義されている戦略と同じ順序でこのリストに示されます。 | 
| downstream.physicalDownstream.setupStrategies.endedAt | |
| string省略可 | endedAt は、この戦略の最新の試行が終了した時刻です。 | 
| downstream.physicalDownstream.setupStrategies.message | |
| string省略可 | message は、設定の試行が現在の状態になった理由の説明です。 | 
| downstream.physicalDownstream.setupStrategies.retries | |
| integer省略可 | retries は、この戦略が再試行された回数です。 | 
| downstream.physicalDownstream.setupStrategies.startedAt | |
| string省略可 | startedAt は、この戦略の最新の試行が開始された時刻です。 | 
| downstream.physicalDownstream.setupStrategies.state | |
| string必須 | state は、この設定戦略の現在の状態です。値は次のいずれかです。 InProgress: 戦略が現在実行されています。Success: 戦略が正常に完了したため、以降は設定戦略が試行されません。Error: 戦略は失敗しましたが、再試行されます。retries フィールドに、この戦略が再試行された回数が示されます。Fallback: 戦略は失敗し、再試行されません。代わりに、利用可能な次の戦略(存在する場合)にフォールバックします。Unknown | 
| downstream.physicalDownstream.setupStrategies.strategy | |
| string必須 | strategy は、このステータスの対象である戦略タイプの名前です。 | 
| downstream.physicalDownstream.state | |
| object省略可 | state は、ダウンストリーム データベース サーバーの pg_stat_wal_receiver テーブルに表示されるレプリケーションの状態です。 | 
| observedgeneration | |
| integer省略可 | 内部: コントローラによって観測された世代。 | 
| reconciled | |
| boolean省略可 | Internal: リソースがコントローラによって調整されたかどうか。 | 
| upstream | |
| object省略可 | upstream には、レプリケーション アップストリーム データベースの観測された状態が含まれます。 | 
| upstream.host | |
| string省略可 | host は、このデータベースの接続エンドポイントで、ダウンストリーム データベースがレプリケーションでアクセスできます。 | 
| upstream.password | |
| object省略可 | password は、このデータベースのレプリケーション ユーザー パスワードを保存するシークレットの参照です。 | 
| upstream.password.name | |
| string省略可 | name は、Secret リソースを参照する Namespace 内で一意です。 | 
| upstream.password.namespace | |
| string省略可 | namespace は、Secret 名が一意である必要がある空間を定義します。 | 
| upstream.port | |
| integer省略可 | port は、ダウンストリーム データベースがレプリケーションのためにアクセスできるこのデータベースのポートです。 | 
| upstream.replicationslotname | |
| string省略可 | replicationslotname は、このデータベースに作成されたレプリケーション スロットの名前です。ダウンストリーム データベースは、このレプリケーション スロットをレプリケーションに使用できます。 | 
| upstream.username | |
| string省略可 | username は、このデータベースのレプリケーション ユーザーの名前です。ダウンストリーム データベースは、このユーザーを使用してこのデータベースに接続し、レプリケーションを行うことができます。 |