# helm_charts_slave-svc.yaml
{{- if .Values.replication.enabled }}
apiVersion: v1
kind: Service
metadata:
  name: {{ template "slave.fullname" . }}
  labels:
    app: "{{ template "mariadb.name" . }}"
    chart: "{{ template "mariadb.chart" . }}"
    component: "slave"
    release: {{ .Release.Name | quote }}
    heritage: {{ .Release.Service | quote }}
{{- if or .Values.metrics.enabled .Values.slave.service.annotations }}
  annotations:
{{- if .Values.metrics.enabled }}
{{ toYaml .Values.metrics.annotations | indent 4 }}
{{- end }}
{{- if .Values.slave.service.annotations }}
{{ toYaml .Values.slave.service.annotations | indent 4 }}
{{- end }}
{{- end }}
spec:
  type: {{ .Values.service.type }}
  {{- if eq .Values.service.type "ClusterIP" }}
  {{- if .Values.service.clusterIp }}
  clusterIP: {{ .Values.service.clusterIp.slave }}
  {{- end }}
  {{- end }}
  ports:
  - name: mysql
    port: {{ .Values.service.port }}
    targetPort: mysql
{{- if (eq .Values.service.type "NodePort") }}
{{- if .Values.service.nodePort }}
{{- if .Values.service.nodePort.slave }}
    nodePort: {{ .Values.service.nodePort.slave }}
{{- end }}
{{- end }}
{{- end }}
{{- if .Values.metrics.enabled }}
  - name: metrics
    port: 9104
    targetPort: metrics
{{- end }}
  selector:
    app: "{{ template "mariadb.name" . }}"
    component: "slave"
    release: "{{ .Release.Name }}"
{{- end }}