apiVersion: v1 kind: Service metadata: name: {{ include "etcd.fullname" . }} labels: {{- include "etcd.labels" . | nindent 4 }} {{- with .Values.service.labels }} {{- toYaml . | nindent 4 }} {{- end }} {{- with .Values.service.annotations }} annotations: {{- toYaml . | nindent 4 }} {{- end }} spec: type: {{ .Values.service.type }} ports: - port: {{ .Values.service.client.port }} targetPort: client name: client {{- if and ( or (eq .Values.service.type "LoadBalancer") (eq .Values.service.type "NodePort") ) (.Values.service.client.nodePort) }} nodePort: {{ .Values.service.client.nodePort }} {{- end }} - port: {{ .Values.service.peer.port }} targetPort: peer name: peer {{- if and ( or (eq .Values.service.type "LoadBalancer") (eq .Values.service.type "NodePort") ) (.Values.service.peer.nodePort) }} nodePort: {{ .Values.service.peer.nodePort }} {{- end }} {{- if .Values.serviceMonitor.enabled }} - port: {{ .Values.service.prometheus.port }} targetPort: prometheus name: prometheus {{- if and ( or (eq .Values.service.type "LoadBalancer") (eq .Values.service.type "NodePort") ) (.Values.service.prometheus.nodePort) }} nodePort: {{ .Values.service.prometheus.nodePort }} {{- end }} {{- end }} {{- if and (eq .Values.service.type "LoadBalancer") (.Values.service.loadBalancerIP) }} loadBalancerIP: {{ .Values.service.loadBalancerIP }} {{- end }} {{- if and (eq .Values.service.type "LoadBalancer") (.Values.service.loadBalancerSourceRanges) }} loadBalancerSourceRanges: {{- toYaml .Values.service.loadBalancerSourceRanges | nindent 4 }} {{- end }} {{- if .Values.service.clusterIP }} clusterIP: {{ .Values.service.clusterIP }} {{- end }} selector: {{- include "etcd.selectorLabels" . | nindent 4 }}