You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streampipes.apache.org by ri...@apache.org on 2023/02/02 16:01:37 UTC

[streampipes] 01/01: Add more configuration options to helm charts (#1207)

This is an automated email from the ASF dual-hosted git repository.

riemer pushed a commit to branch 1207-improve-helm-charts
in repository https://gitbox.apache.org/repos/asf/streampipes.git

commit 97f7a5881ae2049a5cec2156443a4b685f15db9d
Author: Dominik Riemer <do...@gmail.com>
AuthorDate: Thu Feb 2 17:01:17 2023 +0100

    Add more configuration options to helm charts (#1207)
---
 .../k8s/templates/core/backend-deployment.yaml     | 19 +++----
 installer/k8s/templates/core/backend-pv-pvc.yaml   | 42 ---------------
 .../backend-pvc.yaml}                              | 22 ++++----
 installer/k8s/templates/core/backend-service.yaml  |  6 +--
 ...nt.yaml => extensions-all-iiot-deployment.yaml} | 10 ++--
 ...rvice.yaml => extensions-all-iiot-service.yaml} |  6 +--
 .../pipeline-elements-all-flink-deployment.yaml    | 37 --------------
 .../external/consul/consul-deployment.yaml         | 16 +++---
 .../templates/external/consul/consul-pv-pvc.yaml   | 22 ++------
 .../templates/external/consul/consul-service.yaml  |  6 +--
 .../external/couchdb/couchdb-deployment.yaml       | 16 +++---
 .../templates/external/couchdb/couchdb-pv-pvc.yaml | 22 ++------
 .../external/couchdb/couchdb-service.yaml          |  6 +--
 .../external/flink/jobmanager-deployment.yaml      | 46 -----------------
 .../external/flink/jobmanager-service.yaml         | 34 -------------
 .../external/flink/taskmanager-deployment.yaml     | 43 ----------------
 .../external/influxdb/influxdb-deployment.yaml     | 34 ++++++-------
 .../templates/external/influxdb/influxdb-pvc.yaml  | 20 ++------
 .../external/influxdb/influxdb-service.yaml        |  4 +-
 .../templates/external/influxdb/influxdb2-pvc.yaml | 21 ++------
 .../templates/external/nats/nats-deployment.yaml   |  8 +--
 installer/k8s/values.yaml                          | 59 +++++++++++++++-------
 22 files changed, 128 insertions(+), 371 deletions(-)

diff --git a/installer/k8s/templates/core/backend-deployment.yaml b/installer/k8s/templates/core/backend-deployment.yaml
index 8bd00c891..e8745c440 100644
--- a/installer/k8s/templates/core/backend-deployment.yaml
+++ b/installer/k8s/templates/core/backend-deployment.yaml
@@ -16,30 +16,27 @@
 apiVersion: apps/v1
 kind: Deployment
 metadata:
-  name: backend
+  name: {{ .Values.streampipes.core.appName }}
 spec:
   selector:
     matchLabels:
-      app: backend
+      app: {{ .Values.streampipes.core.appName }}
   replicas: 1
   template:
     metadata:
       labels:
-        app: backend
+        app: {{ .Values.streampipes.core.appName }}
     spec:
       hostAliases:
       - ip: "127.0.0.1"
         hostnames:
         - "backend"
       volumes:
-        - name: backend-pv
+        - name: {{ .Values.streampipes.core.persistence.pvName }}
           persistentVolumeClaim:
-            claimName: backend-pvc
-        # - name: files-pv
-        #   persistentVolumeClaim:
-        #     claimName: files-pvc        
+            claimName: {{ .Values.streampipes.core.persistence.claimName }}
       containers:
-        - name: backend
+        - name: {{ .Values.streampipes.core.appName }}
           image: {{ .Values.streampipes.registry }}/backend:{{ .Values.streampipes.version }}
           imagePullPolicy: {{ .Values.pullPolicy }}
           env:
@@ -53,6 +50,4 @@ spec:
             - containerPort: 8030
           volumeMounts:
             - mountPath: "/root/.streampipes"
