You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Enhanced Stability, Pause Logic, and Sentinel Improvements (#59)
* fix: correct IsPodAnnotationDiff function name in RDS controllers
- Update function call from IsPodAnnonationDiff to IsPodAnnotationDiff
- Maintain all other resource cleanup and finalizer functionality
* refactor: major service comparison and actor improvements
- Add comprehensive IsServiceChanged function for detailed service comparison
- Refactor actor ensure resource ordering and method names
- Improve service change detection with proper label/annotation comparison
- Enhance statefulset handling with better error checking
- Add utility functions for service port and spec comparison
* fix: try meed failed cluster nodes
* feat: Refactor annotation merging for restart annotation
Refactored the annotation merging logic to specifically handle the `RestartAnnotationKey`.
- Introduced `MergeRestartAnnotation` to compare and merge restart annotations based on timestamps.
- Replaced the generic `MergeAnnotations` function with the new specialized function.
- Ensured that the restart annotation is correctly propagated during updates.
* feat: set pause status after all pods deleted
* feat: Improve pause logic and increase sentinel startup probe delay
- Modified the pause logic in the cluster, failover, and sentinel controllers to requeue the resource if nodes still exist, allowing them to scale down gracefully. The operator will now pause reconciliation only after all pods have been terminated.
- Increased the initial delay for the sentinel startup probe to 30 seconds to prevent premature failures on slower systems.
* fix: clean dumplicate resource settings
* fix: fix bug of config update when do redis version update
* fix: added support of force failover to force the sentinel refresh the nodes announce
* Update helper commands and initialization scripts
- Modified cluster, failover, and sentinel command implementations
- Updated initialization scripts for different deployment modes
- Improved helper functionality across command modules
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Apply suggestion from @Copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Seer <kvcnow@gmail.com>
* chore: update release pipeline and dependencies
* fake: add unit tests for sentinel statefulset builder and service client
* test: add unit tests for IsStatefulsetChanged2, IsServiceChanged, failover/sentinel actors, and e2e local run infra
- internal/util/kubernetes_test.go: add table-driven tests for
IsStatefulsetChanged2 (changed/immutableChanged booleans) and
IsServiceChanged (port, annotation, label, selector, type diffs)
- internal/ops/failover/actor/actor_update_config_test.go: new file with
mockFailoverInstance and tests for ConfigMap-not-found, config-unchanged,
hot-config-changed, and restart-required-changed paths
- internal/ops/failover/actor/actor_ensure_resource_test.go: new file testing
pause logic (all-pods-deleted → Pause, pods-exist → Requeue, STS scale-down)
- internal/ops/sentinel/actor/actor_ensure_resource_test.go: mirrors failover
pause tests for the sentinel actor path
- Makefile: add kind-setup, kind-load, and test-e2e-local targets
- config/kind/kind-config.yaml: Kind cluster config exposing NodePorts 30000-30030
for e2e test instances
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix: update envtest to use GitHub releases instead of deprecated GCS
GCS (storage.googleapis.com) now returns 401 Unauthorized for kubebuilder
tools downloads, breaking CI. Switch to the GitHub-hosted index by adding
--use-deprecated-gcs=false and bumping ENVTEST_K8S_VERSION from 1.30.0 to
1.31.0 (the first version available in the GitHub release index).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
---------
Signed-off-by: Seer <kvcnow@gmail.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
0 commit comments