{{- if .Values.ingress.enabled }} {{- if eq .Values.ingress.provider "traefik" }} apiVersion: traefik.io/v1alpha1 kind: IngressRoute metadata: name: {{ include "entkube.fullname" . }} labels: {{- include "entkube.labels" . | nindent 4 }} {{- with .Values.ingress.annotations }} annotations: {{- toYaml . | nindent 4 }} {{- end }} spec: entryPoints: - websecure routes: - match: Host(`{{ .Values.ingress.host }}`) kind: Rule services: - name: {{ include "entkube.fullname" . }}-web port: {{ .Values.web.port }} {{- if .Values.ingress.tls.enabled }} tls: secretName: {{ .Values.ingress.tls.secretName }} {{- end }} {{- else if eq .Values.ingress.provider "gatewayapi" }} apiVersion: gateway.networking.k8s.io/v1 kind: HTTPRoute metadata: name: {{ include "entkube.fullname" . }} labels: {{- include "entkube.labels" . | nindent 4 }} spec: parentRefs: - name: {{ include "entkube.fullname" . }}-gateway hostnames: - {{ .Values.ingress.host }} rules: - backendRefs: - name: {{ include "entkube.fullname" . }}-web port: {{ .Values.web.port }} {{- else if eq .Values.ingress.provider "istio" }} apiVersion: networking.istio.io/v1 kind: VirtualService metadata: name: {{ include "entkube.fullname" . }} labels: {{- include "entkube.labels" . | nindent 4 }} spec: hosts: - {{ .Values.ingress.host }} gateways: - {{ include "entkube.fullname" . }}-gateway http: - route: - destination: host: {{ include "entkube.fullname" . }}-web port: number: {{ .Values.web.port }} {{- end }} {{- end }}