helmfile.yaml 1.63 KB
bases:
  - ../common/environments.yaml

---

releases:
  - name: istio-gateway-{{ .Values.name }}
    namespace: {{ .Values.namespace }}
    chart: charts/gateway
    disableValidationOnInstall: true
    values:
      - nameSuffix: -{{ .Values.name }}
    strategicMergePatches:
      - apiVersion: networking.istio.io/v1beta1
        kind: Gateway
        metadata:
          name: istio-gateway-{{ .Values.name }}
          namespace: {{ .Values.namespace }}
        spec:
          selector: {{ .Values.selector | toYaml | nindent 12 }}
          servers:
            {{- if .Values.http.hosts }}
            - port:
                name: http
                number: 80
                protocol: HTTP
              hosts: {{ .Values.http.hosts | toYaml | nindent 16 }}
            {{- end }}
            {{- if .Values.tls.hosts }}
            - port:
                name: https
                number: 443
                protocol: HTTPS
              hosts: {{ .Values.http.hosts | toYaml | nindent 16 }}
              tls:
                credentialName: istio-gateway-cert-{{ .Values.name }}
                mode: {{ .Values.tls.mode | quote }}
            {{- end }}
      - apiVersion: cert-manager.io/v1
        kind: Certificate
        metadata:
          name: istio-gateway-cert-{{ .Values.name }}
          namespace: {{ .Values.namespace }}
        {{- if .Values.tls.hosts }}
        spec:
          secretName: istio-gateway-cert-{{ .Values.name }}
          dnsNames: {{ .Values.tls.hosts | toYaml | nindent 12 }}
          issuerRef: {{ .Values.tls.issuerRef | toYaml | nindent 12 }}
        {{ else }}
        $patch: delete
        {{- end }}