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
| |
objectOptional | DBCluster is the DBCluster that this Replication belongs to. |
dbcluster.name
| |
stringOptional | Name of the referent. For more information, see Names. |
downstream
| |
objectOptional | Downstream contains specifications for replication downstream database. |
downstream.control
| |
stringRequired | Control specifies the replication operation to be taken on this database. The allowed values are setup, promote, and rewind. |
downstream.host
| |
stringRequired | Host is the upstream database's connection endpoint that this database can access for replication. |
downstream.password
| |
objectRequired | Password is the reference to the secret storing upstream database's replication user password. |
downstream.password.name
| |
stringOptional | name is unique within a namespace to reference a secret resource. |
downstream.password.namespace
| |
stringOptional | namespace defines the space within which the secret name must be unique. |
downstream.port
| |
integerOptional | Port is the upstream database's port that this database can access for replication. Default is 5432. |
downstream.replicationslotname
| |
stringRequired | ReplicationSlotName is the name of the replication slot created on the upstream database. It is used by this database for replication. |
downstream.username
| |
stringRequired | 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
| |
objectOptional | Upstream contains spec for replication upstream database. |
upstream.applicationName
| |
stringOptional | applicationName is the identifier of the synchronous replication connection. This value is required if Synchronous is set to "true". |
upstream.logicalReplication
| |
objectOptional | 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
| |
stringOptional | DatabaseName is the database associated with this slot. Only changes from this database are streamed through the slot. |
upstream.logicalReplication.pluginName
| |
stringOptional | PluginName is the decoding plugin associated with this slot. See Logical Decoding Explanation for details. |
upstream.password
| |
objectRequired | 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
| |
stringOptional | name is unique within a namespace to reference a secret resource. |
upstream.password.namespace
| |
stringOptional | namespace defines the space within which the secret name must be unique. |
upstream.replicationslotname
| |
stringOptional | 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
| |
stringOptional |
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
| |
stringOptional | 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[]
| |
objectOptional | Conditions represents the latest available observations of the entity's current state. |
conditions[].lastTransitionTime
| |
stringRequired | 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
| |
stringRequired | message is a human readable message indicating details about the transition. This can be an empty string. |
conditions[].observedGeneration
| |
integerOptional | 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
| |
stringRequired | 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
| |
stringRequired | status of the condition, one of True, False, Unknown. |
conditions[].type
| |
stringRequired | 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[]
| |
objectRequired | CriticalIncidents is a flat list of all active Critical Incidents. |
criticalIncidents[].code
| |
stringRequired |
Code is the error code of this particular error. Error codes are
DBSE+numeric strings, like DBSE1012.
|
criticalIncidents[].createTime
| |
stringRequired | CreateTime is the timestamp when this Incident was created at the origin. |
criticalIncidents[].message
| |
stringOptional | Message describes the incident or error that occurred. |
criticalIncidents[].messageTemplateParams
| |
objectOptional | MessageTemplateParams contains key-value pairs necessary for generating a user-friendly data-driven version of Message in the user interface. |
criticalIncidents[].resource
| |
objectRequired | Resource contains information about the Database Service component that reported the incident, as well as information about the Kubernetes resource. |
criticalIncidents[].resource.component
| |
stringRequired | Component is an internal identifier of the Database Service subsystem that reported the incident. |
criticalIncidents[].resource.location
| |
objectOptional | Location. |
criticalIncidents[].resource.location.cluster
| |
stringOptional | The name of the cluster of the affected Kubernetes resource. |
criticalIncidents[].resource.location.group
| |
stringOptional | The Group name of the Kubernetes resource. |
criticalIncidents[].resource.location.kind
| |
stringOptional | The Kind of the Kubernetes resource. |
criticalIncidents[].resource.location.name
| |
stringOptional | The name of the affected Kubernetes resource. |
criticalIncidents[].resource.location.namespace
| |
stringOptional | The namespace of the affected Kubernetes resource. |
criticalIncidents[].resource.location.version
| |
stringOptional | The Version of the Kubernetes resource. |
criticalIncidents[].stackTrace[]
| |
objectOptional | An unstructured list of messages from the stack trace. |
criticalIncidents[].stackTrace[].component
| |
stringOptional | The name of a Database Service component that logged the message. |
criticalIncidents[].stackTrace.message
| |
stringOptional | Logged message. |
criticalIncidents[].transientUntil
| |
stringOptional | TransientUntil, if present, indicates that the issue must be considered transient until the specified time. |
downstream
| |
objectOptional | Downstream contains the observed state of the replication downstream database. |
downstream.physicalDownstream
| |
objectOptional | |
downstream.physicalDownstream.passwordResourceVersion
| |
stringOptional | PasswordResourceVersion is the resource version of the secret password. This version represents when the password was last updated on the database. |
downstream.physicalDownstream.setupStrategies
| |
objectOptional | 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
| |
stringOptional | EndedAt is the time at which the most recent attempt of this strategy ended. |
downstream.physicalDownstream.setupStrategies.message
| |
stringOptional | Message is a description of why the setup attempt is in the state it is. |
downstream.physicalDownstream.setupStrategies.retries
| |
integerOptional | Retries is the number of times this strategy has been retried. |
downstream.physicalDownstream.setupStrategies.startedAt
| |
stringOptional | StartedAt is the time at which the most recent attempt of this strategy was started. |
downstream.physicalDownstream.setupStrategies.state
| |
stringRequired |
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
| |
stringRequired | Strategy is the name of the strategy type this status is for. |
downstream.physicalDownstream.state
| |
objectOptional | State is the state of replication as seen in the pg_stat_wal_receiver table of the downstream database server. |
observedgeneration
| |
integerOptional | Internal: The generation observed by the controller. |
reconciled
| |
booleanOptional | Internal: Whether the resource was reconciled by the controller. |
upstream
| |
objectOptional | Upstream contains the observed state of the replication upstream database. |
upstream.host
| |
stringOptional | Host is this database's connection endpoint that the downstream databases can access for replication. |
upstream.password
| |
objectOptional | Password is the reference to the secret storing this database's replication user password. |
upstream.password.name
| |
stringOptional | name is unique within a namespace to reference a secret resource. |
upstream.password.namespace
| |
stringOptional | namespace defines the space within which the secret name must be unique. |
upstream.port
| |
integerOptional | Port is this database's port that downstream databases can access for replication. |
upstream.replicationslotname
| |
stringOptional | ReplicationSlotName is the name of the replication slot created on this database. Downstream databases can use this replication slot for replication. |
upstream.username
| |
stringOptional | Username is the name of the replication user on this database. Downstream databases can use this user to connect to this database for replication. |