The Operator supports the following resource types (known as Kind's):
This resource type is used to define a database deployment.
| Field | Required | Description | 
|---|
| replicasinteger | Yes | Number of nodes in a database cluster (1 or 3) | 
| imagestring | Yes | KurrentDB container image URL | 
| resourcesResourceRequirements | No | Database container resource limits and requests | 
| storagePersistentVolumeClaim | Yes | Persistent volume claim settings for the underlying data volume | 
| networkKurrentDBNetwork | Yes | Defines the network configuration to use with the database | 
| configurationyaml | No | Additional configuration to use with the database | 
| sourceBackupstring | No | Backup name to restore a cluster from | 
| securityKurrentDBSecurity | No | Security configuration to use for the database. This is optional, if not specified the cluster will be created without security enabled. | 
| licenseSecretSecretKeySelector | No | A secret that contains the Enterprise license for the database | 
| constraintsKurrentDBConstraints | No | Scheduling constraints for the Kurrent DB pod. | 
| readOnlyRepliasKurrentDBReadOnlyReplicasSpec | 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 | 
|---|
| replicasinteger | No | Number of read-only replicas in the cluster. Defaults to zero. | 
| resourcesResourceRequirements | No | Database container resource limits and requests. | 
| storagePersistentVolumeClaim | No | Persistent volume claim settings for the underlying data volume. | 
| configurationyaml | No | Additional configuration to use with the database. | 
| constraintsKurrentDBConstraints | No | Scheduling constraints for the Kurrent DB pod. | 
| Field | Required | Description | 
|---|
| nodeSelectoryaml | No | Identifies nodes that the Kurrent DB may consider during scheduling. | 
| affinityAffinity | No | The node affinity, pod affinity, and pod anti-affinity for scheduling the Kurrent DB pod. | 
| Tolerationslist of Toleration | No | The tolerations for scheduling the Kurrent DB pod. | 
| TopologySpreadConstraintslist of TopologySpreadConstraint | No | The topology spread constraints for scheduling the Kurrent DB pod. | 
| Field | Required | Description | 
|---|
| domainstring | Yes | Domain used for external DNS e.g. advertised address exposed in the gossip state | 
| loadBalancerKurrentDBLoadBalancer | Yes | Defines a load balancer to use with the database | 
| Field | Required | Description | 
|---|
| enabledboolean | Yes | Determines if a load balancer should be deployed for each node | 
| allowedIpsstring array | No | List of IP ranges allowed by the load balancer (default will allow all access) | 
| Field | Required | Description | 
|---|
| certificateSubjectNamestring | No | Subject name used in the TLS certificate (this maps directly to the database property CertificateSubjectName) | 
| certificateReservedNodeCommonNamestring | No | Common name for the TLS certificate (this maps directly to the database property CertificateReservedNodeCommonName) | 
| certificateAuthoritySecretCertificateSecret | No | Secret containing the CA TLS certificate | 
| certificateSecretCertificateSecret | Yes | Secret containing the TLS certificate to use | 
| Field | Required | Description | 
|---|
| namestring | Yes | Name of the secret holding the certificate details | 
| keyNamestring | Yes | Key within the secret containing the TLS certificate | 
| privateKeyNamestring | 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 | 
|---|
| clusterNamestring | Yes | Name of the source database cluster | 
| nodeNamestring | 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. | 
| volumeSnapshotClassNamestring | Yes | The name of the underlying volume snapshot class to use. |