ingress.yaml 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. {{- if .Values.ingress.enabled -}}
  2. {{- $fullName := include "cloudpods.web.fullname" . -}}
  3. {{- if and .Values.ingress.className (not (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion)) }}
  4. {{- if not (hasKey .Values.ingress.annotations "kubernetes.io/ingress.class") }}
  5. {{- $_ := set .Values.ingress.annotations "kubernetes.io/ingress.class" .Values.ingress.className}}
  6. {{- end }}
  7. {{- end }}
  8. {{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion -}}
  9. apiVersion: networking.k8s.io/v1
  10. {{- else if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}}
  11. apiVersion: networking.k8s.io/v1beta1
  12. {{- else -}}
  13. apiVersion: extensions/v1beta1
  14. {{- end }}
  15. kind: Ingress
  16. metadata:
  17. name: {{ $fullName }}
  18. labels:
  19. {{- include "cloudpods.labels" . | nindent 4 }}
  20. {{- with .Values.ingress.annotations }}
  21. annotations:
  22. {{- toYaml . | nindent 4 }}
  23. {{- end }}
  24. spec:
  25. {{- if and .Values.ingress.className (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion) }}
  26. ingressClassName: {{ .Values.ingress.className }}
  27. {{- end }}
  28. tls:
  29. {{- if .Values.ingress.tls }}
  30. {{- range .Values.ingress.tls }}
  31. - hosts:
  32. {{- range .hosts }}
  33. - {{ . | quote }}
  34. {{- end }}
  35. secretName: {{ .secretName }}
  36. {{- end }}
  37. {{- else }}
  38. - secretName: {{ include "cloudpods.web.certs.fullname" . }}
  39. {{- end }}
  40. rules:
  41. {{- range .Values.ingress.hosts }}
  42. - host: {{ .host | quote }}
  43. http:
  44. paths:
  45. {{- range .paths }}
  46. - path: {{ .path }}
  47. {{- if and .pathType (semverCompare ">=1.18-0" $.Capabilities.KubeVersion.GitVersion) }}
  48. pathType: {{ .pathType }}
  49. {{- end }}
  50. backend:
  51. {{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }}
  52. service:
  53. name: {{ $fullName }}
  54. port:
  55. number: 443
  56. {{- else }}
  57. serviceName: {{ $fullName }}
  58. servicePort: 443
  59. {{- end }}
  60. {{- end }}
  61. {{- end }}
  62. {{- end }}