-              name: backend-pv
-            # - mountPath: "/spImages"
-            #   name: files-pv
+              name: {{ .Values.streampipes.core.persistence.pvName }}
diff --git a/installer/k8s/templates/core/backend-pv-pvc.yaml b/installer/k8s/templates/core/backend-pv-pvc.yaml
deleted file mode 100644
index 724b87f46..000000000
--- a/installer/k8s/templates/core/backend-pv-pvc.yaml
+++ /dev/null
@@ -1,42 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-apiVersion: v1
-kind: PersistentVolume
-metadata:
-  name: backend-pv
-spec:
-  storageClassName: local-storage-backend
-  capacity:
-    storage: 50Mi
-  accessModes:
-    - {{ .Values.persistentVolumeAccessModes }}
-  persistentVolumeReclaimPolicy: {{ .Values.persistentVolumeReclaimPolicy }}
-  hostPath:
-    path: {{ .Values.hostPath }}/backend
----
-apiVersion: v1
-kind: PersistentVolumeClaim
-metadata:
-  labels:
-    app: backend
-  name: backend-pvc
-spec:
-  storageClassName: local-storage-backend
-  accessModes:
-    - {{ .Values.persistentVolumeAccessModes }}
-  resources:
-    requests:
-      storage: 50Mi
\ No newline at end of file
diff --git a/installer/k8s/templates/extensions/pipeline-elements/pipeline-elements-all-flink-service.yaml b/installer/k8s/templates/core/backend-pvc.yaml
similarity index 71%
rename from installer/k8s/templates/extensions/pipeline-elements/pipeline-elements-all-flink-service.yaml
rename to installer/k8s/templates/core/backend-pvc.yaml
index 18295dfb8..43ccf61fc 100644
--- a/installer/k8s/templates/extensions/pipeline-elements/pipeline-elements-all-flink-service.yaml
+++ b/installer/k8s/templates/core/backend-pvc.yaml
@@ -13,19 +13,17 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-{{- if (eq .Values.deployment "full") }}
+
 apiVersion: v1
-kind: Service
+kind: PersistentVolumeClaim
 metadata:
-  name: pipeline-elements-all-flink
   labels:
-    name: pipeline-elements-all-flink
+    app: {{ .Values.streampipes.core.appName }}
+  name: {{ .Values.streampipes.core.persistence.claimName }}
 spec:
-  selector:
-    app: pipeline-elements-all-flink
-  ports:
-    - name: main
-      protocol: TCP
-      port: 8090
-      targetPort: 8090
-{{- end }}
+  storageClassName: {{ .Values.streampipes.core.persistence.storageClassName }}
+  accessModes:
+    - {{ .Values.persistentVolumeAccessModes }}
+  resources:
+    requests:
+      storage: 50Mi
diff --git a/installer/k8s/templates/core/backend-service.yaml b/installer/k8s/templates/core/backend-service.yaml
index 24dc03c66..133dde085 100644
--- a/installer/k8s/templates/core/backend-service.yaml
+++ b/installer/k8s/templates/core/backend-service.yaml
@@ -16,12 +16,12 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: backend
+  name: {{ .Values.streampipes.core.appName }}
 spec:
   selector:
-    app: backend
+    app: {{ .Values.streampipes.core.appName }}
   ports:
     - name: main
       protocol: TCP
       port: 8030
-      targetPort: 8030
\ No newline at end of file
+      targetPort: 8030
diff --git a/installer/k8s/templates/extensions/pipeline-elements/extensions-all-jvm-deployment.yaml b/installer/k8s/templates/extensions/pipeline-elements/extensions-all-iiot-deployment.yaml
similarity index 86%
rename from installer/k8s/templates/extensions/pipeline-elements/extensions-all-jvm-deployment.yaml
rename to installer/k8s/templates/extensions/pipeline-elements/extensions-all-iiot-deployment.yaml
index 4edcdf554..318e3be10 100644
--- a/installer/k8s/templates/extensions/pipeline-elements/extensions-all-jvm-deployment.yaml
+++ b/installer/k8s/templates/extensions/pipeline-elements/extensions-all-iiot-deployment.yaml
@@ -16,20 +16,20 @@
 apiVersion: apps/v1
 kind: Deployment
 metadata:
