The Operator supports the following resource types (known as Kind
's):
This resource type is used to define a database deployment.
Field | Required | Description |
---|
replicas integer | Yes | Number of nodes in a database cluster (1 or 3) |
image string | Yes | KurrentDB container image URL |
resources ResourceRequirements | No | Database container resource limits and requests |
storage PersistentVolumeClaim | Yes | Persistent volume claim settings for the underlying data volume |
network KurrentDBNetwork | Yes | Defines the network configuration to use with the database |
configuration yaml | No | Additional configuration to use with the database |
sourceBackup string | No | Backup name to restore a cluster from |
security KurrentDBSecurity | No | Security configuration to use for the database. This is optional, if not specified the cluster will be created without security enabled. |
licenseSecret SecretKeySelector | No | A secret that contains the Enterprise license for the database |
constraints KurrentDBConstraints | No | Scheduling constraints for the Kurrent DB pod. |
readOnlyReplias KurrentDBReadOnlyReplicasSpec | No | Read-only replica configuration the Kurrent DB Cluster. |
Other than replicas
, each of the fields in KurrentDBReadOnlyReplicasSpec
default to the corresponding values from the main KurrentDBSpec.
Field | Required | Description |
---|
replicas integer | No | Number of read-only replicas in the cluster. Defaults to zero. |
resources ResourceRequirements | No | Database container resource limits and requests. |
storage PersistentVolumeClaim | No | Persistent volume claim settings for the underlying data volume. |
configuration yaml | No | Additional configuration to use with the database. |
constraints KurrentDBConstraints | No | Scheduling constraints for the Kurrent DB pod. |
Field | Required | Description |
---|
nodeSelector yaml | No | Identifies nodes that the Kurrent DB may consider during scheduling. |
affinity Affinity | No | The node affinity, pod affinity, and pod anti-affinity for scheduling the Kurrent DB pod. |
Tolerations list of Toleration | No | The tolerations for scheduling the Kurrent DB pod. |
TopologySpreadConstraints list of TopologySpreadConstraint | No | The topology spread constraints for scheduling the Kurrent DB pod. |
Field | Required | Description |
---|
domain string | Yes | Domain used for external DNS e.g. advertised address exposed in the gossip state |
loadBalancer KurrentDBLoadBalancer | Yes | Defines a load balancer to use with the database |
Field | Required | Description |
---|
enabled boolean | Yes | Determines if a load balancer should be deployed for each node |
allowedIps string array | No | List of IP ranges allowed by the load balancer (default will allow all access) |
Field | Required | Description |
---|
certificateSubjectName string | No | Subject name used in the TLS certificate (this maps directly to the database property CertificateSubjectName ) |
certificateReservedNodeCommonName string | No | Common name for the TLS certificate (this maps directly to the database property CertificateReservedNodeCommonName ) |
certificateAuthoritySecret CertificateSecret | No | Secret containing the CA TLS certificate |
certificateSecret CertificateSecret | Yes | Secret containing the TLS certificate to use |
Field | Required | Description |
---|
name string | Yes | Name of the secret holding the certificate details |
keyName string | Yes | Key within the secret containing the TLS certificate |
privateKeyName string | No | Key within the secret containing the TLS certificate private key |
This resource type is used to define a backup for an existing database deployment.
Important
Resources of this type must be created within the same namespace as the target database cluster to backup.
Field | Required | Description |
---|
clusterName string | Yes | Name of the source database cluster |
nodeName string | No | Specific node name within the database cluster to use as the backup. If this is not specified, the leader will be picked as the source. |
volumeSnapshotClassName string | Yes | The name of the underlying volume snapshot class to use. |