Esquema de especificación
ReplicationSpec define el estado deseado de Replication.
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
| CampoTipo Obligatorio u opcional | Descripción | 
|---|---|
| dbcluster | |
| objectOpcional | DBCluster es el DBCluster al que pertenece esta replicación. | 
| dbcluster.name | |
| stringOpcional | Nombre del referente. Para obtener más información, consulta Nombres. | 
| downstream | |
| objectOpcional | Downstream contiene especificaciones para la base de datos de replicación en sentido descendente. | 
| downstream.control | |
| stringObligatorio | El control especifica la operación de replicación que se realizará en esta base de datos. Los valores permitidos son setup, promote y rewind. | 
| downstream.host | |
| stringObligatorio | El host es el extremo de conexión de la base de datos upstream al que puede acceder esta base de datos para la replicación. | 
| downstream.password | |
| objectObligatorio | La contraseña es la referencia al secreto que almacena la contraseña del usuario de replicación de la base de datos upstream. | 
| downstream.password.name | |
| stringOpcional | Name es único dentro de un espacio de nombres para hacer referencia a un recurso de secreto. | 
| downstream.password.namespace | |
| stringOpcional | Namespace define el espacio dentro del cual el nombre del secreto debe ser único. | 
| downstream.port | |
| integerOpcional | El puerto es el puerto de la base de datos upstream al que puede acceder esta base de datos para la replicación. El valor predeterminado es 5432. | 
| downstream.replicationslotname | |
| stringObligatorio | ReplicationSlotName es el nombre de la ranura de replicación creada en la base de datos upstream. Esta base de datos la usa para la replicación. | 
| downstream.username | |
| stringObligatorio | El nombre de usuario es el nombre del usuario de replicación creado en la base de datos upstream. Esta base de datos la usa para conectarse a la replicación ascendente. | 
| upstream | |
| objectOpcional | Upstream contiene la especificación de la base de datos upstream de replicación. | 
| upstream.applicationName | |
| stringOpcional | applicationName es el identificador de la conexión de replicación síncrona. Este valor es obligatorio si Synchronous se establece en "true". | 
| upstream.logicalReplication | |
| objectOpcional | LogicalReplication especifica la configuración de replicación lógica para la ranura de replicación. Si está vacío, la ranura de replicación se configura como una ranura de replicación física. | 
| upstream.logicalReplication.databaseName | |
| stringOpcional | DatabaseName es la base de datos asociada a este slot. Solo los cambios de esta base de datos se transmiten a través de la ranura. | 
| upstream.logicalReplication.pluginName | |
| stringOpcional | PluginName es el complemento de decodificación asociado a este espacio. Consulta Explicación de la decodificación lógica para obtener más detalles. | 
| upstream.password | |
| objectObligatorio | La contraseña es la referencia al secreto que almacena la contraseña del usuario de replicación. Si no se proporciona una contraseña, se genera una y se almacena en un secreto que se muestra en el estado. | 
| upstream.password.name | |
| stringOpcional | Name es único dentro de un espacio de nombres para hacer referencia a un recurso de secreto. | 
| upstream.password.namespace | |
| stringOpcional | Namespace define el espacio dentro del cual el nombre del secreto debe ser único. | 
| upstream.replicationslotname | |
| stringOpcional | ReplicationSlotName es el nombre de la ranura de replicación que se usará para la replicación. Si no se proporciona, se genera un nombre de ranura de replicación y se muestra en el estado. | 
| upstream.synchronous | |
| stringOpcional | Synchronous especifica si la ranura de replicación debe configurarse para la replicación síncrona. Si es verdadero, se agrega applicationName a la lista de copias de seguridad síncronas. La configuración predeterminada es false.Nota: Esto podría tener un impacto negativo en el rendimiento. | 
| upstream.username | |
| stringOpcional | El nombre de usuario es el nombre del usuario de replicación que se usará para la replicación. Si no se proporciona, se genera un nombre de usuario y se muestra en el estado. | 
Esquema de estado
ReplicationStatus define el estado observado de Replication.
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
| CampoTipo Obligatorio u opcional | Descripción | 
|---|---|
| conditions[] | |
| objectOpcional | Conditions representa las últimas observaciones disponibles del estado actual de la entidad. | 
| conditions[].lastTransitionTime | |
| stringObligatorio | lastTransitionTime es la última vez que la condición pasó de un estado a otro, lo que ocurre cuando cambió la condición subyacente. Si se desconoce el momento en que cambió la condición subyacente, usa el momento en que cambió el campo de la API. | 
| conditions[].message | |
| stringObligatorio | message es un mensaje legible por humanos que indica detalles sobre la transición. Puede ser una cadena vacía. | 
| conditions[].observedGeneration | |
| integerOpcional | observedGeneration representa el valor de .metadata.generation en el que se basó la condición. Por ejemplo, si .metadata.generation es 12, pero .status.conditions[x].observedGeneration es 9, la condición está desactualizada con respecto al estado actual de la instancia. | 
| conditions[].reason | |
| stringObligatorio | reason contiene un identificador programático que indica el motivo de la última transición de la condición. Los productores de tipos de condiciones específicos pueden definir valores y significados esperados para este campo, y si los valores se consideran una API garantizada. El valor debe ser una cadena CamelCase. Este campo no puede estar vacío. | 
| conditions[].status | |
| stringObligatorio | Estado de la condición, uno de Verdadero, Falso o Desconocido. | 
| conditions[].type | |
| stringObligatorio | Tipo de condición en CamelCase o en foo.example.com/CamelCase. Muchos valores de .condition.type son coherentes en todos los recursos, como Available. Dado que las condiciones arbitrarias pueden ser útiles (consulta .node.status.conditions), la capacidad de resolver conflictos es importante. La expresión regular con la que coincide es (dns1123SubdomainFmt/)?(qualifiedNameFmt). | 
| criticalIncidents[] | |
| objectObligatorio | CriticalIncidents es una lista plana de todos los incidentes críticos activos. | 
| criticalIncidents[].code | |
| stringObligatorio | Code es el código de error de este error en particular. Los códigos de error son cadenas DBSE+numeric, comoDBSE1012. | 
| criticalIncidents[].createTime | |
| stringObligatorio | CreateTime es la marca de tiempo en la que se creó este incidente en el origen. | 
| criticalIncidents[].message | |
| stringOpcional | Message describe el incidente o el error que ocurrió. | 
| criticalIncidents[].messageTemplateParams | |
| objectOpcional | MessageTemplateParams contiene pares clave-valor necesarios para generar una versión de Message basada en datos y fácil de usar en la interfaz de usuario. | 
| criticalIncidents[].resource | |
| objectObligatorio | El recurso contiene información sobre el componente del servicio de base de datos que informó el incidente, así como información sobre el recurso de Kubernetes. | 
| criticalIncidents[].resource.component | |
| stringObligatorio | Component es un identificador interno del subsistema del servicio de base de datos que informó el incidente. | 
| criticalIncidents[].resource.location | |
| objectOpcional | Ubicación. | 
| criticalIncidents[].resource.location.cluster | |
| stringOpcional | Es el nombre del clúster del recurso de Kubernetes afectado. | 
| criticalIncidents[].resource.location.group | |
| stringOpcional | Es el nombre del grupo del recurso de Kubernetes. | 
| criticalIncidents[].resource.location.kind | |
| stringOpcional | Es el tipo del recurso de Kubernetes. | 
| criticalIncidents[].resource.location.name | |
| stringOpcional | Es el nombre del recurso de Kubernetes afectado. | 
| criticalIncidents[].resource.location.namespace | |
| stringOpcional | Es el espacio de nombres del recurso de Kubernetes afectado. | 
| criticalIncidents[].resource.location.version | |
| stringOpcional | Es la versión del recurso de Kubernetes. | 
| criticalIncidents[].stackTrace[] | |
| objectOpcional | Es una lista no estructurada de mensajes del registro de seguimiento de pila. | 
| criticalIncidents[].stackTrace[].component | |
| stringOpcional | Es el nombre de un componente de servicio de base de datos que registró el mensaje. | 
| criticalIncidents[].stackTrace.message | |
| stringOpcional | Mensaje registrado. | 
| criticalIncidents[].transientUntil | |
| stringOpcional | Si está presente, TransientUntil indica que el problema se debe considerar transitorio hasta la fecha y hora especificadas. | 
| downstream | |
| objectOpcional | Downstream contiene el estado observado de la base de datos de replicación en sentido descendente. | 
| downstream.physicalDownstream | |
| objectOpcional | |
| downstream.physicalDownstream.passwordResourceVersion | |
| stringOpcional | PasswordResourceVersion es la versión del recurso de la contraseña secreta. Esta versión representa la fecha y hora en que se actualizó la contraseña por última vez en la base de datos. | 
| downstream.physicalDownstream.setupStrategies | |
| objectOpcional | SetupStrategies contiene información sobre la ejecución de cada estrategia de configuración intentada. Aparecen en esta lista en el mismo orden en que se definieron las estrategias en la especificación. | 
| downstream.physicalDownstream.setupStrategies.endedAt | |
| stringOpcional | EndedAt es la fecha y hora en la que finalizó el intento más reciente de esta estrategia. | 
| downstream.physicalDownstream.setupStrategies.message | |
| stringOpcional | El mensaje es una descripción de por qué el intento de configuración se encuentra en el estado en el que está. | 
| downstream.physicalDownstream.setupStrategies.retries | |
| integerOpcional | Reintentos es la cantidad de veces que se reintentó esta estrategia. | 
| downstream.physicalDownstream.setupStrategies.startedAt | |
| stringOpcional | StartedAt es la fecha y hora en que se inició el intento más reciente de esta estrategia. | 
| downstream.physicalDownstream.setupStrategies.state | |
| stringObligatorio | El estado es el estado actual de esta estrategia de configuración. Acepta los siguientes valores: InProgress: La estrategia se está ejecutando actualmente.Success: La estrategia se completó correctamente y no se intentarán más estrategias de configuración.Error: La estrategia falló, pero se volverá a intentar. En el campo Reintentos, se mostrará la cantidad de veces que se reintentó esta estrategia.Fallback: La estrategia falló y no se volverá a intentar. En su lugar, recurriremos a la siguiente estrategia disponible, si existe.Unknown | 
| downstream.physicalDownstream.setupStrategies.strategy | |
| stringObligatorio | Estrategia es el nombre del tipo de estrategia para el que se aplica este estado. | 
| downstream.physicalDownstream.state | |
| objectOpcional | El estado es el estado de la replicación tal como se ve en la tabla pg_stat_wal_receiver del servidor de la base de datos de destino. | 
| observedgeneration | |
| integerOpcional | Internal: la generación que observa el controlador. | 
| reconciled | |
| booleanOpcional | Internal: Indica si el controlador concilió el recurso. | 
| upstream | |
| objectOpcional | Upstream contiene el estado observado de la base de datos upstream de la replicación. | 
| upstream.host | |
| stringOpcional | El host es el endpoint de conexión de esta base de datos al que pueden acceder las bases de datos de nivel inferior para la replicación. | 
| upstream.password | |
| objectOpcional | La contraseña es la referencia al secreto que almacena la contraseña del usuario de replicación de esta base de datos. | 
| upstream.password.name | |
| stringOpcional | Name es único dentro de un espacio de nombres para hacer referencia a un recurso de secreto. | 
| upstream.password.namespace | |
| stringOpcional | Namespace define el espacio dentro del cual el nombre del secreto debe ser único. | 
| upstream.port | |
| integerOpcional | Es el puerto de esta base de datos al que pueden acceder las bases de datos descendentes para la replicación. | 
| upstream.replicationslotname | |
| stringOpcional | ReplicationSlotName es el nombre de la ranura de replicación creada en esta base de datos. Las bases de datos de nivel inferior pueden usar esta ranura de replicación para la replicación. | 
| upstream.username | |
| stringOpcional | El nombre de usuario es el nombre del usuario de replicación en esta base de datos. Las bases de datos de nivel inferior pueden usar este usuario para conectarse a esta base de datos para la replicación. |