-  name: extensions-all-jvm
+  name: extensions-all-iiot
 spec:
   selector:
     matchLabels:
-      app: extensions-all-jvm
+      app: extensions-all-iiot
   replicas: 1
   template:
     metadata:
       labels:
-        app: extensions-all-jvm
+        app: extensions-all-iiot
     spec:
       containers:
-        - name: extensions-all-jvm
-          image: {{ .Values.streampipes.registry }}/extensions-all-jvm:{{ .Values.streampipes.version }}
+        - name: extensions-all-iiot
+          image: {{ .Values.streampipes.registry }}/extensions-all-iiot:{{ .Values.streampipes.version }}
           imagePullPolicy: {{ .Values.pullPolicy }}
           ports:
             - containerPort: 8090
diff --git a/installer/k8s/templates/extensions/pipeline-elements/extensions-all-jvm-service.yaml b/installer/k8s/templates/extensions/pipeline-elements/extensions-all-iiot-service.yaml
similarity index 91%
rename from installer/k8s/templates/extensions/pipeline-elements/extensions-all-jvm-service.yaml
rename to installer/k8s/templates/extensions/pipeline-elements/extensions-all-iiot-service.yaml
index 8a3a36ad0..e87874625 100644
--- a/installer/k8s/templates/extensions/pipeline-elements/extensions-all-jvm-service.yaml
+++ b/installer/k8s/templates/extensions/pipeline-elements/extensions-all-iiot-service.yaml
@@ -16,12 +16,12 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: extensions-all-jvm
+  name: extensions-all-iiot
   labels:
-    name: extensions-all-jvm
+    name: extensions-all-iiot
 spec:
   selector:
-    app: extensions-all-jvm
+    app: extensions-all-iiot
   ports:
     - name: main
       protocol: TCP
diff --git a/installer/k8s/templates/extensions/pipeline-elements/pipeline-elements-all-flink-deployment.yaml b/installer/k8s/templates/extensions/pipeline-elements/pipeline-elements-all-flink-deployment.yaml
deleted file mode 100644
index c9ab5906b..000000000
--- a/installer/k8s/templates/extensions/pipeline-elements/pipeline-elements-all-flink-deployment.yaml
+++ /dev/null
@@ -1,37 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-{{- if (eq .Values.deployment "full") }}
-apiVersion: apps/v1
-kind: Deployment
-metadata:
-  name: pipeline-elements-all-flink
-spec:
-  selector:
-    matchLabels:
-      app: pipeline-elements-all-flink
-  replicas: 1
-  template:
-    metadata:
-      labels:
-        app: pipeline-elements-all-flink
-    spec:
-      containers:
-        - name: pipeline-elements-all-flink
-          image: {{ .Values.streampipes.registry }}/pipeline-elements-all-flink:{{ .Values.streampipes.version }}
-          imagePullPolicy: {{ .Values.pullPolicy }}
-          ports:
-            - containerPort: 8090
-{{- end }}
diff --git a/installer/k8s/templates/external/consul/consul-deployment.yaml b/installer/k8s/templates/external/consul/consul-deployment.yaml
index 18fd60801..d494e8d58 100644
--- a/installer/k8s/templates/external/consul/consul-deployment.yaml
+++ b/installer/k8s/templates/external/consul/consul-deployment.yaml
@@ -16,24 +16,24 @@
 apiVersion: apps/v1
 kind: Deployment
 metadata:
-  name: consul
+  name: {{ .Values.external.consul.appName }}
 spec:
   selector:
     matchLabels:
-      app: consul
+      app: {{ .Values.external.consul.appName }}
   replicas: 1
   template:
     metadata:
       labels:
-        app: consul
+        app: {{ .Values.external.consul.appName }}
     spec:
       volumes:
-        - name: consul-pv
+        - name: {{ .Values.external.consul.persistence.pvName }}
           persistentVolumeClaim:
-            claimName: consul-pvc
+            claimName: {{ .Values.external.consul.persistence.claimName }}
       containers:
