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
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
:
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
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.passwordResourceVersion
string
Optional
PasswordResourceVersion is the resource version of the secret password. This version represents when the password was last updated on the database.
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.