40 lines
1.3 KiB
YAML
40 lines
1.3 KiB
YAML
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: {{ include "ironic.fullname" . }}
|
|
labels:
|
|
{{- include "ironic.labels" . | nindent 4 }}
|
|
{{- with .Values.service.annotations }}
|
|
annotations:
|
|
{{- toYaml . | nindent 4 }}
|
|
{{- end }}
|
|
spec:
|
|
type: {{ .Values.service.type }}
|
|
ports:
|
|
{{- $enableTLS := .Values.global.enable_tls }}
|
|
{{- $enableVMediaTLS := .Values.global.enable_vmedia_tls }}
|
|
{{- range .Values.service.ports }}
|
|
{{- if and (eq .name "httpd") (or (not $enableTLS) (not $enableVMediaTLS)) }}
|
|
- name: {{ .name }}
|
|
port: {{ .port }}
|
|
protocol: {{ .protocol }}
|
|
targetPort: {{ .targetPort }}
|
|
{{- else if and (eq .name "httpd-tls") ($enableTLS) ($enableVMediaTLS) }}
|
|
- name: {{ .name }}
|
|
port: {{ .port }}
|
|
protocol: {{ .protocol }}
|
|
targetPort: {{ .targetPort }}
|
|
{{- else if and (ne .name "httpd") (ne .name "httpd-tls") }}
|
|
- name: {{ .name }}
|
|
port: {{ .port }}
|
|
protocol: {{ .protocol }}
|
|
targetPort: {{ .targetPort }}
|
|
{{- end }}
|
|
{{- end }}
|
|
selector:
|
|
{{- include "ironic.selectorLabels" . | nindent 4 }}
|
|
{{- if or (eq .Values.service.type "LoadBalancer") (eq .Values.service.type "NodePort") }}
|
|
externalIPs:
|
|
{{- toYaml .Values.service.externalIPs | nindent 4 }}
|
|
{{- end }}
|