-        - name: consul
-          image: consul:{{ .Values.external.consulVersion }}
+        - name: {{ .Values.external.consul.appName }}
+          image: consul:{{ .Values.external.consul.version }}
           imagePullPolicy: {{ .Values.pullPolicy }}
           command:
             - "/bin/sh"
@@ -60,4 +60,4 @@ spec:
             - containerPort: 8600
           volumeMounts:
             - mountPath: "/consul/data"
-              name: consul-pv
+              name: {{ .Values.external.consul.persistence.pvName }}
diff --git a/installer/k8s/templates/external/consul/consul-pv-pvc.yaml b/installer/k8s/templates/external/consul/consul-pv-pvc.yaml
index 02cba151d..34885196f 100644
--- a/installer/k8s/templates/external/consul/consul-pv-pvc.yaml
+++ b/installer/k8s/templates/external/consul/consul-pv-pvc.yaml
@@ -13,30 +13,16 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-apiVersion: v1
-kind: PersistentVolume
-metadata:
-  name: consul-pv
-spec:
-  storageClassName: local-storage-consul
-  capacity:
-    storage: 20M
-  accessModes:
-    - {{ .Values.persistentVolumeAccessModes }}
-  persistentVolumeReclaimPolicy: {{ .Values.persistentVolumeReclaimPolicy }}
-  hostPath:
-    path: {{ .Values.hostPath }}/consul
----
 apiVersion: v1
 kind: PersistentVolumeClaim
 metadata:
   labels:
-    app: consul
-  name: consul-pvc
+    app: {{ .Values.external.consul.appName }}
+  name: {{ .Values.external.consul.persistence.claimName }}
 spec:
-  storageClassName: local-storage-consul
+  storageClassName: {{ .Values.external.consul.persistence.storageClassName }}
   accessModes:
     - {{ .Values.persistentVolumeAccessModes }}
   resources:
     requests:
-      storage: 20M
\ No newline at end of file
+      storage: 20M
diff --git a/installer/k8s/templates/external/consul/consul-service.yaml b/installer/k8s/templates/external/consul/consul-service.yaml
index 43ff32cba..a14104a0c 100644
--- a/installer/k8s/templates/external/consul/consul-service.yaml
+++ b/installer/k8s/templates/external/consul/consul-service.yaml
@@ -16,10 +16,10 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: consul
+  name: {{ .Values.external.consul.appName }}
 spec:
   selector:
-    app: consul
+    app: {{ .Values.external.consul.appName }}
   ports:
     - name: main
       protocol: TCP
@@ -28,4 +28,4 @@ spec:
     - name: test
       protocol: TCP
       port: 8600
-      targetPort: 8600
\ No newline at end of file
+      targetPort: 8600
diff --git a/installer/k8s/templates/external/couchdb/couchdb-deployment.yaml b/installer/k8s/templates/external/couchdb/couchdb-deployment.yaml
index 368b44ed2..6729cc3a3 100644
--- a/installer/k8s/templates/external/couchdb/couchdb-deployment.yaml
+++ b/installer/k8s/templates/external/couchdb/couchdb-deployment.yaml
@@ -16,24 +16,24 @@
 apiVersion: apps/v1
 kind: Deployment
 metadata:
-  name: couchdb
+  name: {{ .Values.external.couchdb.appName }}
 spec:
   selector:
     matchLabels:
-      app: couchdb
+      app: {{ .Values.external.couchdb.appName }}
   replicas: 1
   template:
     metadata:
       labels:
-        app: couchdb
+        app: {{ .Values.external.couchdb.appName }}
     spec:
       volumes:
-        - name: couchdb-pv
+        - name: {{ .Values.external.couchdb.persistence.pvName }}
           persistentVolumeClaim:
-            claimName: couchdb-pvc
+            claimName: {{ .Values.external.couchdb.persistence.claimName }}
       containers:
-        - name: couchdb
-          image: couchdb:{{ .Values.external.couchdbVersion }}
+        - name: {{ .Values.external.couchdb.appName }}
+          image: couchdb:{{ .Values.external.couchdb.version }}
           imagePullPolicy: {{ .Values.pullPolicy }}
           env:
             - name: COUCHDB_USER
