docs(valkey): sync failover hardening options#365
Conversation
📝 WalkthroughWalkthroughThis PR adds Sentinel configuration fields (pod management policy, graceful failover, startup failover guard) to the Valkey playground config, registers ChangesValkey Sentinel Configuration
Estimated code review effort: 1 (Trivial) | ~5 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
src/data/playground-configs.ts (1)
1664-1699: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winGate
maxAttemptsfields on their parent toggles.
Graceful AttemptsandStartup Attemptsrender unconditionally, unlike similar dependent numeric fields elsewhere in this file (e.g.druid'shistorical.replicaCountusesenables: 'historical.enabled'). Consider linking these to their respective toggles for UI consistency.♻️ Proposed fix
{ label: 'Graceful Attempts', key: 'sentinel.gracefulFailover.maxAttempts', type: 'number', default: '12', + enables: 'sentinel.gracefulFailover.enabled', description: 'preStop failover attempts', },{ label: 'Startup Attempts', key: 'sentinel.startupFailoverGuard.maxAttempts', type: 'number', default: '20', + enables: 'sentinel.startupFailoverGuard.enabled', description: 'Startup failover attempts', },🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/data/playground-configs.ts` around lines 1664 - 1699, The two numeric config entries for Sentinel attempt limits are currently always shown, unlike other dependent fields in this list. Update the `Graceful Attempts` and `Startup Attempts` items in `playground-configs.ts` so their visibility is gated by their parent toggle fields, using the same dependency pattern as other entries in this file (for example the `enables`/toggle relationship used by `historical.replicaCount`). Keep the existing `sentinel.gracefulFailover.maxAttempts` and `sentinel.startupFailoverGuard.maxAttempts` keys, but link each one to `sentinel.gracefulFailover.enabled` and `sentinel.startupFailoverGuard.enabled` respectively.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@src/data/playground-configs.ts`:
- Around line 1664-1699: The two numeric config entries for Sentinel attempt
limits are currently always shown, unlike other dependent fields in this list.
Update the `Graceful Attempts` and `Startup Attempts` items in
`playground-configs.ts` so their visibility is gated by their parent toggle
fields, using the same dependency pattern as other entries in this file (for
example the `enables`/toggle relationship used by `historical.replicaCount`).
Keep the existing `sentinel.gracefulFailover.maxAttempts` and
`sentinel.startupFailoverGuard.maxAttempts` keys, but link each one to
`sentinel.gracefulFailover.enabled` and `sentinel.startupFailoverGuard.enabled`
respectively.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: 02f1b507-3dfb-4bb6-ae00-754c02f6d8f7
📒 Files selected for processing (3)
src/data/playground-configs.tssrc/pages/docs/charts/valkey.mdxsrc/pages/playground.astro
…et handling (#664) ## Summary - harden Valkey Sentinel failover safety with graceful master shutdown failover and startup guard defaults - stabilize node and Sentinel identity, add Sentinel probes, bound/re-resolve startup waits, and move auth out of process argv - document Sentinel residual data-loss conditions and add schema/tests for the new failover hardening controls ## Validation - helm lint charts/valkey --strict - helm unittest charts/valkey - make validate-chart CHART=valkey TIMEOUT=900: FULLY VALIDATED (21 layers) - make site-sync-check CHART=valkey - make release-check REPO=charts - make attribution-check REPO=charts Site PR: helmforgedev/site#365 Issue: #633 ## Notes - The branch was rebased on current main. - The non-conventional revert commit subject was amended to `fix(valkey): revert sentinel publish-not-ready bootstrap change`. - No merge performed. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added configurable Sentinel pod management and failover safeguards for smoother master transitions. * Introduced updated startup, readiness, and liveness checks for Sentinel-aware nodes. * **Bug Fixes** * Improved handling of restarts during failover windows to reduce empty-master resyncs and data loss risk. * Added graceful shutdown behavior to trigger failover before pod termination. * **Documentation** * Clarified Sentinel persistence and recovery behavior, including remaining edge-case data-loss scenarios. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
Summary
Validation
make site-sync-check CHART=valkeynpm run lintnpm run format:checknpm run buildmake release-check REPO=sitemake attribution-check REPO=siteChart PRs: helmforgedev/charts#664, helmforgedev/charts#687
Issue: helmforgedev/charts#633