apiVersion: v1 kind: Service metadata: name: {{ include "headscale.fullname" . }} labels: {{- include "headscale.labels" . | nindent 4 }} annotations: {{- if (.Capabilities.APIVersions.Has "traefik.io/v1alpha1/ServersTransport") }} "traefik.ingress.kubernetes.io/service.serversscheme": "https" "traefik.ingress.kubernetes.io/service.serverstransport": {{ printf "%s-%s@kubernetescrd" .Release.Namespace (include "headscale.fullname" .) | quote }} {{- end }} {{- with .Values.service.annotations }} {{- toYaml . | nindent 4 }} {{- end }} spec: type: {{ .Values.service.type }} ports: - port: {{ .Values.service.port.http }} targetPort: http protocol: TCP name: http - port: {{ .Values.service.port.metrics }} targetPort: metrics protocol: TCP name: metrics - port: {{ .Values.service.port.grpc }} targetPort: grpc protocol: TCP name: grpc selector: {{- include "headscale.selectorLabels" . | nindent 4 }} {{- if .Values.headscale.config.derp.server.enabled }} --- apiVersion: v1 kind: Service metadata: name: {{ include "headscale.fullname" . }}-derp labels: {{- include "headscale.labels" . | nindent 4 }} {{- with .Values.service.derp.annotations }} annotations: {{- toYaml . | nindent 4}} {{- end }} spec: type: {{ .Values.service.derp.type }} ports: - port: {{ .Values.service.derp.port }} targetPort: derp protocol: UDP name: derp selector: {{- include "headscale.selectorLabels" . | nindent 4 }} {{- end }}