Skip to main content

EloqDBCluster

Overview

EloqDBCluster represents a physical database instance managed by the Eloq Operator. While users primarily interact with EloqDBClusterClaim, administrators use this resource to monitor and manage the actual deployment of database components, pods, and services. A cluster is automatically generated by the operator to satisfy a Claim, combining the architectural blueprint from a Template with specific resource requirements and storage overrides.

info

Throughout this documentation, we use eloqdb-clusters as the example namespace. Please replace it with your own namespace in actual usage.

Internal Representation

Below is an example of an EloqDBCluster status reflecting a running instance:

apiVersion: eloqdbcluster.eloqdata.com/v1alpha1
kind: EloqDBCluster
metadata:
name: eloq-dc-4f2a-8b1e
namespace: eloqdb-clusters
spec:
# Desired operational state
state: Attached
templateRef:
name: pool-eloqdoc-free
namespace: eloqdb-clusters
# Merged S3 storage overrides for data and log state
overrides:
txStore:
eloqStore:
cloudStorePath: "eloqcloud-us-west-1/my-eloqdoc-cluster-store"
# Reference back to the originating claim
claimRef:
name: my-eloqdoc-cluster
namespace: eloqdb-clusters

Phase and Conditions

Cluster Phases

The status.phase provides a granular view of the internal deployment and runtime state:

PhaseDescription
PreparingResolving template references and validating configuration.
InitializingCreating foundational Kubernetes resources (ConfigMaps, etc.).
BootstrappingInitializing the database substrate/log group.
DeployingLogDeploying the Log Service components.
DeployingTxDeploying the Transaction Service (database engine).
CreatingUsersEstablishing internal database users and admin credentials.
ExposingServiceCreating Kubernetes Services and Load Balancers.
DeployedInfrastructure is ready, but database engine might be stopped.
DetachedResources exist, but database processes are suspended.
AttachingStarting database processes and mounting storage.
AttachedCluster is running and actively serving traffic.
DetachingGracefully stopping database processes.
ScalingHorizontal or vertical scaling in progress.
ShuttingDownTerminating pods (scaling to 0 replicas).
ShutdownAll processes stopped with zero running replicas.

Status Conditions

Conditions track the successful completion of critical deployment milestones:

ConditionDescription
PreparedConfiguration is valid and all references are resolved.
InitializedBase infrastructure resources are successfully created.
BootstrappedDatabase storage substrate is ready for use.
LogServiceDeployLog Service components are healthy and running.
TxServiceDeployTransaction Service (Engine) component is healthy.
UserCreatedAdministrative and user credentials have been set up.
DBServiceExposeService endpoints and load balancers are active.
DeployedAll automated deployment steps have concluded.
AttachedThe database engine is serving client requests.

Detailed Field Reference

Spec Fields

FieldTypeRequiredDefaultDescription
statestringYes-Desired state: Deployed, Attached, or Detached.
templateRefTemplateReferenceYes-References the EloqDBClusterTemplate for base config.
overridesOverrideSpecNo-Combined storage overrides (usually from Claim).
dbUserSecretSecretReferenceNo-Reference to the Secret containing user credentials.
claimRefClaimReferenceNo-Reference to the EloqDBClusterClaim using this cluster.
poolRefPoolReferenceNo-Reference to the EloqDBPool this cluster belongs to.

Status Fields

FieldTypeDescription
phasestringThe current lifecycle phase (e.g., Preparing, Attached).
conditions[]ConditionList of standard Kubernetes status conditions.
resolvedConfigEloqDBClusterTemplateSpecThe final merged configuration currently in use.
observedGenerationint64The most recent generation observed by the controller.