@@ -44,4 +44,4 @@ spec:
             - containerPort: 5984
           volumeMounts:
             - mountPath: "/opt/couchdb/data"
-              name: couchdb-pv
+              name: {{ .Values.external.couchdb.persistence.pvName }}
diff --git a/installer/k8s/templates/external/couchdb/couchdb-pv-pvc.yaml b/installer/k8s/templates/external/couchdb/couchdb-pv-pvc.yaml
index 32861e052..3b4152fef 100644
--- a/installer/k8s/templates/external/couchdb/couchdb-pv-pvc.yaml
+++ b/installer/k8s/templates/external/couchdb/couchdb-pv-pvc.yaml
@@ -13,30 +13,16 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-apiVersion: v1
-kind: PersistentVolume
-metadata:
-  name: couchdb-pv
-spec:
-  storageClassName: local-storage-couchdb
-  capacity:
-    storage: 50M
-  accessModes:
-    - {{ .Values.persistentVolumeAccessModes }}
-  persistentVolumeReclaimPolicy: {{ .Values.persistentVolumeReclaimPolicy }}
-  hostPath:
-    path: {{ .Values.hostPath }}/couchdb
----
 apiVersion: v1
 kind: PersistentVolumeClaim
 metadata:
   labels:
-    app: couchdb
-  name: couchdb-pvc
+    app: {{ .Values.external.couchdb.appName }}
+  name: {{ .Values.external.couchdb.persistence.claimName }}
 spec:
-  storageClassName: local-storage-couchdb
+  storageClassName: {{ .Values.external.couchdb.persistence.storageClassName }}
   accessModes:
     - {{ .Values.persistentVolumeAccessModes }}
   resources:
     requests:
-      storage: 50M
\ No newline at end of file
+      storage: 50M
diff --git a/installer/k8s/templates/external/couchdb/couchdb-service.yaml b/installer/k8s/templates/external/couchdb/couchdb-service.yaml
index a5ca14248..3b126c521 100644
--- a/installer/k8s/templates/external/couchdb/couchdb-service.yaml
+++ b/installer/k8s/templates/external/couchdb/couchdb-service.yaml
@@ -16,12 +16,12 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: couchdb
+  name: {{ .Values.external.couchdb.appName }}
 spec:
   selector:
-    app: couchdb
+    app: {{ .Values.external.couchdb.appName }}
   ports:
     - name: main
       protocol: TCP
       port: 5984
