From 1b7dff34fcea5f4a5029bd49f449d0d345be249a Mon Sep 17 00:00:00 2001
From: dgiannopoulos <dimitris.giannopoulos@hotmail.com>
Date: Mon, 15 Jul 2024 17:17:54 +0300
Subject: [PATCH] fix: fixed kroki networking #26

---
 .../openslice/templates/kroki-ingress.yaml    | 23 +++++++++++++++
 .../helm/openslice/templates/kroki.yaml       |  2 +-
 .../templates/openslice-ingress.yaml          | 28 ++++++++++---------
 kubernetes/helm/openslice/values.yaml         |  3 ++
 4 files changed, 42 insertions(+), 14 deletions(-)
 create mode 100644 kubernetes/helm/openslice/templates/kroki-ingress.yaml

diff --git a/kubernetes/helm/openslice/templates/kroki-ingress.yaml b/kubernetes/helm/openslice/templates/kroki-ingress.yaml
new file mode 100644
index 0000000..5127bdb
--- /dev/null
+++ b/kubernetes/helm/openslice/templates/kroki-ingress.yaml
@@ -0,0 +1,23 @@
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+  namespace: {{ .Release.Namespace }}
+  labels:
+    app: {{ include "openslice.fullname" . }}
+    chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
+    {{- include "openslice.labels" . | nindent 4 }}
+  annotations:
+    nginx.ingress.kubernetes.io/rewrite-target: "/$1"
+  name: {{ include "openslice.fullname" . }}-kroki-ingress
+spec:
+  ingressClassName: nginx
+  rules:
+    - http:
+        paths:
+          - pathType: ImplementationSpecific
+            path: "/kroki/(.*)"
+            backend:
+              service:
+                name: {{ include "openslice.fullname" . }}-kroki
+                port:
+                  number: 8000
diff --git a/kubernetes/helm/openslice/templates/kroki.yaml b/kubernetes/helm/openslice/templates/kroki.yaml
index 3139d11..5b34ae5 100644
--- a/kubernetes/helm/openslice/templates/kroki.yaml
+++ b/kubernetes/helm/openslice/templates/kroki.yaml
@@ -32,7 +32,7 @@ spec:
             {{- toYaml .Values.resources | nindent 12 }}
           env:
             - name: KROKI_BLOCKDIAG_HOST
-              value: "blockdiag"
+              value: {{ include "openslice.fullname" . }}-blockdiag
           ports:
             - containerPort: 8000
       restartPolicy: Always
diff --git a/kubernetes/helm/openslice/templates/openslice-ingress.yaml b/kubernetes/helm/openslice/templates/openslice-ingress.yaml
index a2c4b57..a5f7314 100644
--- a/kubernetes/helm/openslice/templates/openslice-ingress.yaml
+++ b/kubernetes/helm/openslice/templates/openslice-ingress.yaml
@@ -1,6 +1,6 @@
 apiVersion: networking.k8s.io/v1
 kind: Ingress
-metadata:  
+metadata:
   namespace: {{ .Release.Namespace }}
   labels:
     app: {{ include "openslice.fullname" . }}
@@ -12,15 +12,17 @@ metadata:
 spec:
   ingressClassName: nginx
   rules:
-  - http:
-      paths:
-      {{- $root := . }} # Preserve the root context
-      {{- range .Values.ingress.paths }}
-      - pathType: Prefix
-        path: "{{ .path }}"
-        backend:
-          service:
-            name: {{ include "openslice.fullname" $root }}-{{ .service }}
-            port:
-              number: {{ .port }}
-      {{- end }}
+    - http:
+        paths:
+          {{- $root := . }} # Preserve the root context
+          {{- range .Values.ingress.paths }}
+          {{- if ne .path "/kroki/(.*)" }}
+          - pathType: ImplementationSpecific
+            path: "{{ .path }}"
+            backend:
+              service:
+                name: {{ include "openslice.fullname" $root }}-{{ .service }}
+                port:
+                  number: {{ .port }}
+          {{- end }}
+          {{- end }}
diff --git a/kubernetes/helm/openslice/values.yaml b/kubernetes/helm/openslice/values.yaml
index 76e3296..59e39e5 100644
--- a/kubernetes/helm/openslice/values.yaml
+++ b/kubernetes/helm/openslice/values.yaml
@@ -185,6 +185,9 @@ ingress:
   - path: "/auth"
     service: "keycloak"
     port: 8080
+  - path: "/kroki/(.*)"
+    service: "kroki"
+    port: 8000
   - path: "/osapi"
     service: "osportalapi"
     port: 13000
-- 
GitLab