diff --git a/.gitignore b/.gitignore
index 2ae0c2d6d11336d2645da6a8d55eb4c8df68a907..716e25c58a793ef0a1470c3dc924baa6a2479c79 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,6 +10,7 @@ schema.xsd
 final/
 build/
 swagger/
+*.tar
 
 # docs
 .docs/.swagger/dist/
diff --git a/Makefile b/Makefile
index 8ad6b93fe3281a993d51d48b2f15038241297af8..8a88a7103edb75d979c8a8b2a24f5e1ad80c870e 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,8 @@
 .PHONY: all
 
 TAG ?= latest
+APP_VERSION ?= 1.4.2
+CHART_VERSION ?= 1.4.2
 REPOSITORY_1_URL ?= docker.io/dbrepo
 REPOSITORY_2_URL ?= s210.dl.hpc.tuwien.ac.at/dbrepo
 
@@ -231,5 +233,49 @@ teardown:
 build-api:
 	bash .docs/.swagger/swagger-generate.sh
 
+helm-build:
+	cp ./helm-charts/dbrepo/Chart.tpl.yaml ./helm-charts/dbrepo/Chart.yaml
+	sed -i -e "s/__CHART_VERSION__/\"${CHART_VERSION}\"/g" ./helm-charts/dbrepo/Chart.yaml
+	sed -i -e "s/__APP_VERSION__/\"${APP_VERSION}\"/g" ./helm-charts/dbrepo/Chart.yaml
+	#helm dependency update ./helm-charts/dbrepo
+	helm package ./helm-charts/dbrepo --destination ./build
+
+cluster-start:
+	minikube start --memory="8g" --cpus="8"
+	minikube addons disable metrics-server
+	minikube addons enable ingress
+	#CERT_MANAGER_VERSION=1.14.4 ./helm-charts/dbrepo/hack/install-cert-manager.sh
+
+cluster-stop:
+	minikube stop
+
+cluster-image-pull:
+	docker image save -o ui.tar dbrepo-ui:latest
+	docker image save -o data-service.tar dbrepo-data-service:latest
+	docker image save -o search-db-init.tar dbrepo-search-db-init:latest
+	docker image save -o search-service.tar dbrepo-search-service:latest
+	docker image save -o analyse-service.tar dbrepo-analyse-service:latest
+	docker image save -o data-db-sidecar.tar dbrepo-data-db-sidecar:latest
+	docker image save -o metadata-service.tar dbrepo-metadata-service:latest
+	echo "[INFO] Saved local images"
+	minikube image load ui.tar
+	minikube image load data-service.tar
+	minikube image load search-db-init.tar
+	minikube image load search-service.tar
+	minikube image load analyse-service.tar
+	minikube image load data-db-sidecar.tar
+	minikube image load metadata-service.tar
+	echo "[INFO] Imported local images"
+	rm -f ./ui.tar ./data-service.tar ./search-service.tar ./analyse-service.tar ./data-db-sidecar.tar ./metadata-service.tar
+
+cluster-install: helm-build
+	helm upgrade --install dbrepo -n dbrepo ./build/dbrepo-${CHART_VERSION}.tgz --create-namespace --cleanup-on-fail
+
+cluster-uninstall:
+	helm uninstall -n dbrepo dbrepo
+
+cluster-dashboard:
+	minikube dashboard
+
 docs:
 	bash ./build-docs.sh
diff --git a/helm-charts/dbrepo/Chart.tpl.yaml b/helm-charts/dbrepo/Chart.tpl.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..5ae1d128073c61b2efabc9abd62e9d95c514e103
--- /dev/null
+++ b/helm-charts/dbrepo/Chart.tpl.yaml
@@ -0,0 +1,52 @@
+apiVersion: v2
+name: dbrepo
+description: Helm Chart for installing DBRepo
+sources:
+  - https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services
+type: application
+version: __CHART_VERSION__
+appVersion: __APP_VERSION__
+keywords:
+  - dbrepo
+maintainers:
+  - name: Martin Weise
+    email: martin.weise@tuwien.ac.at
+home: https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/
+icon: https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/master/.docs/images/signet_white.png
+dependencies:
+  - name: opensearch
+    alias: searchdb
+    version: 2.15.0 # app version 2.10.0
+    repository: https://opensearch-project.github.io/helm-charts/
+  - name: opensearch-dashboards
+    alias: searchDbDashboard
+    version: 2.13.0 # app version 2.10.0
+    repository: https://opensearch-project.github.io/helm-charts/
+  - name: keycloak
+    alias: authService
+    version: 17.3.3
+    repository: https://charts.bitnami.com/bitnami
+  - name: mariadb-galera
+    alias: dataDb
+    version: 11.0.1
+    repository: https://charts.bitnami.com/bitnami
+  - name: mariadb-galera
+    alias: metadataDb
+    version: 11.0.1
+    repository: https://charts.bitnami.com/bitnami
+  - name: postgresql-ha
+    alias: authDb
+    version: 12.1.7
+    repository: https://charts.bitnami.com/bitnami
+  - name: rabbitmq
+    alias: brokerService
+    version: 12.5.1
+    repository: https://charts.bitnami.com/bitnami
+  - name: fluent-bit
+    alias: logservice
+    version: 0.40.0
+    repository: https://fluent.github.io/helm-charts
+  - name: seaweedfs
+    alias: storageservice
+    version: 3.59.4
+    repository: https://seaweedfs.github.io/seaweedfs/helm
diff --git a/helm-charts/dbrepo/Chart.yaml b/helm-charts/dbrepo/Chart.yaml
index 9f303fb8fd99e02d7a90445b26293d2340630495..46e734f95f5de7c65d9e4fc966c3f1e07e58588f 100644
--- a/helm-charts/dbrepo/Chart.yaml
+++ b/helm-charts/dbrepo/Chart.yaml
@@ -1,11 +1,10 @@
 apiVersion: v2
 name: dbrepo
 description: Helm Chart for installing DBRepo
-category: Database
 sources:
   - https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services
 type: application
-version: "1.4.2-RC1"
+version: "1.4.2"
 appVersion: "1.4.2"
 keywords:
   - dbrepo
diff --git a/helm-charts/dbrepo/hack/install-cert-manager.sh b/helm-charts/dbrepo/hack/install-cert-manager.sh
new file mode 100755
index 0000000000000000000000000000000000000000..8b0569b733164132d0932e3e645e1fb025a3d84f
--- /dev/null
+++ b/helm-charts/dbrepo/hack/install-cert-manager.sh
@@ -0,0 +1,15 @@
+#!/bin/bash
+kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v${CERT_MANAGER_VERSION}/cert-manager.yaml
+if [ $? -ne 0 ]; then
+  echo "ERROR: Failed to install cert-manager" > /dev/stderr
+else
+  echo "SUCCESS: Installed cert-manager"
+fi
+cat <<EOF | kubectl apply -f -
+apiVersion: cert-manager.io/v1
+kind: ClusterIssuer
+metadata:
+  name: selfsigned-cluster-issuer
+spec:
+  selfSigned: {}
+EOF
diff --git a/helm-charts/dbrepo/templates/analyse-service/deployment.yaml b/helm-charts/dbrepo/templates/analyse-service/deployment.yaml
index e2591a9afec2af4d657b787d2d20eecaa533f753..c15d67377f40bea64840a75adece8f4499e9a800 100644
--- a/helm-charts/dbrepo/templates/analyse-service/deployment.yaml
+++ b/helm-charts/dbrepo/templates/analyse-service/deployment.yaml
@@ -4,14 +4,14 @@ apiVersion: apps/v1
 kind: Deployment
 metadata:
   name: analyse-service
