Spec schema
ReplicationSpec defines the desired state of 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
Field TypeRequired or optional |
Description |
---|---|
dbcluster
| |
object Optional | DBCluster is the DBCluster that this Replication belongs to. |
dbcluster.name
| |
string Optional | Name of the referent. For more information, see Names. |
downstream
| |
object Optional | Downstream contains specifications for replication downstream database. |
downstream.control
| |
string Required | Control specifies the replication operation to be taken on this database. The allowed values are setup, promote, and rewind. |
downstream.host
| |
string Required | Host is the upstream database's connection endpoint that this database can access for replication. |
downstream.password
| |
object Required | Password is the reference to the secret storing upstream database's replication user password. |
downstream.password.name
| |
string Optional | name is unique within a namespace to reference a secret resource. |
downstream.password.namespace
| |
string Optional | namespace defines the space within which the secret name must be unique. |
downstream.port
| |
integer Optional | Port is the upstream database's port that this database can access for replication. Default is 5432. |
downstream.replicationslotname
| |
string Required | ReplicationSlotName is the name of the replication slot created on the upstream database. It is used by this database for replication. |
downstream.username
| |
string Required | Username is the name of the replication user created on the upstream database. It is used by this database to connect to upstream for replication. |
upstream
| |
object Optional | Upstream contains spec for replication upstream database. |
upstream.applicationName
| |
string Optional | applicationName is the identifier of the synchronous replication connection. This value is required if Synchronous is set to "true". |
upstream.logicalReplication
| |
object Optional | LogicalReplication specifies the logical replication configuration for the replication slot. If empty, the replication slot is configured as a physical replication slot. |
upstream.logicalReplication.databaseName
| |
string Optional | DatabaseName is the database associated with this slot. Only changes from this database are streamed through the slot. |
upstream.logicalReplication.pluginName
| |
string Optional | PluginName is the decoding plugin associated with this slot. See Logical Decoding Explanation for details. |
upstream.password
| |
object Required | Password is the reference to the secret storing replication user password. If Password isn't provided, a password is generated and stored in a secret shown in status. |
upstream.password.name
| |
string Optional | name is unique within a namespace to reference a secret resource. |
upstream.password.namespace
| |
string Optional | namespace defines the space within which the secret name must be unique. |
upstream.replicationslotname
| |
string Optional | ReplicationSlotName is the name of the replication slot to be used for replication. If this isn't provided, a replication slot name is generated and shown in status. |
upstream.synchronous
| |
string Optional |
Synchronous specifies whether the replication slot must be configured for synchronous replication. If true, the applicationName is added to the list of synchronous standbys. This defaults to false .
Note: This might have a negative impact on performance.
|
upstream.username
| |
string Optional | Username is the name of the replication user to be used for replication. If this isn't provided, a username is generated and shown in status. |
Status schema
ReplicationStatus defines the observed state of 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:
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
Field TypeRequired or optional |
Description |
---|---|
conditions[]
| |
object Optional | Conditions represents the latest available observations of the entity's current state. |
conditions[].lastTransitionTime
| |
string Required | lastTransitionTime is the last time the condition transitioned from one status to another, which occurs when the underlying condition changed. If the time when the underlying condition changed is unknown, use the time when the API field changed. |
conditions[].message
| |
string Required | message is a human readable message indicating details about the transition. This can be an empty string. |
conditions[].observedGeneration
| |
integer Optional | observedGeneration represents the .metadata.generation that the condition was set based upon. For example, if .metadata.generation is 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. |
conditions[].reason
| |
string Required | reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types can define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value must be a CamelCase string. This field might not be empty. |
conditions[].status
| |
string Required | status of the condition, one of True, False, Unknown. |
conditions[].type
| |
string Required | type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available. Because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regular expression that it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt). |
criticalIncidents[]
| |
object Required | CriticalIncidents is a flat list of all active Critical Incidents. |
criticalIncidents[].code
| |
string Required |
Code is the error code of this particular error. Error codes are
DBSE+numeric strings, like DBSE1012 .
|
criticalIncidents[].createTime
| |
string Required | CreateTime is the timestamp when this Incident was created at the origin. |
criticalIncidents[].message
| |
string Optional | Message describes the incident or error that occurred. |
criticalIncidents[].messageTemplateParams
| |
object Optional | MessageTemplateParams contains key-value pairs necessary for generating a user-friendly data-driven version of Message in the user interface. |
criticalIncidents[].resource
| |
object Required | Resource contains information about the Database Service component that reported the incident, as well as information about the Kubernetes resource. |
criticalIncidents[].resource.component
| |
string Required | Component is an internal identifier of the Database Service subsystem that reported the incident. |
criticalIncidents[].resource.location
| |
object Optional | Location. |
criticalIncidents[].resource.location.cluster
| |
string Optional | The name of the cluster of the affected Kubernetes resource. |
criticalIncidents[].resource.location.group
| |
string Optional | The Group name of the Kubernetes resource. |
criticalIncidents[].resource.location.kind
| |
string Optional | The Kind of the Kubernetes resource. |
criticalIncidents[].resource.location.name
| |
string Optional | The name of the affected Kubernetes resource. |
criticalIncidents[].resource.location.namespace
| |
string Optional | The namespace of the affected Kubernetes resource. |
criticalIncidents[].resource.location.version
| |
string Optional | The Version of the Kubernetes resource. |
criticalIncidents[].stackTrace[]
| |
object Optional | An unstructured list of messages from the stack trace. |
criticalIncidents[].stackTrace[].component
| |
string Optional | The name of a Database Service component that logged the message. |
criticalIncidents[].stackTrace.message
| |
string Optional | Logged message. |
criticalIncidents[].transientUntil
| |
string Optional | TransientUntil, if present, indicates that the issue must be considered transient until the specified time. |
downstream
| |
object Optional | Downstream contains the observed state of the replication downstream database. |
downstream.physicalDownstream
| |
object Optional | |
downstream.physicalDownstream.setupStrategies
| |
object Optional | SetupStrategies contains information on the execution of each attempted setup strategy. They appear in this list in the same order as the strategies were defined in the spec. |
downstream.physicalDownstream.setupStrategies.endedAt
| |
string Optional | EndedAt is the time at which the most recent attempt of this strategy ended. |
downstream.physicalDownstream.setupStrategies.message
| |
string Optional | Message is a description of why the setup attempt is in the state it is. |
downstream.physicalDownstream.setupStrategies.retries
| |
integer Optional | Retries is the number of times this strategy has been retried. |
downstream.physicalDownstream.setupStrategies.startedAt
| |
string Optional | StartedAt is the time at which the most recent attempt of this strategy was started. |
downstream.physicalDownstream.setupStrategies.state
| |
string Required |
State is the current state of this setup strategy. It accepts the following values:
InProgress : The strategy is currently executing.
Success : The strategy has successfully completed and no more setup strategies will be attempted.
Error : The strategy has failed but will be retried. The Retries field will show how many times this strategy has been retried.
Fallback : The strategy has failed and will not be reattempted. Instead we will fallback to the next available strategy if it exists.
Unknown
|
downstream.physicalDownstream.setupStrategies.strategy
| |
string Required | Strategy is the name of the strategy type this status is for. |
downstream.physicalDownstream.state
| |
object Optional | State is the state of replication as seen in the pg_stat_wal_receiver table of the downstream database server. |
observedgeneration
| |
integer Optional | Internal: The generation observed by the controller. |
reconciled
| |
boolean Optional | Internal: Whether the resource was reconciled by the controller. |
upstream
| |
object Optional | Upstream contains the observed state of the replication upstream database. |
upstream.host
| |
string Optional | Host is this database's connection endpoint that the downstream databases can access for replication. |
upstream.password
| |
object Optional | Password is the reference to the secret storing this database's replication user password. |
upstream.password.name
| |
string Optional | name is unique within a namespace to reference a secret resource. |
upstream.password.namespace
| |
string Optional | namespace defines the space within which the secret name must be unique. |
upstream.port
| |
integer Optional | Port is this database's port that downstream databases can access for replication. |
upstream.replicationslotname
| |
string Optional | ReplicationSlotName is the name of the replication slot created on this database. Downstream databases can use this replication slot for replication. |
upstream.username
| |
string Optional | Username is the name of the replication user on this database. Downstream databases can use this user to connect to this database for replication. |