apiVersion: v1 kind: Service metadata: name: {{ include "portainer.fullname" . }} namespace: {{ .Release.Namespace }} labels: io.portainer.kubernetes.application.stack: portainer {{- include "portainer.labels" . | nindent 4 }} {{- if .Values.service.annotations }} annotations: {{- range $key, $value := .Values.service.annotations }} {{ $key }}: {{ $value | quote }} {{- end }} {{- end }} spec: type: {{ .Values.service.type }} ports: {{- if not .Values.tls.force }} - port: {{ .Values.service.httpPort }} targetPort: 9000 protocol: TCP name: http {{- if (and (eq .Values.service.type "NodePort") (not (empty .Values.service.httpNodePort))) }} nodePort: {{ .Values.service.httpNodePort}} {{- end }} {{- end }} - port: {{ .Values.service.httpsPort }} targetPort: 9443 protocol: TCP name: https {{- if (and (eq .Values.service.type "NodePort") (not (empty .Values.service.httpsNodePort))) }} nodePort: {{ .Values.service.httpsNodePort}} {{- end }} {{- if (eq .Values.service.type "NodePort") }} - port: {{ .Values.service.edgeNodePort }} targetPort: {{ .Values.service.edgeNodePort }} {{- else }} - port: {{ .Values.service.edgePort }} targetPort: {{ .Values.service.edgePort }} {{- end }} protocol: TCP name: edge {{- if (and (eq .Values.service.type "NodePort") (not (empty .Values.service.edgeNodePort))) }} nodePort: {{ .Values.service.edgeNodePort }} {{- end }} selector: {{- include "portainer.selectorLabels" . | nindent 4 }}