From 64048984a639ad04432a6bb6b0b8212ce258cbfb Mon Sep 17 00:00:00 2001 From: Jonas Juselius Date: Thu, 19 Dec 2024 09:53:32 +0100 Subject: [PATCH] feat: add internal ingress to sorcerer --- .../sorcerer/templates/internal-ingress.yaml | 62 +++++++++++++++++++ charts/sorcerer/values.yaml | 3 + 2 files changed, 65 insertions(+) create mode 100644 charts/sorcerer/templates/internal-ingress.yaml diff --git a/charts/sorcerer/templates/internal-ingress.yaml b/charts/sorcerer/templates/internal-ingress.yaml new file mode 100644 index 00000000..58ab6280 --- /dev/null +++ b/charts/sorcerer/templates/internal-ingress.yaml @@ -0,0 +1,62 @@ +{{- if .Values.ingress.enabled -}} +{{- $fullName := include "Sorcerer.fullname" . -}} +{{- $svcPort := .Values.service.port -}} +{{- if and .Values.ingress.className (not (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion)) }} + {{- if not (hasKey .Values.ingress.annotations "kubernetes.io/ingress.class") }} + {{- $_ := set .Values.ingress.annotations "kubernetes.io/ingress.class" .Values.ingress.className}} + {{- end }} +{{- end }} +{{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion -}} +apiVersion: networking.k8s.io/v1 +{{- else if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}} +apiVersion: networking.k8s.io/v1beta1 +{{- else -}} +apiVersion: extensions/v1beta1 +{{- end }} +kind: Ingress +metadata: + name: {{ $fullName }}-internal + labels: + {{- include "Sorcerer.labels" . | nindent 4 }} + {{- with .Values.ingress.annotations }} + annotations: + atlantis.oceanbox.io/expose: internal + {{- toYaml . | nindent 4 }} + {{- end }} +spec: + {{- if and .Values.ingress.className (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion) }} + ingressClassName: {{ .Values.ingress.className }} + {{- end }} + {{- if .Values.ingress.tls }} + tls: + {{- range .Values.ingress.tls }} + - hosts: + {{- range .hosts }} + - {{ . | quote }} + {{- end }} + secretName: {{ .secretName }} + {{- end }} + {{- end }} + rules: + {{- range .Values.ingress.hosts }} + - host: {{ .host | quote }} + http: + paths: + {{- range .internal }} + - path: {{ .path }} + {{- if and .pathType (semverCompare ">=1.18-0" $.Capabilities.KubeVersion.GitVersion) }} + pathType: {{ .pathType }} + {{- end }} + backend: + {{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }} + service: + name: {{ $fullName }} + port: + number: {{ $svcPort }} + {{- else }} + serviceName: {{ $fullName }} + servicePort: {{ $svcPort }} + {{- end }} + {{- end }} + {{- end }} +{{- end }} diff --git a/charts/sorcerer/values.yaml b/charts/sorcerer/values.yaml index 718d5dcc..5c05580b 100644 --- a/charts/sorcerer/values.yaml +++ b/charts/sorcerer/values.yaml @@ -69,6 +69,9 @@ ingress: paths: - path: / pathType: ImplementationSpecific + internal: + - path: /internal + pathType: ImplementationSpecific tls: - hosts: - sorcerer.srv.oceanbox.io