-  namespace: {{ $.Values.namespace }}
+  namespace: {{ .Values.namespace }}
   labels:
     app: analyse-service
     service: analyse-service
 spec:
   replicas: {{ .Values.analyseService.replicaCount }}
   strategy:
-    type: {{ $.Values.strategyType }}
+    type: {{ .Values.strategyType }}
   selector:
     matchLabels:
       app: analyse-service
@@ -29,7 +29,7 @@ spec:
         runAsGroup: 1000
       containers:
         - name: analyse-service
-          image: {{ printf "%s/%s:%s" .Values.analyseService.image.registry .Values.analyseService.image.repository .Values.analyseService.image.tag }}
+          image: {{ .Values.analyseService.image.name }}
           imagePullPolicy: {{ .Values.analyseService.image.pullPolicy | default "IfNotPresent" }}
           ports:
             - containerPort: 5000
diff --git a/helm-charts/dbrepo/templates/data-db/pvc.yaml b/helm-charts/dbrepo/templates/data-db/pvc.yaml
index 0d5c5c49af15f9603f2869a31387f94c174e8203..1eea5fa393717908dc189c1144d89d5a2107f14b 100644
--- a/helm-charts/dbrepo/templates/data-db/pvc.yaml
+++ b/helm-charts/dbrepo/templates/data-db/pvc.yaml
@@ -3,7 +3,6 @@ kind: PersistentVolumeClaim
 metadata:
   name: data-db-shared
 spec:
-  storageClassName: {{ .Values.dataDb.persistence.sharedStorageClass }}
   accessModes:
     - ReadWriteMany
   resources:
diff --git a/helm-charts/dbrepo/templates/data-service/deployment.yaml b/helm-charts/dbrepo/templates/data-service/deployment.yaml
index 429a4ccf93de64908b065812b179a6c1169e3aac..ed2317b5884d2fd1ef0ff1d6faf7283320a4492a 100644
--- a/helm-charts/dbrepo/templates/data-service/deployment.yaml
+++ b/helm-charts/dbrepo/templates/data-service/deployment.yaml
@@ -4,14 +4,14 @@ apiVersion: apps/v1
 kind: Deployment
 metadata:
   name: data-service
-  namespace: {{ $.Values.namespace }}
+  namespace: {{ .Values.namespace }}
   labels:
     app: data-service
     service: data-service
 spec:
-  replicas: {{ .Values.metadataService.replicaCount }}
+  replicas: {{ .Values.dataService.replicaCount }}
   strategy:
-    type: {{ $.Values.strategyType }}
+    type: {{ .Values.strategyType }}
   selector:
     matchLabels:
       app: data-service
@@ -28,7 +28,7 @@ spec:
         runAsGroup: 1000
       containers:
         - name: data-service
-          image: {{ printf "%s/%s:%s" .Values.dataService.image.registry .Values.dataService.image.repository .Values.dataService.image.tag }}
+          image: {{ .Values.dataService.image.name }}
           imagePullPolicy: {{ .Values.dataService.image.pullPolicy | default "IfNotPresent" }}
           ports:
             - containerPort: 9093
diff --git a/helm-charts/dbrepo/templates/ingress.yaml b/helm-charts/dbrepo/templates/ingress.yaml
index 20eeb071fa6e47a331609c7d4dae9ca6a93039a0..18617341a7422a89a818198cbe22365fd8ff50ea 100644
--- a/helm-charts/dbrepo/templates/ingress.yaml
+++ b/helm-charts/dbrepo/templates/ingress.yaml
@@ -1,39 +1,199 @@
-{{- if .Values.ingress.enabled }}
-{{- range .Values.ingress.data }}
 ---
 apiVersion: networking.k8s.io/v1
 kind: Ingress
 metadata:
-  name: dbrepo-{{ .name }}
-  {{- with .annotations }}
-  annotations:
-      {{- toYaml . | nindent 4 }}
-  {{- end }}
-  namespace: {{ $.Values.namespace }}
+  name: dbrepo-ingress-basic
+  annotations: {{ toYaml .Values.ingress.annotations.basic | nindent 4 }}
+  namespace: {{ .Values.namespace }}
 spec:
-  ingressClassName: nginx
-  {{- if .tls }}
+  ingressClassName: {{ .Values.ingress.className }}
   tls:
-    {{- range .tls }}
     - hosts:
-        - "{{ $.Values.hostname }}"
-      secretName: {{ .secretName }}
-    {{- end }}
-  {{- end }}
+        - {{ .Values.hostname }}
+      secretName: dbrepo-ingress-tls-cert
   rules:
-  {{- range .hosts }}
-  - host: "{{ $.Values.hostname }}"
-    http:
-      paths:
-      {{- range .paths }}
-      - path: {{ .path }}
-        pathType: {{ .pathType }}
-        backend:
-          service:
-            name: {{ .serviceName }}
-            port:
-              number: {{ .portNumber }}
-      {{- end}}
-  {{- end}}
-{{- end}}
-{{- end}}
\ No newline at end of file
+    - host: {{ .Values.hostname }}
+      http:
+        paths:
+          - path: /api/analyse
+            pathType: Prefix
+            backend:
+              service:
+                name: analyse-service
+                port:
+                  number: 80
+          - path: /api/search
+            pathType: Prefix
+            backend:
+              service:
+                name: search-service
+                port:
+                  number: 80
+          - path: /api
+            pathType: Prefix
+            backend:
+              service:
+                name: metadata-service
+                port:
+                  number: 80
+          - path: /
+            pathType: Prefix
+            backend:
+              service:
+                name: ui
+                port:
+                  number: 80
+---
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+  name: dbrepo-ingress-upload
+  annotations: {{ toYaml .Values.ingress.annotations.basic | nindent 4 }}
+  {{ toYaml .Values.ingress.annotations.upload | nindent 4 }}
+  namespace: {{ .Values.namespace }}
+spec:
+  ingressClassName: {{ .Values.ingress.className }}
+  tls:
+    - hosts:
+        - {{ .Values.hostname }}
+      secretName: dbrepo-ingress-tls-cert
+  rules:
+    - host: {{ .Values.hostname }}
+      http:
+        paths:
+          - path: /api/upload
+            pathType: Prefix
+            backend:
+              service:
+                name: upload-service
+                port:
+                  number: 80
+---
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+  name: dbrepo-ingress-dashboard
+  annotations: {{ toYaml .Values.ingress.annotations.secure | nindent 4 }}
+  namespace: {{ .Values.namespace }}
+spec:
+  ingressClassName: {{ .Values.ingress.className }}
+  tls:
+    - hosts:
+        - {{ .Values.hostname }}
+      secretName: dbrepo-ingress-tls-cert
+  rules:
+    - host: {{ .Values.hostname }}
+      http:
+        paths:
+          - path: /admin/dashboard
+            pathType: Prefix
+            backend:
+              service:
+                name: search-db-dashboard
+                port:
+                  number: 5601
+---
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+  name: dbrepo-ingress-rewrite-api
+  annotations: {{ toYaml .Values.ingress.annotations.secure | nindent 4 }}
+  {{ toYaml .Values.ingress.annotations.rewriteApi | nindent 4 }}
+  namespace: {{ .Values.namespace }}
+spec:
+  ingressClassName: {{ .Values.ingress.className }}
+  tls:
+    - hosts:
+        - {{ .Values.hostname }}
+      secretName: dbrepo-ingress-tls-cert
+  rules:
+    - host: {{ .Values.hostname }}
+      http:
+        paths:
+          - path: /api/broker/(.*)
+            pathType: ImplementationSpecific
+            backend:
+              service:
+                name: broker-service
+                port:
+                  number: 15672
+---
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+  name: dbrepo-ingress-rewrite-root
+  annotations: {{ toYaml .Values.ingress.annotations.rewriteRoot | nindent 4 }}
+  namespace: {{ .Values.namespace }}
+spec:
+  ingressClassName: {{ .Values.ingress.className }}
+  tls:
+    - hosts:
+        - {{ .Values.hostname }}
+      secretName: dbrepo-ingress-tls-cert
+  rules:
+    - host: {{ .Values.hostname }}
+      http:
+        paths:
+          - path: /admin/broker/(.*)
+            pathType: ImplementationSpecific
+            backend:
+              service:
+                name: broker-service
+                port:
+                  number: 15672
+          - path: /admin/storage
+            pathType: ImplementationSpecific
+            backend:
+              service:
+                name: storageservice-s3
+                port:
+                  number: 9000
+---
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+  name: dbrepo-ingress-rewrite-root-secure
+  annotations: {{ toYaml .Values.ingress.annotations.secure | nindent 4 }}
+  {{ toYaml .Values.ingress.annotations.rewriteRoot | nindent 4 }}
+  namespace: {{ .Values.namespace }}
+spec:
+  ingressClassName: {{ .Values.ingress.className }}
+  tls:
+    - hosts:
+        - {{ .Values.hostname }}
+      secretName: dbrepo-ingress-tls-cert
+  rules:
+    - host: {{ .Values.hostname }}
+      http:
+        paths:
+          - path: /api/auth/(.*)
+            pathType: ImplementationSpecific
+            backend:
+              service:
+                name: auth-service
+                port:
+                  number: 443
+---
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+  name: dbrepo-ingress-pid
+  annotations: {{ toYaml .Values.ingress.annotations.rewritePid | nindent 4 }}
+  namespace: {{ .Values.namespace }}
+spec:
+  ingressClassName: {{ .Values.ingress.className }}
+  tls:
+    - hosts:
+        - {{ .Values.hostname }}
+      secretName: dbrepo-ingress-tls-cert
+  rules:
+    - host: {{ .Values.hostname }}
+      http:
+        paths:
+          - path: /pid/(.*)
+            pathType: ImplementationSpecific
+            backend:
+              service:
+                name: metadata-service
+                port:
+                  number: 80
\ No newline at end of file
diff --git a/helm-charts/dbrepo/templates/metadata-service/deployment.yaml b/helm-charts/dbrepo/templates/metadata-service/deployment.yaml
index a98e89cb6e89f17f2112aa93aab394b8aad6b35b..6dfab3ed21a13ac970b7423124f3555a17eb3dca 100644
--- a/helm-charts/dbrepo/templates/metadata-service/deployment.yaml
+++ b/helm-charts/dbrepo/templates/metadata-service/deployment.yaml
@@ -4,14 +4,14 @@ apiVersion: apps/v1
 kind: Deployment
 metadata:
   name: metadata-service
