{{- $root := . -}} {{- $fullname := include "node.fullname" . -}} {{- range $i, $_ := until (int .Values.replicas) }} --- apiVersion: v1 kind: Service metadata: name: {{ $fullname }}-{{ $i }} labels: {{- include "node.labels" $root | nindent 4 }} app.kubernetes.io/component: adnl {{- include "node.serviceLabels" (dict "svcConfig" $root.Values.services.adnl "replicaIndex" $i) | nindent 4 }} {{- include "node.serviceAnnotations" (dict "svcConfig" $root.Values.services.adnl "replicaIndex" $i) | nindent 2 }} spec: type: {{ $root.Values.services.adnl.type }} {{- if ne $root.Values.services.adnl.type "ClusterIP" }} externalTrafficPolicy: {{ $root.Values.services.adnl.externalTrafficPolicy | default "Local" }} {{- end }} selector: {{- include "node.selectorLabels" $root | nindent 4 }} statefulset.kubernetes.io/pod-name: {{ $fullname }}-{{ $i }} ports: - name: adnl port: {{ $root.Values.ports.adnl }} protocol: UDP {{- $simplexPort := (include "node.simplexPort" $root) }} {{- if $simplexPort }} --- apiVersion: v1 kind: Service metadata: name: {{ $fullname }}-{{ $i }}-simplex labels: {{- include "node.labels" $root | nindent 4 }} app.kubernetes.io/component: simplex {{- with $root.Values.services.simplex.labels }} {{- toYaml . | nindent 4 }} {{- end }} {{- include "node.serviceAnnotations" (dict "svcConfig" $root.Values.services.simplex "replicaIndex" $i) | nindent 2 }} spec: type: {{ $root.Values.services.simplex.type }} {{- if ne $root.Values.services.simplex.type "ClusterIP" }} externalTrafficPolicy: {{ $root.Values.services.simplex.externalTrafficPolicy | default "Local" }} {{- end }} selector: {{- include "node.selectorLabels" $root | nindent 4 }} statefulset.kubernetes.io/pod-name: {{ $fullname }}-{{ $i }} ports: - name: simplex port: {{ $simplexPort }} protocol: UDP {{- end }} {{- if $root.Values.ports.control }} --- apiVersion: v1 kind: Service metadata: name: {{ $fullname }}-{{ $i }}-control labels: {{- include "node.labels" $root | nindent 4 }} app.kubernetes.io/component: control {{- with $root.Values.services.control.labels }} {{- toYaml . | nindent 4 }} {{- end }} {{- include "node.serviceAnnotations" (dict "svcConfig" $root.Values.services.control "replicaIndex" $i) | nindent 2 }} spec: type: {{ $root.Values.services.control.type }} {{- if ne $root.Values.services.control.type "ClusterIP" }} externalTrafficPolicy: {{ $root.Values.services.control.externalTrafficPolicy | default "Local" }} {{- end }} selector: {{- include "node.selectorLabels" $root | nindent 4 }} statefulset.kubernetes.io/pod-name: {{ $fullname }}-{{ $i }} ports: - name: control port: {{ $root.Values.ports.control }} protocol: TCP {{- end }} {{- if $root.Values.ports.liteserver }} --- apiVersion: v1 kind: Service metadata: name: {{ $fullname }}-{{ $i }}-liteserver labels: {{- include "node.labels" $root | nindent 4 }} app.kubernetes.io/component: liteserver {{- with $root.Values.services.liteserver.labels }} {{- toYaml . | nindent 4 }} {{- end }} {{- include "node.serviceAnnotations" (dict "svcConfig" $root.Values.services.liteserver "replicaIndex" $i) | nindent 2 }} spec: type: {{ $root.Values.services.liteserver.type }} {{- if ne $root.Values.services.liteserver.type "ClusterIP" }} externalTrafficPolicy: {{ $root.Values.services.liteserver.externalTrafficPolicy | default "Local" }} {{- end }} selector: {{- include "node.selectorLabels" $root | nindent 4 }} statefulset.kubernetes.io/pod-name: {{ $fullname }}-{{ $i }} ports: - name: liteserver port: {{ $root.Values.ports.liteserver }} protocol: TCP {{- end }} {{- if $root.Values.ports.jsonRpc }} --- apiVersion: v1 kind: Service metadata: name: {{ $fullname }}-{{ $i }}-jsonrpc labels: {{- include "node.labels" $root | nindent 4 }} app.kubernetes.io/component: jsonrpc {{- with $root.Values.services.jsonRpc.labels }} {{- toYaml . | nindent 4 }} {{- end }} {{- include "node.serviceAnnotations" (dict "svcConfig" $root.Values.services.jsonRpc "replicaIndex" $i) | nindent 2 }} spec: type: {{ $root.Values.services.jsonRpc.type }} {{- if ne $root.Values.services.jsonRpc.type "ClusterIP" }} externalTrafficPolicy: {{ $root.Values.services.jsonRpc.externalTrafficPolicy | default "Local" }} {{- end }} selector: {{- include "node.selectorLabels" $root | nindent 4 }} statefulset.kubernetes.io/pod-name: {{ $fullname }}-{{ $i }} ports: - name: json-rpc port: {{ $root.Values.ports.jsonRpc }} protocol: TCP {{- end }} {{- end }}