etcd-io / etcd-io/etcd-operator

Add Status Reporting to EtcdCluster

Open
#135 2 comments 1 reaction 1 assignee Claimed by @GunaKKIBM View on GitHub
Dominant language
Go
Stars
164
Forks
72
Avg merge
22h 46m
Merged PRs (30d)
34

Description

**Problem:**

The current `EtcdCluster` custom resource (`operator.etcd.io/v1alpha1`) does not provide any status information about the managed etcd cluster. Users lack visibility into the actual state observed by the operator, such as:

* How many etcd members are currently ready?
* What is the etcd cluster's view of its membership size?
* Is the cluster currently being created, scaled, running normally, or encountering issues?
* What is the actual etcd version running?

This lack of status reporting significantly hinders observability, making it difficult to monitor cluster health, diagnose problems effectively, and build reliable automation around the `EtcdCluster` resource.

**Proposal:**

Introduce a `status` subresource for the `EtcdCluster` API (`v1alpha1`). This subresource should be populated by the `EtcdClusterReconciler` with key observed state information.

**Suggested Status Fields (Initial Scope):**

* `readyReplicas (int32)`: Number of ready etcd pods.
* `members (int32)`: Number of members reported by etcd cluster membership API.
* `phase (string)`: High-level operational phase (e.g., `Pending`, `Creating`, `Running`, `Scaling`, `Failed`, `Degraded`).
* *(Optional but Highly Desirable)* `conditions ([]metav1.Condition)`: Standard Kubernetes conditions for reporting detailed status like `Available`, `Progressing`, `Degraded`.
* *(Optional)* `currentVersion (string)`: Detected etcd version of the cluster members.

**Expected Benefits:**

* Greatly improves observability of managed etcd clusters.
* Enables easier monitoring and alerting based on `EtcdCluster` status.
* Provides crucial information for debugging reconciliation issues.
* Establishes the foundation for reporting the status of future complex operations (e.g., upgrades).

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.