-  namespace: {{ $.Values.namespace }}
+  namespace: {{ .Values.namespace }}
   labels:
     app: metadata-service
     service: metadata-service
 spec:
   replicas: {{ .Values.metadataService.replicaCount }}
   strategy:
-    type: {{ $.Values.strategyType }}
+    type: {{ .Values.strategyType }}
   selector:
     matchLabels:
       app: metadata-service
@@ -29,7 +29,7 @@ spec:
         runAsGroup: 1000
       containers:
         - name: metadata-service
-          image: {{ printf "%s/%s:%s" .Values.metadataService.image.registry .Values.metadataService.image.repository .Values.metadataService.image.tag }}
+          image: {{ .Values.metadataService.image.name }}
           imagePullPolicy: {{ .Values.metadataService.image.pullPolicy | default "IfNotPresent" }}
           securityContext:
             runAsUser: 1000
diff --git a/helm-charts/dbrepo/templates/search-db/certificate.yaml b/helm-charts/dbrepo/templates/search-db/certificate.yaml
deleted file mode 100644
index 0099f0afddaacddfe7fd45c7555c4a2b1cf22caa..0000000000000000000000000000000000000000
--- a/helm-charts/dbrepo/templates/search-db/certificate.yaml
+++ /dev/null
@@ -1,22 +0,0 @@
-apiVersion: cert-manager.io/v1
-kind: Certificate
-metadata:
-  name: search-db
-  namespace: {{ .Values.namespace }}
-spec:
-  isCA: false
-  duration: 2160h # 90d
-  renewBefore: 360h # 15d
-  commonName: search-db
-  secretName: search-db-cert
-  privateKey:
-    algorithm: RSA
-    encoding: PKCS8
-    size: 2048
-  usages:
-    - server auth
-    - client auth
-  issuerRef:
-    name: selfsigned-cluster-issuer
-    kind: ClusterIssuer
-    group: cert-manager.io
\ No newline at end of file
diff --git a/helm-charts/dbrepo/templates/search-db/secret.yaml b/helm-charts/dbrepo/templates/search-db/secret.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..a7cd1d0d424a38fc491afa465ae0cde7b705cd91
--- /dev/null
+++ b/helm-charts/dbrepo/templates/search-db/secret.yaml
@@ -0,0 +1,79 @@
+---
+apiVersion: v1
+kind: Secret
+type: kubernetes.io/tls
+metadata:
+  name: search-db-cert
+  namespace: {{ .Values.namespace }}
+data:
+  tls.crt: |
+    LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM0akNDQWNxZ0F3SUJBZ0lSQVAvcFJoaFQ5
+    SFVWaUFzYitybmJjdkV3RFFZSktvWklodmNOQVFFTEJRQXcKRkRFU01CQUdBMVVFQXhNSmMyVmhj
+    bU5vTFdSaU1CNFhEVEkwTURRd056RTRORFEwT0ZvWERUSTBNRGN3TmpFNApORFEwT0Zvd0ZERVNN
+    QkFHQTFVRUF4TUpjMlZoY21Ob0xXUmlNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DCkFROEFN
+    SUlCQ2dLQ0FRRUFzb3lTWTduV3J0MTRVQjNST0kwOWRtMVNSU2lDZ2hQYVhwRlJTMjhjalpNSUFz
+    TUoKR2ZwREZ5VktOQ3pTV0VZN0J2M1JpOHlrRnlZNkpFb2p0S3oxdk9GNnNyQ2JYZnhsY1NiZDk3
+    UVYwdU9IYTZKRApsWGN2aUJEKzN2ZTB0K0MzRGFPSFVMY1liVWkzS2xOS3FwTDU1Q2ZNeTYzdU4z
+    a21zekRwTjVycWhOYnBlVTAxCnd2NFZNaldNZ3RlU1VpWDNqeU1EcUFOa1B3UXFiYnZHN0hBUm54
+    Q0QvMHJFeEVvRjNqRCtGV01XbEVjdXR1VGkKbFJ5QnN3L1FLTWd0aVJVSFJXYUJGK2ZES0wxSUoz
+    YVhmcDR5bmNhL2tCR3pxVGpqb3dJb2R0MEdOZjBFa1QyQgpTWG9hZGtwdVptT2JiVDF2UmN1T1BH
+    UEZjWVd5Qm1ucS9adEorUUlEQVFBQm95OHdMVEFkQmdOVkhTVUVGakFVCkJnZ3JCZ0VGQlFjREFR
+    WUlLd1lCQlFVSEF3SXdEQVlEVlIwVEFRSC9CQUl3QURBTkJna3Foa2lHOXcwQkFRc0YKQUFPQ0FR
+    RUFlUU4vaUsvRzhHbGt5R0w1NjlrZnBiWEE2bE8vRHFObGlXRkgrY2ZIZ0NzYWxKMWVSSjliY1RZ
+    dgo0S3Y0MDlWUWpCbVg0WTRqMUt6R1ZnYkZaZkh1Ry9Nb0dzWVVnQ1VjTm94ZThtM0ZUcjRwYnZT
+    MXNUV0V4cGFNCkpSMURQQmNMV0o3MndTQzBkRFpISC9hVVNSMUs4UGpnMWtaMVRINTdvZDJoNWpJ
+    RUFhZkd1ZGhzejVpWlZQcVkKR1lrakZhRklVeXpjWkxUbjFBNXRwSlpTRmhxZHZGQmFndURUYkp4
+    NmROVWZVc0sxZXFuaThSQVN6L3dPbHQwcQpSckExbVdCTEI1NW9XRzh4ZXZicmtNNUNuSWVvL2hS
+    SG83cE1pUFQxWE5uT2cvNjhmZEc4T0lXMFFhNjdMVEZnCnU2dTkxQ1BmVk5KVHQ5bmlZWHJ4N1hl
+    SEJ2dW1iUT09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
+  ca.crt: |
+    LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM0akNDQWNxZ0F3SUJBZ0lSQVAvcFJoaFQ5
+    SFVWaUFzYitybmJjdkV3RFFZSktvWklodmNOQVFFTEJRQXcKRkRFU01CQUdBMVVFQXhNSmMyVmhj
+    bU5vTFdSaU1CNFhEVEkwTURRd056RTRORFEwT0ZvWERUSTBNRGN3TmpFNApORFEwT0Zvd0ZERVNN
+    QkFHQTFVRUF4TUpjMlZoY21Ob0xXUmlNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DCkFROEFN
+    SUlCQ2dLQ0FRRUFzb3lTWTduV3J0MTRVQjNST0kwOWRtMVNSU2lDZ2hQYVhwRlJTMjhjalpNSUFz
+    TUoKR2ZwREZ5VktOQ3pTV0VZN0J2M1JpOHlrRnlZNkpFb2p0S3oxdk9GNnNyQ2JYZnhsY1NiZDk3
+    UVYwdU9IYTZKRApsWGN2aUJEKzN2ZTB0K0MzRGFPSFVMY1liVWkzS2xOS3FwTDU1Q2ZNeTYzdU4z
+    a21zekRwTjVycWhOYnBlVTAxCnd2NFZNaldNZ3RlU1VpWDNqeU1EcUFOa1B3UXFiYnZHN0hBUm54
+    Q0QvMHJFeEVvRjNqRCtGV01XbEVjdXR1VGkKbFJ5QnN3L1FLTWd0aVJVSFJXYUJGK2ZES0wxSUoz
+    YVhmcDR5bmNhL2tCR3pxVGpqb3dJb2R0MEdOZjBFa1QyQgpTWG9hZGtwdVptT2JiVDF2UmN1T1BH
+    UEZjWVd5Qm1ucS9adEorUUlEQVFBQm95OHdMVEFkQmdOVkhTVUVGakFVCkJnZ3JCZ0VGQlFjREFR
+    WUlLd1lCQlFVSEF3SXdEQVlEVlIwVEFRSC9CQUl3QURBTkJna3Foa2lHOXcwQkFRc0YKQUFPQ0FR
+    RUFlUU4vaUsvRzhHbGt5R0w1NjlrZnBiWEE2bE8vRHFObGlXRkgrY2ZIZ0NzYWxKMWVSSjliY1RZ
+    dgo0S3Y0MDlWUWpCbVg0WTRqMUt6R1ZnYkZaZkh1Ry9Nb0dzWVVnQ1VjTm94ZThtM0ZUcjRwYnZT
+    MXNUV0V4cGFNCkpSMURQQmNMV0o3MndTQzBkRFpISC9hVVNSMUs4UGpnMWtaMVRINTdvZDJoNWpJ
+    RUFhZkd1ZGhzejVpWlZQcVkKR1lrakZhRklVeXpjWkxUbjFBNXRwSlpTRmhxZHZGQmFndURUYkp4
+    NmROVWZVc0sxZXFuaThSQVN6L3dPbHQwcQpSckExbVdCTEI1NW9XRzh4ZXZicmtNNUNuSWVvL2hS
+    SG83cE1pUFQxWE5uT2cvNjhmZEc4T0lXMFFhNjdMVEZnCnU2dTkxQ1BmVk5KVHQ5bmlZWHJ4N1hl
+    SEJ2dW1iUT09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
+  tls.key: |
+    LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUV2UUlCQURBTkJna3Foa2lHOXcwQkFRRUZB
+    QVNDQktjd2dnU2pBZ0VBQW9JQkFRQ3lqSkpqdWRhdTNYaFEKSGRFNGpUMTJiVkpGS0lLQ0U5cGVr
+    VkZMYnh5Tmt3Z0N3d2taK2tNWEpVbzBMTkpZUmpzRy9kR0x6S1FYSmpvawpTaU8wclBXODRYcXlz
+    SnRkL0dWeEp0MzN0QlhTNDRkcm9rT1ZkeStJRVA3ZTk3UzM0TGNObzRkUXR4aHRTTGNxClUwcXFr
+    dm5rSjh6THJlNDNlU2F6TU9rM211cUUxdWw1VFRYQy9oVXlOWXlDMTVKU0pmZVBJd09vQTJRL0JD
+    cHQKdThic2NCR2ZFSVAvU3NURVNnWGVNUDRWWXhhVVJ5NjI1T0tWSElHekQ5QW95QzJKRlFkRlpv
+    RVg1OE1vdlVnbgpkcGQrbmpLZHhyK1FFYk9wT09PakFpaDIzUVkxL1FTUlBZRkplaHAyU201bVk1
+    dHRQVzlGeTQ0OFk4VnhoYklHCmFlcjltMG41QWdNQkFBRUNnZ0VCQUtPZ3A5ZTB5OFhkT1JGVEFo
+    WXRlaEk2QlpkVGxLYll3dHEvbWh6amF1dGoKdjRlb2JZTGRFdmIzT1pXdkxlV3dGeEJGTS9CR1Rt
+    cllvWmY0U2RpZVdXWUx6WUpNejFYR3BNQ1p1Zm56azd4OAp2L0luOW4vWGhqdlFONExteHp0c09O
+    WEs4NHRKQUozR2NmWGI5eVZ6SklldTRjUVhWYVNJNXFwNVBJRzArdzlZCnk2NTFWZkZJQUd3SmRI
+    QlpId1lmQUdxbU5oVlo3MDc4TVUxQWU2Y2VkZjJ0RnlWYW5ScXBLUFZ1Z0tGQy9kRG8KVXJIMHRJ
+    ajFkU3RKRGxucHJ3YVYrMDRkUDBvZnlBc09ablp3VXRzZE8vM1ZMMWR4bCtIT1dGeUpvSjI1dkF2
+    eAp5ZW5qc0dzd1pJRW1oUzM0NVRVTlFNbTJzYnJtYklMS1dpWEp5SmlEeWdFQ2dZRUF4QUNEbWxG
+    ZmsxZDlkSmJTCi90NDRGTzFiUVQ2b1Z2VWJ2NGMwcnRLVVhwTnFlajNmbXl4bUJINm82SkhoYjNO
+    eXdWa3U0QW9YTXBFTkhISDAKNlN2TzBYM2U1MU8xOXppQ25hMGdoZExSS3JIS3ZqbzRNdmdiV3Ey
+    Z3NJNmpJQkxTcU0zNXNxTjhGRXRVZko4TQpKRUZIMThJTThTRjEyQ2hWYjVWaThTTDgvY2tDZ1lF
+    QTZUUmhVQi9nQVM1RmN5V1NHNGR4UWtHWG03R1lSamFrCjJVWUlOUUIyV2d2Qk9vN2tvV21nR1M0
+    eE9YanJsZ2NrMmhsTEhZSXAycnRoSWdNMUdBQUdqa2lYeXJPVE9kaGQKeUJ0RjBMS0kvVjlBZUxK
+    eExkRDBYalB0WThIYXdTcW8weGdxUml2RzlJUFBlSGZ6SmlraXV6enNOT3pjVlk1aApkZktqZy9J
+    eVFyRUNnWUJ1c0dlaDk4Q0ZBa3pNVWZ6NGlHQ2RtT29ITDY1NzVWSjFXSkx0QStsY2U5NFBDUEJG
+    CnZzNGlUYkZ3SGlwMCtYcmVMRkpubmVzNTJHYlNJSjBTTFhaUUlzaUdWV1VYSjZmRUNpaXF5c0xy
+    WEpyRjBUVTUKdTVvZkhKejUrS094RWxBN21vOGdUbWxkUUttRzgzODAzbFVIU1FSc0ROeHpaVnZT
+    ZDBmNExDMDUyUUtCZ0h0YQpzNmJZVlhzS2FMNFJ2NGxFU1lxTWU0OWxqM0NFY3dwaTJ2QitRQnc5
+    WDRhRUV6ZTJVWE5BVmRWYXV2THU4SFZWCkw4QjZHMzJSNUQxRGlSQWE0MXpiMVQ3cFloVVU5L1pq
+    UnJpdjEzcCtxZkd1SWVQa1JYNlc1UmtCYjU4QjI2OWQKZHU4TE5RQWR3TjZ1UkRXSlNNL1YxL1Bl
+    M21WN0hONXc3RUZkR1d6aEFvR0FiN29HOWhoTGxTL212bEhHVE11egp6SXhtSTBaTisyZGFqNEYy
+    MDZHRGJYaUkwYUtFTHlteVJkcEZYcStzaWpaTzFqdXU4WDhMS0FCOUVaeEtXRzRICjNnQWoxWGFF
+    QXFjNjFkaFkveHRHUDR2OXN3UElmVjR3NGtTUHBWYlFFd3ZIcko4K1V2NjhuOTZTU3dkK1BBNisK
+    OFFwUEVYSXlscXB4UlFyMnN5amhoOTQ9Ci0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0K
\ No newline at end of file
diff --git a/helm-charts/dbrepo/templates/search-service/deployment.yaml b/helm-charts/dbrepo/templates/search-service/deployment.yaml
index c4d24647fa79da0d6c8bd7f03460c29bb0305c34..30a0441b1540019c3875431e2d8d42ede696610f 100644
--- a/helm-charts/dbrepo/templates/search-service/deployment.yaml
+++ b/helm-charts/dbrepo/templates/search-service/deployment.yaml
@@ -4,14 +4,14 @@ apiVersion: apps/v1
 kind: Deployment
 metadata:
   name: search-service
