64 lines
2.2 KiB
YAML
64 lines
2.2 KiB
YAML
{{- $platform_svc_exists := lookup "v1" "Service" .Release.Namespace "loft" }}
|
|
{{- if $platform_svc_exists }}
|
|
{{- fail (printf "a vCluster platform installation exists in the namespace '%s'. Aborting install" .Release.Namespace) }}
|
|
{{- else if .Values.controlPlane.service.enabled }}
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: {{ .Release.Name }}
|
|
namespace: {{ .Release.Namespace }}
|
|
labels:
|
|
app: vcluster
|
|
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
|
|
release: "{{ .Release.Name }}"
|
|
heritage: "{{ .Release.Service }}"
|
|
vcluster.loft.sh/service: "true"
|
|
{{- if .Values.controlPlane.service.labels }}
|
|
{{ toYaml .Values.controlPlane.service.labels | indent 4 }}
|
|
{{- end }}
|
|
{{- $annotations := merge dict .Values.controlPlane.advanced.globalMetadata.annotations .Values.controlPlane.service.annotations }}
|
|
{{- if $annotations }}
|
|
annotations:
|
|
{{ toYaml $annotations | indent 4 }}
|
|
{{- end }}
|
|
spec:
|
|
{{ toYaml .Values.controlPlane.service.spec | indent 2 }}
|
|
{{- if not .Values.controlPlane.service.spec.ports }}
|
|
ports:
|
|
- name: https
|
|
port: 443
|
|
{{- if not .Values.experimental.isolatedControlPlane.headless }}
|
|
targetPort: 8443
|
|
{{- end }}
|
|
nodePort: {{ .Values.controlPlane.service.httpsNodePort }}
|
|
protocol: TCP
|
|
{{- if .Values.privateNodes.enabled }}
|
|
{{- if .Values.controlPlane.advanced.konnectivity.server.enabled }}
|
|
- name: konnectivity
|
|
port: 8132
|
|
protocol: TCP
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- if .Values.integrations.istio.enabled }}
|
|
- name: wake-http
|
|
port: 9090
|
|
nodePort: {{ .Values.controlPlane.service.httpsNodePort }}
|
|
protocol: TCP
|
|
{{- end }}
|
|
{{- if and .Values.networking.advanced.proxyKubelets.byHostname (not (eq .Values.controlPlane.service.spec.type "LoadBalancer")) }}
|
|
- name: kubelet
|
|
port: 10250
|
|
{{- if not .Values.experimental.isolatedControlPlane.headless }}
|
|
targetPort: 8443
|
|
{{- end }}
|
|
nodePort: {{ .Values.controlPlane.service.kubeletNodePort }}
|
|
protocol: TCP
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- if and (not .Values.controlPlane.service.spec.selector) (not .Values.experimental.isolatedControlPlane.headless) }}
|
|
selector:
|
|
app: vcluster
|
|
release: {{ .Release.Name }}
|
|
{{- end }}
|
|
{{- end }}
|