Is your feature request related to a problem? Please describe.
On dual-stack clusters (e.g. GKE with an IPv6 Services range alongside exhausted IPv4 ServiceCIDRs), we're moving Services to IPv6-primary to preserve IPv4 space. haproxy.service.ipFamilies/ipFamilyPolicy already exists, but the headless Service (redis-ha-service.yaml) and the announce Services (redis-ha-announce-service.yaml) hardcode their specs, so there's no values path to set their families.
Describe the solution you'd like.
Template ipFamilies/ipFamilyPolicy on the headless and announce Services — e.g. a top-level service.ipFamilies/service.ipFamilyPolicy mirroring the existing haproxy.service.* knob (announce Services could inherit the same values).
Describe alternatives you've considered.
Out-of-band delete+recreate with Argo ignoreDifferences (ipFamilies can't shrink in place, so conversion is always delete+recreate — having it in values lets Helm/Argo own the recreate), and Argo/helm post-render kustomize patches (works, but splits truth from the chart).
Additional context.
GKE dual-stack; redis-ha 4.38.0 consumed via argo-cd 10.4.2. I'm willing to open a PR for this if the shape sounds right.
Is your feature request related to a problem? Please describe.
On dual-stack clusters (e.g. GKE with an IPv6 Services range alongside exhausted IPv4 ServiceCIDRs), we're moving Services to IPv6-primary to preserve IPv4 space.
haproxy.service.ipFamilies/ipFamilyPolicyalready exists, but the headless Service (redis-ha-service.yaml) and the announce Services (redis-ha-announce-service.yaml) hardcode their specs, so there's no values path to set their families.Describe the solution you'd like.
Template
ipFamilies/ipFamilyPolicyon the headless and announce Services — e.g. a top-levelservice.ipFamilies/service.ipFamilyPolicymirroring the existinghaproxy.service.*knob (announce Services could inherit the same values).Describe alternatives you've considered.
Out-of-band delete+recreate with Argo
ignoreDifferences(ipFamilies can't shrink in place, so conversion is always delete+recreate — having it in values lets Helm/Argo own the recreate), and Argo/helm post-render kustomize patches (works, but splits truth from the chart).Additional context.
GKE dual-stack; redis-ha 4.38.0 consumed via argo-cd 10.4.2. I'm willing to open a PR for this if the shape sounds right.