-  namespace: {{ $.Values.namespace }}
+  namespace: {{ .Values.namespace }}
   labels:
     app: search-service
     service: search-service
 spec:
-  replicas: {{ .Values.metadataService.replicaCount }}
+  replicas: {{ .Values.searchService.replicaCount }}
   strategy:
-    type: {{ $.Values.strategyType }}
+    type: {{ .Values.strategyType }}
   selector:
     matchLabels:
       app: search-service
@@ -29,7 +29,7 @@ spec:
         runAsGroup: 1000
       containers:
         - name: search-service
-          image: {{ printf "%s/%s:%s" .Values.searchService.image.registry .Values.searchService.image.repository .Values.searchService.image.tag }}
+          image: {{ .Values.searchService.image.name }}
           imagePullPolicy: {{ .Values.searchService.image.pullPolicy | default "IfNotPresent" }}
           ports:
             - containerPort: 4000
diff --git a/helm-charts/dbrepo/templates/secret.yaml b/helm-charts/dbrepo/templates/secret.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..930f83336c56c7daa1d246681ae2ad66a2f40cc1
--- /dev/null
+++ b/helm-charts/dbrepo/templates/secret.yaml
@@ -0,0 +1,79 @@
+---
+apiVersion: v1
+kind: Secret
+type: kubernetes.io/tls
+metadata:
+  name: dbrepo-ingress-tls-cert
+  namespace: {{ .Values.namespace }}
+data:
+  tls.crt: |
+    LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM0VENDQWNtZ0F3SUJBZ0lRQjJvZzZXSVBG
+    NzVQUEgzS0FkTytMREFOQmdrcWhraUc5dzBCQVFzRkFEQVUKTVJJd0VBWURWUVFERXdsc2IyTmhi
+    R2h2YzNRd0hoY05NalF3TkRBM01UZzFPVE0zV2hjTk1qVXdOREF5TVRnMQpPVE0zV2pBVU1SSXdF
+    QVlEVlFRREV3bHNiMk5oYkdodmMzUXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCCkR3QXdn
+    Z0VLQW9JQkFRRGE1MmxnTFJXYlZ6Sy8wZWFLS0xHaUxtSzl4RlVzczh6cElHZTNaWk5PcVJ5UUlQ
+    NTQKTTNLYXZseGsySGMzaVBsRXdsZkcxY1pFL1ptSWlBQXFyaHQrU0txOVR6Ykk0VzlBWkFyOURD
+    MkVWMEtnUVRRNgpkQ0lSRGhzalZnbDllMTg4SVV4MXRPSmMzcCtTdjVGbEZ1bUY2VG5sUnpxMkdZ
+    Y2tSQmhLTGlJMG1CTGNNNjlYCnJhUWIwU2N3SXJSTktvcUdwd0duejQ0cjFEWG80eXp3Qzh1ZzBQ
+    RWZUTktBeVZBeFU3UjBUeHJodHlCTUhZS2kKYnJnK2JqcVBRS3R2UDl6eXZXUXdhdlpCaFZPVlpY
+    WVN3QVdpdUIwcFVGdnByZW94cWtXbHhOazlpZVRyQSs5egozSjlhbzFSZmw2eFhuQmJYdjBGZlVR
+    SVhwME1VaGtObXZwZDNBZ01CQUFHakx6QXRNQjBHQTFVZEpRUVdNQlFHCkNDc0dBUVVGQndNQkJn
+    Z3JCZ0VGQlFjREFqQU1CZ05WSFJNQkFmOEVBakFBTUEwR0NTcUdTSWIzRFFFQkN3VUEKQTRJQkFR
+    QXAyTWdORHZUZFZEd3Bjam0yQ3laZ01JQ01HUTlYc2hmUzA4eEc0d1NBU1BQY0Q2OHp1MlAvTkJ4
+    dQptcUl3NEptT2UxVkFrb0VmeDRRYXh4ZkwybzlQWTVGVDhRMU9jb3JVdmd3c09TVFdYdS85Q21j
+    ZnA5U25FZlA2Ck5KU2k5T3UrL1VzTzRITGlMem5EdkVYdGZBQUJWdVR3d2tnOTAvMWFXZ0dFT3ZD
+    cUprbHB3VjRPbFZhZ3hIZzkKTXZrd2pkTlNhRWE0Y2pEUlZhMzNPMkJPTDZkdmZZYlJET0tuUkcr
+    d3BSaXBkN05VSW9hWGsrQXJzWU5JMWVOSApnWThjU3ZoL1gyWndTb3BoWGxUbXBoeFhqa3RiVUcz
+    bCtxaHhIRlQ5YWIrTm5aRm1MOWZ5SWNmdEhiQjdKQnpLCnVzdlhKdWdyVUppWWxPQURKRTRZRjdE
+    TGZtT2wKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
+  ca.crt: |
+    LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM0VENDQWNtZ0F3SUJBZ0lRQjJvZzZXSVBG
+    NzVQUEgzS0FkTytMREFOQmdrcWhraUc5dzBCQVFzRkFEQVUKTVJJd0VBWURWUVFERXdsc2IyTmhi
+    R2h2YzNRd0hoY05NalF3TkRBM01UZzFPVE0zV2hjTk1qVXdOREF5TVRnMQpPVE0zV2pBVU1SSXdF
+    QVlEVlFRREV3bHNiMk5oYkdodmMzUXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCCkR3QXdn
+    Z0VLQW9JQkFRRGE1MmxnTFJXYlZ6Sy8wZWFLS0xHaUxtSzl4RlVzczh6cElHZTNaWk5PcVJ5UUlQ
+    NTQKTTNLYXZseGsySGMzaVBsRXdsZkcxY1pFL1ptSWlBQXFyaHQrU0txOVR6Ykk0VzlBWkFyOURD
+    MkVWMEtnUVRRNgpkQ0lSRGhzalZnbDllMTg4SVV4MXRPSmMzcCtTdjVGbEZ1bUY2VG5sUnpxMkdZ
+    Y2tSQmhLTGlJMG1CTGNNNjlYCnJhUWIwU2N3SXJSTktvcUdwd0duejQ0cjFEWG80eXp3Qzh1ZzBQ
+    RWZUTktBeVZBeFU3UjBUeHJodHlCTUhZS2kKYnJnK2JqcVBRS3R2UDl6eXZXUXdhdlpCaFZPVlpY
+    WVN3QVdpdUIwcFVGdnByZW94cWtXbHhOazlpZVRyQSs5egozSjlhbzFSZmw2eFhuQmJYdjBGZlVR
+    SVhwME1VaGtObXZwZDNBZ01CQUFHakx6QXRNQjBHQTFVZEpRUVdNQlFHCkNDc0dBUVVGQndNQkJn
+    Z3JCZ0VGQlFjREFqQU1CZ05WSFJNQkFmOEVBakFBTUEwR0NTcUdTSWIzRFFFQkN3VUEKQTRJQkFR
+    QXAyTWdORHZUZFZEd3Bjam0yQ3laZ01JQ01HUTlYc2hmUzA4eEc0d1NBU1BQY0Q2OHp1MlAvTkJ4
+    dQptcUl3NEptT2UxVkFrb0VmeDRRYXh4ZkwybzlQWTVGVDhRMU9jb3JVdmd3c09TVFdYdS85Q21j
+    ZnA5U25FZlA2Ck5KU2k5T3UrL1VzTzRITGlMem5EdkVYdGZBQUJWdVR3d2tnOTAvMWFXZ0dFT3ZD
+    cUprbHB3VjRPbFZhZ3hIZzkKTXZrd2pkTlNhRWE0Y2pEUlZhMzNPMkJPTDZkdmZZYlJET0tuUkcr
+    d3BSaXBkN05VSW9hWGsrQXJzWU5JMWVOSApnWThjU3ZoL1gyWndTb3BoWGxUbXBoeFhqa3RiVUcz
+    bCtxaHhIRlQ5YWIrTm5aRm1MOWZ5SWNmdEhiQjdKQnpLCnVzdlhKdWdyVUppWWxPQURKRTRZRjdE
+    TGZtT2wKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
+  tls.key: |
+    LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUV2UUlCQURBTkJna3Foa2lHOXcwQkFRRUZB
+    QVNDQktjd2dnU2pBZ0VBQW9JQkFRRGE1MmxnTFJXYlZ6Sy8KMGVhS0tMR2lMbUs5eEZVc3M4enBJ
+    R2UzWlpOT3FSeVFJUDU0TTNLYXZseGsySGMzaVBsRXdsZkcxY1pFL1ptSQppQUFxcmh0K1NLcTlU
+    emJJNFc5QVpBcjlEQzJFVjBLZ1FUUTZkQ0lSRGhzalZnbDllMTg4SVV4MXRPSmMzcCtTCnY1RmxG
+    dW1GNlRubFJ6cTJHWWNrUkJoS0xpSTBtQkxjTTY5WHJhUWIwU2N3SXJSTktvcUdwd0duejQ0cjFE
+    WG8KNHl6d0M4dWcwUEVmVE5LQXlWQXhVN1IwVHhyaHR5Qk1IWUtpYnJnK2JqcVBRS3R2UDl6eXZX
+    UXdhdlpCaFZPVgpaWFlTd0FXaXVCMHBVRnZwcmVveHFrV2x4Tms5aWVUckErOXozSjlhbzFSZmw2
+    eFhuQmJYdjBGZlVRSVhwME1VCmhrTm12cGQzQWdNQkFBRUNnZ0VCQUxzR2hmQ0c5SFB4RDBuMkV3
+    c3RjMzhHTkpTL3ZxbmZ3STNaZ3VPZEpEdEwKbnp6QkE4azg0NGkwWllvL3E3UEdFbnFkdEpNTUtF
+    YmZpU0t1Vjc0ZlhSd0xCOTJRWlZWQnptUnNWVHNZQVhlVgplallqSDNWbHJZbDJ6TmJtOWxyQVlv
+    Q2tUb2d1a0V3YVpLbmpoRnlqTThlV21VRjhGdnhvV1I4eUVyS21NZEZPCkczS281VVE5dml2QVQy
+    RGRTcitVc1JqRG9RMDFIY3hlTEw3Rk1XVFFVQ3FndkpVUmZjSlczOTROTHp3RkVjZXIKR25vd3Vh
+    bXpvempaZ013cCsyZzIzanBUSG5pMW05amt5SHdFU1ZMc2N6YzVJSUtrZkl0Si9vS0NlZGxMMDg3
+    dgpybG1xNkZsU2I4Y1lLYWlaOGVyM0dVYzJiM1plWXNsT0JYQlowcTZUTmdFQ2dZRUErditvUCtF
+    V2FGNkFBTHdwCkdEMlpJbXpKT0VzTnJpdzIxMmIwK0RPdWY1Y1Q5QnFGTFVQNDJmTGlzVHJQTDFX
+    MTd4TUcxTmxKWjRGSzZ4b3YKV25nWWNZMjBPaTdwQ2N4cDJLVDBnNFo4YTBDVjRFQUVVVnJPcm1Z
+    NFMyK0dsZ3h4ckJWV1h5TTl2NXZQaTdWNwpRa055VFJXYUtTR2pIT2d1NjlzRVNwbnNLUUVDZ1lF
+    QTMwUUtHbDVabDM0ampzRFdJTXFIWGpXd0w3QmpPSW1pClp3VlcxZUZuVDA2cWlPaTNjcGxPdXY1
+    UWVPemN5RzBOZ1FhaXVYWHQ3amJ0bWFLTDNJNk45Q2Z4Y2dzSkFvK08KM0xDREVKSSt5dXorTXJV
+    cG05RHVMUUNDQnkzYTVoSUREV1lxYk10RDlzSXBHVGNPOU9QQlBBaTZqemJqK3piNQpQcTlkRDkw
+    dmlIY0NnWUFheVVIWlgxb1cxVTd2eFNUVmsyMU9RVEhRTWlKSm5pcFVIb2F5SGtIWEYvWm5MSlZk
+    CjJVMHJaVUpRQzZpa3NvN3g3cVBoL3paWU4zSVpXUGdJdlp4T01nTXoybUhBUy9KWHpuTFJ2bjUw
+    cTdYUzhzSUQKTkordCtQYTFCamZrdDN0Q0ZCemRsbE0ycVpnaW5zR0N0dFB4NmdaRHNYVkkxblo3
+    Y1NvcUUvY2lBUUtCZ0YzOApBbFMvU3UrZXhkRWVGQVdSdkJKSWYzWlR4akRTbjI3R3JKczBXNHpq
+    REo2OWVCdmh0V2E2RDU0WDk0alhmMHZGClExTFc5ZVhGY1pldStUbExPUzZDY2YwVDhDTUgwNWZM
+    SmlFZnJ4YzFWSHg4RHB2dEE1WW1GSlo1RXlDdWpHSmoKazVCZ3NLZDdiRm1VOTlMVzNVMHNUM3hp
+    R3U1eFlkS2xkNE5xRk14WkFvR0FmSHc0eTdPRGpFTG53Sk40eWpxTQpHOEEzdVYreSs4TjI3UjF3
+    aDVNOHk3VDFVQVhNMlo5YTV1UitVdG5GSS84dDBTUVhNQ1BBRGdraWhTdS8wcExUCmJpY2dnMm1p
+    bldJMlNScGZSWHlvK21ia1N3clR6ak53MUs0NnFsTmh3SmJsRy9uU29SanBhVVErbUxWLzVFNWgK
+    WGNNZjZHUFZlNk9PUEVpdVpONnprSmM9Ci0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0K
\ No newline at end of file
diff --git a/helm-charts/dbrepo/templates/ui/deployment.yaml b/helm-charts/dbrepo/templates/ui/deployment.yaml
index 4269189a18bffe8d9eff1a846f5866d8086bb5fe..47a0217ad501de5c2b6a5d2d511911f7cbece75b 100644
--- a/helm-charts/dbrepo/templates/ui/deployment.yaml
+++ b/helm-charts/dbrepo/templates/ui/deployment.yaml
@@ -11,7 +11,7 @@ metadata:
 spec:
   replicas: {{ .Values.ui.replicaCount }}
   strategy:
