# helm_charts_redis-ha-announce-service.yaml
{{- $fullName := include "redis-ha.fullname" . }}
{{- $namespace := .Release.Namespace -}}
{{- $replicas := int (toString .Values.replicas) }}
{{- $root := . }}
{{- range $i := until $replicas }}
---
apiVersion: v1
kind: Service
metadata:
  name: {{ $fullName }}-announce-{{ $i }}
  namespace: {{ $namespace }}
  labels:
{{ include "labels.standard" $root | indent 4 }}
  annotations:
    service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
  {{- if $root.Values.serviceAnnotations }}
{{ toYaml $root.Values.serviceAnnotations | indent 4 }}
  {{- end }}
spec:
  publishNotReadyAddresses: true
  type: ClusterIP
  ports:
  - name: server
    port: {{ $root.Values.redis.port }}
    protocol: TCP
    targetPort: redis
  - name: sentinel
    port: {{ $root.Values.sentinel.port }}
    protocol: TCP
    targetPort: sentinel
  {{- if $root.Values.exporter.enabled }}
  - name: exporter
    port: {{ $root.Values.exporter.port }}
    protocol: TCP
    targetPort: exporter-port
  {{- end }}
  selector:
    release: {{ $root.Release.Name }}
    app: {{ include "redis-ha.name" $root }}
    "statefulset.kubernetes.io/pod-name": {{ $fullName }}-server-{{ $i }}
{{- end }}