Skip to content

Comments

feat(helm): add sentinel support to redis-replication chart#1684

Open
vvyushmanov wants to merge 1 commit intoOT-CONTAINER-KIT:mainfrom
vvyushmanov:feat/sentinel-helm-support
Open

feat(helm): add sentinel support to redis-replication chart#1684
vvyushmanov wants to merge 1 commit intoOT-CONTAINER-KIT:mainfrom
vvyushmanov:feat/sentinel-helm-support

Conversation

@vvyushmanov
Copy link

Description

The RedisReplication CRD supports an embedded spec.sentinel field, but the
redis-replication Helm chart (v0.16.13) does not template it. This forces users
to use kubectl patch after Helm install to enable Sentinel, which creates a race
condition with the operator reconciler — the operator briefly reconciles the CR
without sentinel config before the patch arrives.

This PR adds a sentinel section to values.yaml (disabled by default) and
templates all supported fields in redis-replication.yaml:

  • Container config: image, tag, imagePullPolicy, imagePullSecrets, resources
  • Auth: redisSecret (separate from main redis secret)
  • StatefulSet config: ignoreAnnotations, minReadySeconds, persistentVolumeClaimRetentionPolicy
  • Sentinel config: quorum, parallelSyncs, failoverTimeout, downAfterMilliseconds, resolveHostnames, announceHostnames, additionalSentinelConfig

Fixes #1683

Type of change

  • New feature (non-breaking change which adds functionality)

Checklist

  • Functionality/bugs have been confirmed to be unchanged or fixed.
  • I have performed a self-review of my own code.
  • Documentation has been updated or added where necessary.

Additional Context

Sentinel is disabled by default (sentinel.enabled: false), so this is fully
backwards-compatible. When enabled, the chart renders the same spec.sentinel
block that users currently have to inject via kubectl patch.

Tested with helm template — both sentinel-disabled and sentinel-enabled cases
render correctly. Verified against the Sentinel struct in
api/redisreplication/v1beta2/redisreplication_types.go to ensure all CRD fields
are covered. Fields not templated for the main kubernetesConfig section
(updateStrategy, service) were intentionally excluded for consistency.

Tested with redis-operator v0.23.0 on K3s 1.32.

The RedisReplication CRD supports an embedded spec.sentinel field, but
the redis-replication Helm chart does not template it. This forces users
to use kubectl patch after Helm install, which creates a race condition
with the operator reconciler.

Add a sentinel section to values.yaml (disabled by default) and template
all supported sentinel fields in redis-replication.yaml, including
container config, auth, and sentinel-specific parameters.

Fixes OT-CONTAINER-KIT#1683

Signed-off-by: Vadim Iushmanov <vadim.yushmanov@gmail.com>
@vvyushmanov vvyushmanov force-pushed the feat/sentinel-helm-support branch from 7ee1ec7 to 13e8c2c Compare February 19, 2026 11:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

redis-replication Helm chart does not template spec.sentinel

1 participant