-    type: {{ $.Values.strategyType }}
+    type: {{ .Values.strategyType }}
   selector:
     matchLabels:
       app: ui
@@ -29,7 +29,7 @@ spec:
         runAsGroup: 1000
       containers:
         - name: ui
-          image: {{ printf "%s/%s:%s" .Values.ui.image.registry .Values.ui.image.repository .Values.ui.image.tag }}
+          image: {{ .Values.ui.image.name }}
           imagePullPolicy: {{ .Values.ui.image.pullPolicy | default "IfNotPresent" }}
           ports:
             - containerPort: 3000
diff --git a/helm-charts/dbrepo/values.yaml b/helm-charts/dbrepo/values.yaml
index 0bdc219f286fb6e6d56335077bc6e4a36387ff2f..6693f49e68d81a03098ccb80ec28020859a5f198 100644
--- a/helm-charts/dbrepo/values.yaml
+++ b/helm-charts/dbrepo/values.yaml
@@ -1,6 +1,6 @@
-namespace: ""
+namespace: dbrepo
 
-hostname: ""
+hostname: localhost
 
 strategyType: RollingUpdate
 
@@ -32,8 +32,7 @@ metadataDb:
   persistence:
     enabled: false
     size: 10Gi
-    storageClass: default
-  replicaCount: 3 # uneven 3,5,7
+  replicaCount: 1 # uneven 3,5,7
 
 authService:
   fullnameOverride: auth-service
