apiVersion: v1 kind: Service metadata: {{- if .this.utils.includeNamespace }} namespace: {{ .Release.Namespace }} {{- end }} name: {{ .component.fullName }} labels: {{- include "nplus.instanceLabels" . | nindent 4 }} annotations: {{- include "nplus.argoWave" . | nindent 4 }} {{- include "nplus.annotations" . | nindent 4 }} {{- include "nplus.securityAnnotations" . | nindent 4 }} {{- include "nplus.serviceAnnotations" . | nindent 4 }} spec: # this is a "headless service", no cluster IP is defined # as none of the internal components need to access this service, # access is purely through an ingress if desired. type: ClusterIP clusterIP: None ports: {{- include "nplus.defaultServicePorts" . | nindent 4 }} selector: {{- if eq .this.service.selector "component" }} {{- include "nplus.selectorLabels" . | nindent 4 }} {{- else if eq .this.service.selector "type" }} {{- include "nplus.selectorLabelsNc" . | nindent 4 }} {{- else }} {{- fail (printf "Unknown Service Selector Type: %s - must be component or type" .this.service.selector) }} {{- end }}