-      targetPort: 5984
\ No newline at end of file
+      targetPort: 5984
diff --git a/installer/k8s/templates/external/flink/jobmanager-deployment.yaml b/installer/k8s/templates/external/flink/jobmanager-deployment.yaml
deleted file mode 100644
index e23aec26f..000000000
--- a/installer/k8s/templates/external/flink/jobmanager-deployment.yaml
+++ /dev/null
@@ -1,46 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-{{- if eq .Values.deployment "full" }}
-apiVersion: apps/v1
-kind: Deployment
-metadata:
-  name: jobmanager
-spec:
-  selector:
-    matchLabels:
-      app: jobmanager
-  replicas: 1
-  template:
-    metadata:
-      labels:
-        app: jobmanager
-    spec:
-      containers:
-        - name: jobmanager
-          image: fogsyio/flink:{{ .Values.external.flinkVersion }}
-          imagePullPolicy: {{ .Values.pullPolicy }}
-          args: ["jobmanager"]
-          ports:
-            - containerPort: 8081
-              name: webui
-            - containerPort: 6123
-              name: rpc
-            - containerPort: 6124
-              name: blob-server
-          env:
-            - name: JOB_MANAGER_RPC_ADDRESS
-              value: jobmanager
-{{- end }}
diff --git a/installer/k8s/templates/external/flink/jobmanager-service.yaml b/installer/k8s/templates/external/flink/jobmanager-service.yaml
deleted file mode 100644
index 6c7ec7742..000000000
--- a/installer/k8s/templates/external/flink/jobmanager-service.yaml
+++ /dev/null
@@ -1,34 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-{{- if eq .Values.deployment "full" }}
-apiVersion: v1
-kind: Service
-metadata:
-  name: jobmanager
-spec:
-  selector:
-    app: jobmanager
-  ports:
-    - name: webui
-      port: 8081
-      targetPort: 8081
-    - name: rpc
-      port: 6123
-      targetPort: 6123
-    - name: blob-server
-      port: 6124
-      targetPort: 6124  
-{{- end }}
diff --git a/installer/k8s/templates/external/flink/taskmanager-deployment.yaml b/installer/k8s/templates/external/flink/taskmanager-deployment.yaml
deleted file mode 100644
index d172acf46..000000000
--- a/installer/k8s/templates/external/flink/taskmanager-deployment.yaml
+++ /dev/null
@@ -1,43 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-{{- if eq .Values.deployment "full" }}
-apiVersion: apps/v1
-kind: Deployment
-metadata:
-  name: taskmanager
-spec:
-  selector:
-    matchLabels:
-      app: taskmanager
-  replicas: 1
-  template:
-    metadata:
-      labels:
-        app: taskmanager
-    spec:
-      containers:
-        - name: taskmanager
-          image: fogsyio/flink:{{ .Values.external.flinkVersion }}
-          imagePullPolicy: {{ .Values.pullPolicy }}
-          args: ["taskmanager"]
-          ports:
-            - containerPort: 8099
-          env:
-            - name: TASK_MANAGER_NUMBER_OF_TASK_SLOTS
-              value: "20"
-            - name: JOB_MANAGER_RPC_ADDRESS
-              value: jobmanager
-{{- end }}
diff --git a/installer/k8s/templates/external/influxdb/influxdb-deployment.yaml b/installer/k8s/templates/external/influxdb/influxdb-deployment.yaml
index ffb7da328..e1905c89f 100644
--- a/installer/k8s/templates/external/influxdb/influxdb-deployment.yaml
+++ b/installer/k8s/templates/external/influxdb/influxdb-deployment.yaml
@@ -16,27 +16,27 @@
 apiVersion: apps/v1
 kind: Deployment
 metadata:
-  name: influxdb
+  name: {{ .Values.external.influxdb.appName }}
 spec:
   selector:
     matchLabels:
-      app: influxdb
+      app: {{ .Values.external.influxdb.appName }}
   replicas: 1
   template:
     metadata:
       labels:
-        app: influxdb
+        app: {{ .Values.external.influxdb.appName }}
     spec:
       volumes:
-        - name: influxdb-pv
+        - name: {{ .Values.external.influxdb.persistence.pvNameV1 }}
           persistentVolumeClaim:
-            claimName: influxdb-pvc
-        - name: influxdb2-pv
+            claimName: {{ .Values.external.influxdb.persistence.claimNameV1 }}
+        - name: {{ .Values.external.influxdb.persistence.pvName }}
           persistentVolumeClaim:
-            claimName: influxdb2-pvc
+            claimName: {{ .Values.external.influxdb.persistence.claimName }}
       containers:
-        - name: influxdb
-          image: influxdb:{{ .Values.external.influxdbVersion }}
+        - name: {{ .Values.external.influxdb.appName }}
+          image: influxdb:{{ .Values.external.influxdb.version }}
           imagePullPolicy: {{ .Values.pullPolicy }}
           ports:
             - containerPort: 8083
@@ -50,19 +50,19 @@ spec:
             - name: INFLUXDB_ADMIN_ENABLED
               value: "true"
             - name: DOCKER_INFLUXDB_INIT_USERNAME
-              value: {{ .Values.influxdb.username }}
+              value: {{ .Values.external.influxdb.username }}
             - name: DOCKER_INFLUXDB_INIT_PASSWORD
-              value: {{ .Values.influxdb.password }}
+              value: {{ .Values.external.influxdb.password }}
             - name: DOCKER_INFLUXDB_INIT_ADMIN_TOKEN
-              value: {{ .Values.influxdb.adminToken }}
+              value: {{ .Values.external.influxdb.adminToken }}
             - name: DOCKER_INFLUXDB_INIT_ORG