@@ -69,7 +68,7 @@ authService:
   extraVolumeMounts:
     - name: config-map
       mountPath: /opt/bitnami/keycloak/data/import
-  replicaCount: 2
+  replicaCount: 1
 
 authDb:
   fullnameOverride: auth-db
@@ -94,7 +93,6 @@ authDb:
   persistence:
     enabled: false
     size: 10Gi
-    storageClass: default
 
 dataDb:
   fullnameOverride: data-db
@@ -112,8 +110,8 @@ dataDb:
       password: mariabackup
   sidecars:
     - name: sidecar
-      image: s210.dl.hpc.tuwien.ac.at/dbrepo/data-db-sidecar:1.4.1
-      imagePullPolicy: Always
+      image: dbrepo-data-db-sidecar:latest
+      imagePullPolicy: Never
       securityContext:
         runAsUser: 1001
         runAsGroup: 1001
@@ -152,9 +150,7 @@ dataDb:
   persistence:
     enabled: false
     size: 10Gi
-    storageClass: default
-    sharedStorageClass: default
-  replicaCount: 3 # uneven
+  replicaCount: 1 # uneven
 
 searchdb:
   fullnameOverride: search-db
@@ -237,8 +233,8 @@ searchDbDashboard:
   opensearchHosts: http://search-db:9200
   extraInitContainers:
     - name: init
