{{- define "istio-ingress-values" }}

{{- with index .Values "istio-ingress" "global" }}
global:
  {{- toYaml . | nindent 2 }}
{{- end }}

{{- if index .Values "istio-ingress" "public" }}
istio-ingress:
  enabled: {{ index .Values "istio-ingress" "public" "enabled" }}
  telemetry:
    enabled: {{ .Values.metrics.enabled }}
  {{- with index .Values "istio-ingress" "public" "gateway" }}
  gateways:
    istio-ingressgateway:
      {{- toYaml . | nindent 6 }}
  {{- end }}
  certificates:
  {{- with index .Values "istio-ingress" "public" "dnsNames" }}
  - name: ingress-cert
    dnsNames:
    {{- toYaml . | nindent 4 }}
  {{- end }}
  {{- range $cert := (index .Values "istio-ingress" "public" "certificates") }}
  - name: {{ $cert.name }}
    dnsNames:
    {{- toYaml $cert.dnsNames | nindent 4 }}
  {{- end }}
  proxyProtocol: {{ default false (index .Values "istio-ingress" "public" "proxyProtocol") }}
{{- end }}

{{- if index .Values "istio-ingress" "private" }}
istio-private-ingress:
  enabled: {{ index .Values "istio-ingress" "private" "enabled" }}
  telemetry:
    enabled: {{ .Values.metrics.enabled }}
  {{- with index .Values "istio-ingress" "private" "gateway" }}
  gateways:
    istio-ingressgateway:
      {{- toYaml . | nindent 6 }}
  {{- end }}
  certificates:
  {{- with index .Values "istio-ingress" "private" "dnsNames" }}
  - name: private-ingress-cert
    dnsNames:
    {{- toYaml . | nindent 4 }}
  {{- end }}
  {{- range $cert := (index .Values "istio-ingress" "private" "certificates") }}
  - name: {{ $cert.name }}
    dnsNames:
    {{- toYaml $cert.dnsNames | nindent 4 }}
  {{- end }}
  proxyProtocol: {{ default false (index .Values "istio-ingress" "private" "proxyProtocol") }}
{{- end }}

{{- end }}


{{- define "istio-ingress-argo" }}
{{- end }}

{{ include "kubezero-app.app" . }}