-              value: {{ .Values.influxdb.initOrg }}
+              value: {{ .Values.external.influxdb.initOrg }}
             - name: DOCKER_INFLUXDB_INIT_BUCKET
-              value: {{ .Values.influxdb.initBucket }}
+              value: {{ .Values.external.influxdb.initBucket }}
             - name: DOCKER_INFLUXDB_INIT_MODE
-              value: {{ .Values.influxdb.initMode }}
+              value: {{ .Values.external.influxdb.initMode }}
           volumeMounts:
             - mountPath: "/var/lib/influxdb"
-              name: influxdb-pv
+              name: {{ .Values.external.influxdb.persistence.pvNameV1 }}
             - mountPath: "/var/lib/influxdb2"
-              name: influxdb2-pv
+              name: {{ .Values.external.influxdb.persistence.pvName }}
diff --git a/installer/k8s/templates/external/influxdb/influxdb-pvc.yaml b/installer/k8s/templates/external/influxdb/influxdb-pvc.yaml
index fbcb64a71..1e6add053 100644
--- a/installer/k8s/templates/external/influxdb/influxdb-pvc.yaml
+++ b/installer/k8s/templates/external/influxdb/influxdb-pvc.yaml
@@ -13,28 +13,14 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-apiVersion: v1
-kind: PersistentVolume
-metadata:
-  name: influx-pv
-spec:
-  storageClassName: local-storage-influx
-  capacity:
-    storage: 250Mi
-  accessModes:
-    - {{ .Values.persistentVolumeAccessModes }}
-  persistentVolumeReclaimPolicy: {{ .Values.persistentVolumeReclaimPolicy }}
-  hostPath:
-    path: {{ .Values.hostPath }}/influxdb
----
 apiVersion: v1
 kind: PersistentVolumeClaim
 metadata:
   labels:
-    app: influxdb
-  name: influxdb-pvc
+    app: {{ .Values.external.influxdb.appName }}
+  name: {{ .Values.external.influxdb.persistence.claimNameV1 }}
 spec:
-  storageClassName: local-storage-influx
+  storageClassName: {{ .Values.external.influxdb.persistence.storageClassName }}
   accessModes:
     - {{ .Values.persistentVolumeAccessModes }}
   resources:
diff --git a/installer/k8s/templates/external/influxdb/influxdb-service.yaml b/installer/k8s/templates/external/influxdb/influxdb-service.yaml
index cfeb4135b..986430f10 100644
--- a/installer/k8s/templates/external/influxdb/influxdb-service.yaml
+++ b/installer/k8s/templates/external/influxdb/influxdb-service.yaml
@@ -16,10 +16,10 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: influxdb
+  name: {{ .Values.external.influxdb.appName }}
 spec:
   selector:
-    app: influxdb
+    app: {{ .Values.external.influxdb.appName }}
   ports:
     - name: main
       protocol: TCP
diff --git a/installer/k8s/templates/external/influxdb/influxdb2-pvc.yaml b/installer/k8s/templates/external/influxdb/influxdb2-pvc.yaml
index 2e71d79d6..dada18938 100644
--- a/installer/k8s/templates/external/influxdb/influxdb2-pvc.yaml
+++ b/installer/k8s/templates/external/influxdb/influxdb2-pvc.yaml
@@ -13,28 +13,15 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-apiVersion: v1
-kind: PersistentVolume
-metadata:
-  name: influx2-pv
-spec:
-  storageClassName: local-storage-influx2
-  capacity:
-    storage: 250Mi
-  accessModes:
-    - {{ .Values.persistentVolumeAccessModes }}
-  persistentVolumeReclaimPolicy: {{ .Values.persistentVolumeReclaimPolicy }}
-  hostPath:
-    path: {{ .Values.hostPath }}/influxdb2
----
+
 apiVersion: v1
 kind: PersistentVolumeClaim
 metadata:
   labels:
-    app: influxdb
-  name: influxdb2-pvc
+    app: {{ .Values.external.influxdb.appName }}
+  name: {{ .Values.external.influxdb.persistence.claimName }}
 spec:
-  storageClassName: local-storage-influx2
+  storageClassName: {{ .Values.external.influxdb.persistence.storageClassName }}
   accessModes:
     - {{ .Values.persistentVolumeAccessModes }}
   resources:
diff --git a/installer/k8s/templates/external/nats/nats-deployment.yaml b/installer/k8s/templates/external/nats/nats-deployment.yaml
index 7c6860825..4f57e9a03 100644
--- a/installer/k8s/templates/external/nats/nats-deployment.yaml
+++ b/installer/k8s/templates/external/nats/nats-deployment.yaml
@@ -17,23 +17,23 @@
 apiVersion: apps/v1
 kind: Deployment
 metadata:
-  name: nats
+  name: {{ .Values.external.nats.appName }}
 spec:
   selector:
     matchLabels:
-      app: nats
+      app: {{ .Values.external.nats.appName }}
   replicas: 1
   template:
     metadata:
       labels:
-        app: nats
+        app: {{ .Values.external.nats.appName }}
     spec:
       initContainers:
         - name: init-wait-consul
           image: alpine
           command: ["sh", "-c", "for i in $(seq 1 300); do nc -zvw1 consul 8500 && exit 0 || sleep 3; done; exit 1"]
       containers:
-        - name: nats
+        - name: {{ .Values.external.nats.appName }}
           image: nats
           imagePullPolicy: {{ .Values.pullPolicy }}
           ports:
diff --git a/installer/k8s/values.yaml b/installer/k8s/values.yaml
index 6027c1e5a..e7609949b 100644
--- a/installer/k8s/values.yaml
+++ b/installer/k8s/values.yaml
@@ -16,35 +16,56 @@
 # lite or full (default: lite)
 deployment: lite
 preferredBroker: "nats"
-pullPolicy: "IfNotPresent"
+pullPolicy: "Always"
 persistentVolumeReclaimPolicy: "Delete"
 persistentVolumeAccessModes: "ReadWriteOnce"
 
 streampipes:
   version: "0.91.0-SNAPSHOT"
   registry: "apachestreampipes"
+  core:
+    appName: "backend"
+    persistence:
+      storageClassName: ""
+      claimName: "backend-pvc"
+      pvName: "backend-pv"
 
 external:
-  consulVersion: 1.14.3
-  couchdbVersion: 3.3.1
-  flinkVersion: 1.13.5-scala_2.11
+  consul:
+    appName: "consul"
+    version: 1.14.3
+    persistence:
+      storageClassName: ""
+      claimName: "consul-pvc"
+      pvName: "consul-pv"
+  couchdb:
+    appName: "couchdb"
+    version: 3.3.1
+    persistence:
+      storageClassName: ""
+      claimName: "couchdb-pvc"
+      pvName: "couchdb-pv"
+  influxdb:
+    appName: "influxdb"
+    version: 2.6
+    username: "admin"
+    password: "sp-admin"
+    adminToken: "sp-admin"
+    initOrg: "sp"
+    initBucket: "sp"
+    # For database migration in v0.91.0 - set init mode to 'upgrade' to migrate an existing installation
+    initMode: "setup"
+    persistence:
+      storageClassName: ""
+      claimName: "influxdb2-pvc"
+      claimNameV1: "influxdb-pvc"
+      pvName: "influxdb2-pv"
+      pvNameV1: "influxdb-pv"
+  nats:
+    appName: "nats"
+    version:
   kafkaVersion: 2.2.0
   zookeeperVersion: 3.4.13
-  influxdbVersion: 2.6
 
-# For database migration in v0.91.0 - set init mode to 'upgrade' to migrate an existing installation
 
-influxdb:
-  username: "admin"
-  password: "sp-admin"
-  adminToken: "sp-admin"
-  initOrg: "sp"
-  initBucket: "sp"
-  initMode: "setup"
 
-
-
-# NOTE: Local testing only!
-# minikube start --mount-string ${HOME}/streampipes-k8s:/streampipes-k8s --mount --memory=4g --cpus=4
-# Specify minikube directory:
-hostPath: "/streampipes-k8s"