-      image: s210.dl.hpc.tuwien.ac.at/dbrepo/search-db-init:1.4.1
-      imagePullPolicy: Always
+      image: dbrepo-search-db-init:latest
+      imagePullPolicy: Never
       env:
         - name: OPENSEARCH_HOST
           value: http://search-db:9200
@@ -330,29 +326,24 @@ brokerService:
   persistence:
     enabled: false
     size: 5Gi
-    storageClass: default
   service:
     type: ClusterIP
     # loadBalancerIP:
-  replicaCount: 3
+  replicaCount: 1
 
 analyseService:
   enabled: true
   image:
-    registry: s210.dl.hpc.tuwien.ac.at
-    repository: dbrepo/analyse-service
-    tag: "1.4.1"
-    pullPolicy: Always
+    name: dbrepo-analyse-service:latest
+    pullPolicy: Never
     debug: false
-  replicaCount: 2
+  replicaCount: 1
 
 metadataService:
   enabled: true
   image:
-    registry: s210.dl.hpc.tuwien.ac.at
-    repository: dbrepo/metadata-service
-    tag: "1.4.1"
-    pullPolicy: Always
+    name: dbrepo-metadata-service:latest
+    pullPolicy: Never
     debug: false
   adminEmail: noreply@example.com
   authService:
@@ -370,39 +361,35 @@ metadataService:
     mirror: 60
     obtainMetadata: 60
     deleteStaleQueries: 60
-  replicaCount: 2
+  replicaCount: 1
 
 dataService:
   enabled: true
   image:
-    registry: s210.dl.hpc.tuwien.ac.at
-    repository: dbrepo/data-service
-    tag: "1.4.1"
-    pullPolicy: Always
+    name: dbrepo-data-service:latest
+    pullPolicy: Never
     debug: false
   jwt:
     pubkey: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqqnHQ2BWWW9vDNLRCcxD++xZg/16oqMo/c1l+lcFEjjAIJjJp/HqrPYU/U9GvquGE6PbVFtTzW1KcKawOW+FJNOA3CGo8Q1TFEfz43B8rZpKsFbJKvQGVv1Z4HaKPvLUm7iMm8Hv91cLduuoWx6Q3DPe2vg13GKKEZe7UFghF+0T9u8EKzA/XqQ0OiICmsmYPbwvf9N3bCKsB/Y10EYmZRb8IhCoV9mmO5TxgWgiuNeCTtNCv2ePYqL/U0WvyGFW0reasIK8eg3KrAUj8DpyOgPOVBn3lBGf+3KFSYi+0bwZbJZWqbC/Xlk20Go1YfeJPRIt7ImxD27R/lNjgDO/MwIDAQAB"
   consumerConcurrentMin: 1
   consumerConcurrentMax: 5
   requeueRejected: false
-  replicaCount: 2
+  replicaCount: 1
 
 searchService:
   enabled: true
   image:
-    registry: s210.dl.hpc.tuwien.ac.at
-    repository: dbrepo/search-service
-    tag: "1.4.1"
-    pullPolicy: Always
+    name: dbrepo-search-service:latest
+    pullPolicy: Never
     debug: false
-  replicaCount: 2
+  replicaCount: 1
 
 storageservice:
   master:
     enabled: true
   filer:
     enabled: true
-    replicas: 2
+    replicas: 1
     enablePVC: false
     storage: 25Gi
     s3:
@@ -414,7 +401,7 @@ storageservice:
       existingConfigSecret: seaweedfs-s3-secret
   volume:
     enabled: true
-    replicas: 2
+    replicas: 1
   s3:
     enabled: true
     replicas: 2
@@ -463,10 +450,9 @@ logservice:
 ui:
   enabled: true
   image:
-    registry: s210.dl.hpc.tuwien.ac.at
-    repository: dbrepo/ui
-    tag: "1.4.1"
-    pullPolicy: Always
+    name: dbrepo-ui:latest
+    pullPolicy: Never
+    debug: false
   public:
     api:
       client: http://example.com
@@ -489,7 +475,7 @@ ui:
     doi:
       enabled: false
       endpoint: https://doi.org
-  replicaCount: 2
+  replicaCount: 1
   extraVolumes: [ ]
   #  - name: images-map
   #    configMap:
@@ -500,115 +486,22 @@ ui:
   #    subPath: logo.svg
 
 ingress:
-  enabled: false
-  data:
-    - name: ingress
-      annotations:
-        cert-manager.io/cluster-issuer: letsencrypt-cluster-issuer
-      hosts:
-        - paths:
-            - path: /api/analyse
-              pathType: Prefix
-              serviceName: analyse-service
-              portNumber: 80
-            - path: /api/search
-              pathType: Prefix
-              serviceName: search-service
-              portNumber: 80
-            - path: /api
-              pathType: Prefix
-              serviceName: metadata-service
-              portNumber: 80
-            - path: /
-              pathType: Prefix
-              serviceName: ui
-              portNumber: 80
-      tls:
-        - secretName: dbrepo-ingress-tls-cert
-    - name: ingress-upload
-      annotations:
-        cert-manager.io/cluster-issuer: letsencrypt-cluster-issuer
-        nginx.ingress.kubernetes.io/proxy-body-size: 2G
-      hosts:
-        - paths:
-            - path: /api/upload
-              pathType: Prefix
-              serviceName: upload-service
-              portNumber: 80
-      tls:
-        - secretName: dbrepo-ingress-tls-cert
-    - name: ingress-secure
-      annotations:
-        cert-manager.io/cluster-issuer: letsencrypt-cluster-issuer
-        nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
-        nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
-      hosts:
-        - paths:
-            - path: /admin/dashboard
-              pathType: Prefix
-              serviceName: search-db-dashboard
-              portNumber: 5601
-      tls:
-        - secretName: dbrepo-ingress-tls-cert
-    - name: ingress-api
-      annotations:
-        cert-manager.io/cluster-issuer: letsencrypt-cluster-issuer
-        nginx.ingress.kubernetes.io/use-regex: "true"
-        nginx.ingress.kubernetes.io/rewrite-target: /api/$1
-      hosts:
-        - paths:
-            - path: /api/broker/(.*)
-              pathType: ImplementationSpecific
-              serviceName: broker-service
-              portNumber: 15672
-      tls:
-        - secretName: dbrepo-ingress-tls-cert
-    - name: ingress-root
-      annotations:
-        cert-manager.io/cluster-issuer: letsencrypt-cluster-issuer
-        nginx.ingress.kubernetes.io/use-regex: "true"
-        nginx.ingress.kubernetes.io/rewrite-target: /$1
-      hosts:
-        - paths:
-            - path: /admin/broker/(.*)
-              pathType: ImplementationSpecific
-              serviceName: broker-service
-              portNumber: 15672
-            - path: /admin/storage
-              pathType: ImplementationSpecific
-              serviceName: storageservice-s3
-              portNumber: 9000
-      tls:
-        - secretName: dbrepo-ingress-tls-cert
-    - name: ingress-root-secure
-      annotations:
-        cert-manager.io/cluster-issuer: letsencrypt-cluster-issuer
-        nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
-        nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
-        nginx.ingress.kubernetes.io/use-regex: "true"
-        nginx.ingress.kubernetes.io/rewrite-target: /$1
-      hosts:
-        - paths:
-            - path: /api/auth/(.*)
-              pathType: ImplementationSpecific
-              serviceName: auth-service
-              portNumber: 443
-            - path: /retrieve/(.*)
-              pathType: ImplementationSpecific
-              serviceName: search-db
-              portNumber: 9200
-      tls:
-        - secretName: dbrepo-ingress-tls-cert
-    - name: ingress-pid
-      annotations:
-        cert-manager.io/cluster-issuer: letsencrypt-cluster-issuer
-        nginx.ingress.kubernetes.io/use-regex: "true"
-        nginx.ingress.kubernetes.io/rewrite-target: /api/pid/$1
-      hosts:
-        - paths:
-            - path: /pid/(.*)
-              pathType: ImplementationSpecific
-              serviceName: metadata-service
-              portNumber: 80
-      tls:
-        - secretName: dbrepo-ingress-tls-cert
+  enabled: true
+  className: nginx
+  annotations:
+    basic:
+      cert-manager.io/cluster-issuer: letsencrypt-cluster-issuer
+    secure:
+      nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
+      nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
+    upload:
+      nginx.ingress.kubernetes.io/proxy-body-size: 2G
+    rewriteApi:
+      nginx.ingress.kubernetes.io/use-regex: "true"
+      nginx.ingress.kubernetes.io/rewrite-target: /api/$1
+    rewriteRoot:
+      nginx.ingress.kubernetes.io/use-regex: "true"
+      nginx.ingress.kubernetes.io/rewrite-target: /$1
+    rewritePid:
+      nginx.ingress.kubernetes.io/use-regex: "true"
+      nginx.ingress.kubernetes.io/rewrite-target: /api/pid/$1
diff --git a/mweise.pub b/mweise.pub
new file mode 100644
index 0000000000000000000000000000000000000000..2f5df75ff68baccd821674c4e5b0f58b0f2007b8
--- /dev/null
+++ b/mweise.pub
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC/X32mLb7EfwTKbpJmW2BN6ouGLYUZnzL+PY/9RpDZn60UMZ3awRzHQOIQj92KvH0vegkgfZvxCcDQN1vOQP4NbfN0hQFTHOBElGQMrl/Lwicw896js+OUOqPjKUMP35jlZSKvheLd6MPbmXyJpW4gXrEC7NOtswLTBjDDPV6ypyFngjA78vlVE4ZPjKN09eoBbhuvQunJSPaTBxnBexFF5LRfvPC8cITMzjjO/tBHsRUFJ7vy+TCPBTM5YsF257aZTMaG3RvDplmYKwJ8WLWr3eVbyO/LUelXaUjDfJ3z7B06m0dVbEXX/oHq3hZNXmJdovKefeOygZX8Rf62M9h2oCE2LxfyvA+R9rDu5oLqrzTLolWVGTM6AmEj5HtSbqO0WDhpy8a67z6qPR0HoCXVsIYtKrzNAqB/u7OWAsy285wfDpquouLGbEETUFUJmMOba9cTSYMbEmWksa/KckbCPnx4qRstL2lDENylT3WHuhbIx0zv4TVo4/gHJGuOYuE= mweise@medusa