You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwhisk.apache.org by da...@apache.org on 2019/01/16 14:53:19 UTC

[incubator-openwhisk-deploy-kube] branch master updated: Include .Release.Name in all resource names and remove the partial support for using external zookeeper and/or kafka (#405)

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

daisyguo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-openwhisk-deploy-kube.git


The following commit(s) were added to refs/heads/master by this push:
     new 94c40c0  Include .Release.Name in all resource names and remove the partial support for using external zookeeper and/or kafka (#405)
94c40c0 is described below

commit 94c40c086bed4259c1a8fecc59156b74df13a014
Author: David Grove <dg...@users.noreply.github.com>
AuthorDate: Wed Jan 16 09:53:14 2019 -0500

    Include .Release.Name in all resource names and remove the partial support for using external zookeeper and/or kafka (#405)
    
    To allow multiple instances of the Chart to be deployed on the same
    cluster, it is a best practice to include .Release.Name as part of the
    name of all resources defined by the Chart. It now works to deploy
    multiple instances of the Chart on the same cluster (even in the same
    namespace).
    
    Remove the partial support for using external zookeeper and/or kafka
    instances for the OpenWhisk control plane (was oddly using name value
    as the external hostname of the service).
    
    Small improvements in the travis collect-logs script as well.
---
 docs/configurationChoices.md                       |  40 -------
 docs/k8s-ibm-private.md                            |   3 +-
 docs/k8s-ibm-public.md                             |   3 +-
 helm/openwhisk/README.md                           |   2 +-
 helm/openwhisk/templates/NOTES.txt                 |   4 +-
 helm/openwhisk/templates/_helpers.tpl              |  43 +++----
 helm/openwhisk/templates/_invoker-helpers.tpl      |   4 +-
 helm/openwhisk/templates/apigateway-pod.yaml       |  12 +-
 helm/openwhisk/templates/apigateway-svc.yaml       |   6 +-
 helm/openwhisk/templates/controller-pod.yaml       |  24 ++--
 helm/openwhisk/templates/controller-svc.yaml       |   6 +-
 .../{ow-core-rolebind.yaml => core-rolebind.yaml}  |   4 +-
 .../{ow-core-svcacct.yaml => core-svcacct.yaml}    |   2 +-
 helm/openwhisk/templates/couchdb-init-cm.yaml      |   2 +-
 helm/openwhisk/templates/couchdb-init-job.yaml     |  24 ++--
 helm/openwhisk/templates/couchdb-pod.yaml          |  18 +--
 helm/openwhisk/templates/couchdb-pvc.yaml          |   2 +-
 helm/openwhisk/templates/couchdb-svc.yaml          |   6 +-
 helm/openwhisk/templates/frontdoor-ingress.yaml    |  14 +--
 helm/openwhisk/templates/install-packages-cm.yaml  |   2 +-
 helm/openwhisk/templates/install-packages-job.yaml |  28 ++---
 helm/openwhisk/templates/invoker-agent-pod.yaml    |  12 +-
 helm/openwhisk/templates/invoker-cm.yaml           |   2 +-
 helm/openwhisk/templates/invoker-pod.yaml          |  24 ++--
 helm/openwhisk/templates/invoker-role.yaml         |   2 +-
 helm/openwhisk/templates/invoker-rolebind.yaml     |   6 +-
 helm/openwhisk/templates/invoker-svcacct.yaml      |   2 +-
 helm/openwhisk/templates/kafka-pod.yaml            |  20 ++--
 helm/openwhisk/templates/kafka-pvc.yaml            |   4 +-
 helm/openwhisk/templates/kafka-svc.yaml            |   8 +-
 helm/openwhisk/templates/nginx-cm.yaml             |   2 +-
 helm/openwhisk/templates/nginx-pod.yaml            |  16 +--
 helm/openwhisk/templates/nginx-secret.yaml         |   2 +-
 helm/openwhisk/templates/nginx-svc.yaml            |   6 +-
 helm/openwhisk/templates/ow-db-cm.yaml             |   2 +-
 helm/openwhisk/templates/ow-db-secret.yaml         |   2 +-
 .../templates/ow-docker-registry-secret.yaml       |   2 +-
 helm/openwhisk/templates/ow-whisk-cm.yaml          |   8 +-
 helm/openwhisk/templates/ow-whisk-secret.yaml      |   2 +-
 helm/openwhisk/templates/provider-alarm-pod.yaml   |  24 ++--
 helm/openwhisk/templates/provider-alarm-pvc.yaml   |   2 +-
 .../openwhisk/templates/provider-cloudant-pod.yaml |  24 ++--
 .../openwhisk/templates/provider-cloudant-pvc.yaml |   2 +-
 helm/openwhisk/templates/provider-kafka-pod.yaml   |  20 ++--
 helm/openwhisk/templates/redis-pod.yaml            |  12 +-
 helm/openwhisk/templates/redis-pvc.yaml            |   2 +-
 helm/openwhisk/templates/redis-svc.yaml            |   6 +-
 .../templates/tests/package-checker-cm.yaml        |   2 +-
 .../templates/tests/package-checker-pod.yaml       |  10 +-
 helm/openwhisk/templates/tests/smoketest-cm.yaml   |   2 +-
 helm/openwhisk/templates/tests/smoketest-pod.yaml  |  10 +-
 helm/openwhisk/templates/tests/systemtest-cm.yaml  |   2 +-
 helm/openwhisk/templates/tests/systemtest-pod.yaml |  10 +-
 helm/openwhisk/templates/zookeeper-cm.yaml         |   6 +-
 helm/openwhisk/templates/zookeeper-pod.yaml        |  36 +++---
 helm/openwhisk/templates/zookeeper-pvc-data.yaml   |   4 +-
 .../openwhisk/templates/zookeeper-pvc-datalog.yaml |   4 +-
 helm/openwhisk/templates/zookeeper-svc.yaml        |   8 +-
 helm/openwhisk/values-metadata.yaml                | 126 ---------------------
 helm/openwhisk/values.yaml                         |  21 ----
 tools/travis/collect-logs.sh                       |  24 ++--
 tools/travis/deploy-chart.sh                       |  12 +-
 62 files changed, 267 insertions(+), 473 deletions(-)

diff --git a/docs/configurationChoices.md b/docs/configurationChoices.md
index e6de1b7..1723171 100644
--- a/docs/configurationChoices.md
+++ b/docs/configurationChoices.md
@@ -119,46 +119,6 @@ db:
   wipeAndInit: false
 ```
 
-### Using external Kafka and Zookeeper services
-
-You may want to use an external Zookeeper or Kafka service.  To disable the kafka and/or zookeeper with this chart, add a stanza like the one below to your `mycluster.yaml`.
-```yaml
-kafka:
-  external: true
-zookeeper:
-  external: true
-```
-
-To add the hostname of a pre-existing kafka and/or zookeeper, define it in `mycluster.yml` like this
-
-```yaml
-kafka:
-  external: true
-  name: < existing kafka service >
-zookeeper:
-  external: true
-  name: < existing zookeeper service >
-
-```
-
-Optionally, if including this chart as a dependency of another chart where kafka and zookeeper services are already defined, disable this chart's kafka and zookeeper as shown above, and then define kafka_host, zookeeper_connect, and zookeeper_zero_host in your parent chart _helpers.tpl. e.g.
-```
-{{/* hostname for kafka */}}
-{{- define "kafka_host" -}}
-{{ template "kafka.serviceName" . }}
-{{- end -}}
-
-{{/* hostname for zookeeper */}}
-{{- define "zookeeper_connect" -}}
-{{ template "zookeeper.serviceName" . }}
-{{- end -}}
-
-{{/* zookeeper_zero_host required by openwhisk readiness check */}}
-{{- define "zookeeper_zero_host" -}}
-{{ template "zookeeper.serviceName" . }}
-{{- end -}}
-```
-
 ### Persistence
 
 Several of the OpenWhisk components that are deployed by the Helm
diff --git a/docs/k8s-ibm-private.md b/docs/k8s-ibm-private.md
index 8fca5d8..b8b341d 100644
--- a/docs/k8s-ibm-private.md
+++ b/docs/k8s-ibm-private.md
@@ -144,9 +144,10 @@ whisk:
       nginx.ingress.kubernetes.io/client-max-body-size: "size=50m"
 
       # Add the request_id, generated by nginx, to the request against the controllers. This id will be used as tid there.
+      # Note that the serviceName includes the argument to --name from the helm deploy command. (owdev in this example)
       # https://console.bluemix.net/docs/containers/cs_annotations.html#proxy-add-headers
       nginx.ingress.kubernetes.io/proxy-add-headers: |
-        serviceName=controller {
+        serviceName=owdev-controller {
           'X-Request-ID' $request_id;
         }
 
diff --git a/docs/k8s-ibm-public.md b/docs/k8s-ibm-public.md
index fe30834..ee6e7b9 100644
--- a/docs/k8s-ibm-public.md
+++ b/docs/k8s-ibm-public.md
@@ -97,9 +97,10 @@ whisk:
       ingress.bluemix.net/client-max-body-size: "size=50m"
 
       # Add the request_id, generated by nginx, to the request against the controllers. This id will be used as tid there.
+      # Note that the serviceName includes the argument to --name from the helm deploy command. (owdev in this example)
       # https://console.bluemix.net/docs/containers/cs_annotations.html#proxy-add-headers
       ingress.bluemix.net/proxy-add-headers: |
-        serviceName=controller {
+        serviceName=owdev-controller {
           'X-Request-ID' $request_id;
         }
 
diff --git a/helm/openwhisk/README.md b/helm/openwhisk/README.md
index 8520a8e..66a9a59 100644
--- a/helm/openwhisk/README.md
+++ b/helm/openwhisk/README.md
@@ -150,7 +150,7 @@ $ helm install [--tls] openwhisk --namespace <my-namespace> --name <my-release>
 
 The command deploys OpenWhisk on the Kubernetes cluster in the default configuration.  The [configuration](#configuration) section lists the parameters that can be configured during installation.
 
-You can use the command ```helm status <my-release> [--tls]``` to get a summary of the various Kubernetes artifacts that make up your OpenWhisk deployment. Once the ```install-packages``` Pod is in the Completed state, your OpenWhisk deployment is ready to be used.
+You can use the command ```helm status <my-release> [--tls]``` to get a summary of the various Kubernetes artifacts that make up your OpenWhisk deployment. Once the ```<my-release>-install-packages``` Pod is in the Completed state, your OpenWhisk deployment is ready to be used.
 
 ### Configuration
 
diff --git a/helm/openwhisk/templates/NOTES.txt b/helm/openwhisk/templates/NOTES.txt
index b2168aa..6b6f5b0 100644
--- a/helm/openwhisk/templates/NOTES.txt
+++ b/helm/openwhisk/templates/NOTES.txt
@@ -9,7 +9,7 @@ The Apache Software Foundation (http://www.apache.org/).
 To configure your wsk cli to connect to it, set the apihost property
 {{- if eq .Values.whisk.ingress.type "LoadBalancer" }}
 by running the command `kubectl get services -o wide` and
-use the hostname of the `EXTERNAL-IP` of the {{ .Values.nginx.name }} service
+use the hostname of the `EXTERNAL-IP` of the {{ .Release.Name }}-nginx service
 and port 443 in the command below:
 
   $ wsk property set --apihost NGINX_SERVICE_EXTERNAL_IP:443
@@ -26,7 +26,7 @@ To learn more about the release, try:
   $ helm status {{ .Release.Name }} [--tls]
   $ helm get {{ .Release.Name }} [--tls]
 
-Once the 'install-packages' Pod is in the Completed state, your OpenWhisk deployment is ready to be used.
+Once the '{{ .Release.Name }}-install-packages' Pod is in the Completed state, your OpenWhisk deployment is ready to be used.
 
 Once the deployment is ready, you can verify it using: 
 
diff --git a/helm/openwhisk/templates/_helpers.tpl b/helm/openwhisk/templates/_helpers.tpl
index 6b26768..37daafa 100644
--- a/helm/openwhisk/templates/_helpers.tpl
+++ b/helm/openwhisk/templates/_helpers.tpl
@@ -20,12 +20,12 @@ app: {{ template "openwhisk.fullname" . }}
 
 {{/* hostname for apigateway */}}
 {{- define "openwhisk.apigw_host" -}}
-{{ .Values.apigw.name }}.{{ .Release.Namespace }}.svc.{{ .Values.k8s.domain }}
+{{ .Release.Name }}-apigateway.{{ .Release.Namespace }}.svc.{{ .Values.k8s.domain }}
 {{- end -}}
 
 {{/* hostname for controller */}}
 {{- define "openwhisk.controller_host" -}}
-{{ .Values.controller.name }}.{{ .Release.Namespace }}.svc.{{ .Values.k8s.domain }}
+{{ .Release.Name }}-controller.{{ .Release.Namespace }}.svc.{{ .Values.k8s.domain }}
 {{- end -}}
 
 {{/* hostname for database */}}
@@ -33,7 +33,7 @@ app: {{ template "openwhisk.fullname" . }}
 {{- if .Values.db.external -}}
 {{ .Values.db.host }}
 {{- else -}}
-{{ .Values.db.name }}.{{ .Release.Namespace }}.svc.{{ .Values.k8s.domain }}
+{{ .Release.Name }}-couchdb.{{ .Release.Namespace }}.svc.{{ .Values.k8s.domain }}
 {{- end -}}
 {{- end -}}
 
@@ -43,37 +43,26 @@ app: {{ template "openwhisk.fullname" . }}
 
 {{/* hostname for kafka */}}
 {{- define "openwhisk.kafka_host" -}}
-{{- if .Values.kafka.external -}}
-{{ .Values.kafka.name }}
-{{- else -}}
-{{ .Values.kafka.name }}.{{ .Release.Namespace }}.svc.{{ .Values.k8s.domain }}
-{{- end -}}
+{{ .Release.Name }}-kafka.{{ .Release.Namespace }}.svc.{{ .Values.k8s.domain }}
 {{- end -}}
 
 {{/* hostname for redis */}}
 {{- define "openwhisk.redis_host" -}}
-{{ .Values.redis.name }}.{{ .Release.Namespace }}.svc.{{ .Values.k8s.domain }}
+{{ .Release.Name }}-redis.{{ .Release.Namespace }}.svc.{{ .Values.k8s.domain }}
 {{- end -}}
 
 {{/* client connection string for zookeeper cluster (server1:port server2:port ... serverN:port)*/}}
 {{- define "openwhisk.zookeeper_connect" -}}
-{{- if .Values.zookeeper.external -}}
-{{ .Values.zookeeper.name }}
-{{- else -}}
-{{- $zkname := .Values.zookeeper.name }}
+{{- $zkname := printf "%s-zookeeper" .Release.Name }}
 {{- $zkport := .Values.zookeeper.port }}
 {{- $kubeDomain := .Values.k8s.domain }}
 {{- range $i, $e := until (int .Values.zookeeper.replicaCount) -}}{{ if ne $i 0 }},{{ end }}{{ $zkname }}-{{ . }}.{{ $zkname }}.{{ $.Release.Namespace }}.svc.{{ $kubeDomain }}:{{ $zkport }}{{ end }}
 {{- end -}}
-{{- end -}}
 
 {{/* host name for server.0 in zookeeper cluster */}}
 {{- define "openwhisk.zookeeper_zero_host" -}}
-{{- if .Values.zookeeper.external -}}
-{{ .Values.zookeeper.name }}
-{{- else -}}
-{{ .Values.zookeeper.name }}-0.{{ .Values.zookeeper.name }}.{{ $.Release.Namespace }}.svc.{{ .Values.k8s.domain }}
-{{- end -}}
+{{- $zkname := printf "%s-zookeeper" .Release.Name }}
+{{ $zkname }}-0.{{ $zkname }}.{{ $.Release.Namespace }}.svc.{{ .Values.k8s.domain }}
 {{- end -}}
 
 
@@ -87,44 +76,44 @@ app: {{ template "openwhisk.fullname" . }}
 - name: "CONFIG_whisk_couchdb_username"
   valueFrom:
     secretKeyRef:
-      name: db.auth
+      name: {{ .Release.Name }}-db.auth
       key: db_username
 - name: "CONFIG_whisk_couchdb_password"
   valueFrom:
     secretKeyRef:
-      name: db.auth
+      name: {{ .Release.Name }}-db.auth
       key: db_password
 - name: "CONFIG_whisk_couchdb_port"
   valueFrom:
     configMapKeyRef:
-      name: db.config
+      name: {{ .Release.Name }}-db.config
       key: db_port
 - name: "CONFIG_whisk_couchdb_protocol"
   valueFrom:
     configMapKeyRef:
-      name: db.config
+      name: {{ .Release.Name }}-db.config
       key: db_protocol
 - name: "CONFIG_whisk_couchdb_host"
   value: {{ include "openwhisk.db_host" . | quote }}
 - name: "CONFIG_whisk_couchdb_provider"
   valueFrom:
     configMapKeyRef:
-      name: db.config
+      name: {{ .Release.Name }}-db.config
       key: db_provider
 - name: "CONFIG_whisk_couchdb_databases_WhiskActivation"
   valueFrom:
     configMapKeyRef:
-      name: db.config
+      name: {{ .Release.Name }}-db.config
       key: db_whisk_activations
 - name: "CONFIG_whisk_couchdb_databases_WhiskEntity"
   valueFrom:
     configMapKeyRef:
-      name: db.config
+      name: {{ .Release.Name }}-db.config
       key: db_whisk_actions
 - name: "CONFIG_whisk_couchdb_databases_WhiskAuth"
   valueFrom:
     configMapKeyRef:
-      name: db.config
+      name: {{ .Release.Name }}-db.config
       key: db_whisk_auths
 {{- end -}}
 
diff --git a/helm/openwhisk/templates/_invoker-helpers.tpl b/helm/openwhisk/templates/_invoker-helpers.tpl
index 11744cd..3547f62 100644
--- a/helm/openwhisk/templates/_invoker-helpers.tpl
+++ b/helm/openwhisk/templates/_invoker-helpers.tpl
@@ -52,12 +52,12 @@
     - name: "RUNTIMES_REGISTRY_USERNAME"
       valueFrom:
         secretKeyRef:
-          name: docker.registry.auth
+          name: {{ .Release.Name }}-docker.registry.auth
           key: docker_registry_username
     - name: "RUNTIMES_REGISTRY_PASSWORD"
       valueFrom:
         secretKeyRef:
-          name: docker.registry.auth
+          name: {{ .Release.Name }}-docker.registry.auth
           key: docker_registry_password
 {{- end -}}
 {{- end -}}
diff --git a/helm/openwhisk/templates/apigateway-pod.yaml b/helm/openwhisk/templates/apigateway-pod.yaml
index 1e8585e..bf7279f 100644
--- a/helm/openwhisk/templates/apigateway-pod.yaml
+++ b/helm/openwhisk/templates/apigateway-pod.yaml
@@ -4,19 +4,19 @@
 apiVersion: apps/v1
 kind: Deployment
 metadata:
-  name: {{ .Values.apigw.name | quote }}
+  name: {{ .Release.Name }}-apigateway
   labels:
-    name: {{ .Values.apigw.name | quote }}
+    name: {{ .Release.Name }}-apigateway
 {{ include "openwhisk.label_boilerplate" . | indent 4 }}
 spec:
   replicas: {{ .Values.apigw.replicaCount }}
   selector:
     matchLabels:
-      name: {{ .Values.apigw.name | quote }}
+      name: {{ .Release.Name }}-apigateway
   template:
     metadata:
       labels:
-        name: {{ .Values.apigw.name | quote }}
+        name: {{ .Release.Name }}-apigateway
 {{ include "openwhisk.label_boilerplate" . | indent 8 }}
     spec:
       restartPolicy: {{ .Values.apigw.restartPolicy }}
@@ -24,7 +24,7 @@ spec:
       {{- if .Values.affinity.enabled }}
       affinity:
 {{ include "openwhisk.affinity.core" . | indent 8 }}
-{{ include "openwhisk.affinity.selfAntiAffinity" ( .Values.apigw.name | quote ) | indent 8 }}
+{{ include "openwhisk.affinity.selfAntiAffinity" ( printf "%s-apigateway" .Release.Name ) | indent 8 }}
       {{- end }}
 
       containers:
@@ -44,5 +44,5 @@ spec:
           - name: "PUBLIC_GATEWAY_URL"
             valueFrom:
               configMapKeyRef:
-                name: whisk.config
+                name: {{ .Release.Name }}-whisk.config
                 key: whisk_api_host_url
diff --git a/helm/openwhisk/templates/apigateway-svc.yaml b/helm/openwhisk/templates/apigateway-svc.yaml
index 82b0ecc..50f8a29 100644
--- a/helm/openwhisk/templates/apigateway-svc.yaml
+++ b/helm/openwhisk/templates/apigateway-svc.yaml
@@ -4,13 +4,13 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ .Values.apigw.name | quote }}
+  name: {{ .Release.Name }}-apigateway
   labels:
-    name: {{ .Values.apigw.name | quote }}
+    name: {{ .Release.Name }}-apigateway
 {{ include "openwhisk.label_boilerplate" . | indent 4 }}
 spec:
   selector:
-    name: {{ .Values.apigw.name | quote }}
+    name: {{ .Release.Name }}-apigateway
   ports:
     - port: {{ .Values.apigw.mgmtPort }}
       name: mgmt
diff --git a/helm/openwhisk/templates/controller-pod.yaml b/helm/openwhisk/templates/controller-pod.yaml
index 20d4313..a52ac7c 100644
--- a/helm/openwhisk/templates/controller-pod.yaml
+++ b/helm/openwhisk/templates/controller-pod.yaml
@@ -4,30 +4,30 @@
 apiVersion: apps/v1
 kind: StatefulSet
 metadata:
-  name: {{ .Values.controller.name | quote }}
+  name: {{ .Release.Name }}-controller
   labels:
-    name: {{ .Values.controller.name | quote }}
+    name: {{ .Release.Name }}-controller
 {{ include "openwhisk.label_boilerplate" . | indent 4 }}
 spec:
-  serviceName: {{ .Values.controller.name | quote }}
+  serviceName: {{ .Release.Name }}-controller
   podManagementPolicy: "Parallel"
   replicas: {{ .Values.controller.replicaCount }}
   selector:
     matchLabels:
-      name: {{ .Values.controller.name | quote }}
+      name: {{ .Release.Name }}-controller
   template:
     metadata:
       labels:
-        name: {{ .Values.controller.name | quote }}
+        name: {{ .Release.Name }}-controller
 {{ include "openwhisk.label_boilerplate" . | indent 8 }}
     spec:
-      serviceAccountName: ow-core
+      serviceAccountName: {{ .Release.Name }}-core
       restartPolicy: {{ .Values.controller.restartPolicy }}
 
       {{- if .Values.affinity.enabled }}
       affinity:
 {{ include "openwhisk.affinity.core" . | indent 8 }}
-{{ include "openwhisk.affinity.selfAntiAffinity" ( .Values.controller.name | quote ) | indent 8 }}
+{{ include "openwhisk.affinity.selfAntiAffinity" ( printf "%s-controller" .Release.Name ) | indent 8 }}
       {{- end }}
 
       initContainers:
@@ -36,10 +36,10 @@ spec:
 {{ include "openwhisk.readiness.waitForCouchDB" . | indent 6 }}
 
       containers:
-      - name: {{ .Values.controller.name | quote }}
+      - name: controller
         imagePullPolicy: {{ .Values.controller.imagePullPolicy | quote }}
         image: "{{- .Values.controller.imageName -}}:{{- .Values.controller.imageTag -}}"
-        command: ["/bin/bash", "-c", "/init.sh `hostname | cut -d'-' -f2`"]
+        command: ["/bin/bash", "-c", "/init.sh `hostname | cut -d'-' -f3`"]
         ports:
         - name: controller
           containerPort: {{ .Values.controller.port }}
@@ -65,12 +65,12 @@ spec:
         - name:  "CONFIG_whisk_info_date"
           valueFrom:
             configMapKeyRef:
-              name: whisk.config
+              name: {{ .Release.Name }}-whisk.config
               key: whisk_info_date
         - name: "CONFIG_whisk_info_buildNo"
           valueFrom:
             configMapKeyRef:
-              name: whisk.config
+              name: {{ .Release.Name }}-whisk.config
               key: whisk_info_buildNo
 
         # Java options
@@ -116,7 +116,7 @@ spec:
         - name: "CONFIG_akka_discovery_kubernetesApi_podNamespace"
           value: {{ .Release.Namespace | quote }}
         - name: "CONFIG_akka_discovery_kubernetesApi_podLabelSelector"
-          value: "name={{ .Values.controller.name }}"
+          value: "name={{ .Release.Name }}-controller"
         - name: "CONFIG_akka_discovery_kubernetesApi_podPortName"
           value: "akka-mgmt-http"
 {{- end }}
diff --git a/helm/openwhisk/templates/controller-svc.yaml b/helm/openwhisk/templates/controller-svc.yaml
index c4d293c..ce15ed8 100644
--- a/helm/openwhisk/templates/controller-svc.yaml
+++ b/helm/openwhisk/templates/controller-svc.yaml
@@ -4,13 +4,13 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ .Values.controller.name | quote }}
+  name: {{ .Release.Name }}-controller
   labels:
-    name: {{ .Values.controller.name | quote }}
+    name: {{ .Release.Name }}-controller
 {{ include "openwhisk.label_boilerplate" . | indent 4 }}
 spec:
   selector:
-    name: {{ .Values.controller.name | quote }}
+    name: {{ .Release.Name }}-controller
   ports:
     - port: {{ .Values.controller.port }}
       name: http
diff --git a/helm/openwhisk/templates/ow-core-rolebind.yaml b/helm/openwhisk/templates/core-rolebind.yaml
similarity index 87%
rename from helm/openwhisk/templates/ow-core-rolebind.yaml
rename to helm/openwhisk/templates/core-rolebind.yaml
index be78061..8112703 100644
--- a/helm/openwhisk/templates/ow-core-rolebind.yaml
+++ b/helm/openwhisk/templates/core-rolebind.yaml
@@ -5,7 +5,7 @@
 apiVersion: rbac.authorization.k8s.io/v1
 kind: RoleBinding
 metadata:
-  name: allow-view
+  name: {{ .Release.Name }}-allow-view
   labels:
 {{ include "openwhisk.label_boilerplate" . | indent 4 }}
 roleRef:
@@ -14,5 +14,5 @@ roleRef:
   name: view
 subjects:
   - kind: ServiceAccount
-    name: ow-core
+    name: {{ .Release.Name }}-core
     namespace: {{ .Release.Namespace | quote }}
diff --git a/helm/openwhisk/templates/ow-core-svcacct.yaml b/helm/openwhisk/templates/core-svcacct.yaml
similarity index 90%
rename from helm/openwhisk/templates/ow-core-svcacct.yaml
rename to helm/openwhisk/templates/core-svcacct.yaml
index 4d36e6b..598c90b 100644
--- a/helm/openwhisk/templates/ow-core-svcacct.yaml
+++ b/helm/openwhisk/templates/core-svcacct.yaml
@@ -5,6 +5,6 @@
 apiVersion: v1
 kind: ServiceAccount
 metadata:
-  name: ow-core
+  name: {{ .Release.Name }}-core
   labels:
 {{ include "openwhisk.label_boilerplate" . | indent 4 }}
diff --git a/helm/openwhisk/templates/couchdb-init-cm.yaml b/helm/openwhisk/templates/couchdb-init-cm.yaml
index 315933f..0601a5d 100644
--- a/helm/openwhisk/templates/couchdb-init-cm.yaml
+++ b/helm/openwhisk/templates/couchdb-init-cm.yaml
@@ -5,7 +5,7 @@
 apiVersion: v1
 kind: ConfigMap
 metadata:
-  name: init-couchdb
+  name: {{ .Release.Name }}-init-couchdb
   labels:
 {{ include "openwhisk.label_boilerplate" . | indent 4 }}
 data:
diff --git a/helm/openwhisk/templates/couchdb-init-job.yaml b/helm/openwhisk/templates/couchdb-init-job.yaml
index b6d6ec1..41efb30 100644
--- a/helm/openwhisk/templates/couchdb-init-job.yaml
+++ b/helm/openwhisk/templates/couchdb-init-job.yaml
@@ -5,27 +5,27 @@
 apiVersion: batch/v1
 kind: Job
 metadata:
-  name: init-couchdb
+  name: {{ .Release.Name }}-init-couchdb
   labels:
-    name: init-couchdb
+    name: {{ .Release.Name }}-init-couchdb
 {{ include "openwhisk.label_boilerplate" . | indent 4 }}
 spec:
   activeDeadlineSeconds: 600
   template:
     metadata:
-      name: init-couchdb
+      name: {{ .Release.Name }}-init-couchdb
       labels:
-        name: init-couchdb
+        name: {{ .Release.Name }}-init-couchdb
 {{ include "openwhisk.label_boilerplate" . | indent 8 }}
     spec:
       restartPolicy: Never
       volumes:
       - name: task-dir
         configMap:
-          name: init-couchdb
+          name: {{ .Release.Name }}-init-couchdb
       - name: whisk-auth
         secret:
-          secretName: whisk.auth
+          secretName: {{ .Release.Name }}-whisk.auth
       containers:
       - name: init-couchdb
         image: "{{- .Values.utility.imageName -}}:{{- .Values.utility.imageTag -}}"
@@ -41,32 +41,32 @@ spec:
         - name: "DB_PROTOCOL"
           valueFrom:
             configMapKeyRef:
-              name: db.config
+              name: {{ .Release.Name }}-db.config
               key: db_protocol
         - name: "DB_HOST"
           valueFrom:
             configMapKeyRef:
-              name: db.config
+              name: {{ .Release.Name }}-db.config
               key: db_host
         - name: "DB_PORT"
           valueFrom:
             configMapKeyRef:
-              name: db.config
+              name: {{ .Release.Name }}-db.config
               key: db_port
         - name: "DB_PREFIX"
           valueFrom:
             configMapKeyRef:
-              name: db.config
+              name: {{ .Release.Name }}-db.config
               key: db_prefix
         - name: "COUCHDB_USER"
           valueFrom:
             secretKeyRef:
-              name: db.auth
+              name: {{ .Release.Name }}-db.auth
               key: db_username
         - name: "COUCHDB_PASSWORD"
           valueFrom:
             secretKeyRef:
-              name: db.auth
+              name: {{ .Release.Name }}-db.auth
               key: db_password
         - name: "NODENAME"
           value: "couchdb0"
diff --git a/helm/openwhisk/templates/couchdb-pod.yaml b/helm/openwhisk/templates/couchdb-pod.yaml
index de0c1c7..c9bef07 100644
--- a/helm/openwhisk/templates/couchdb-pod.yaml
+++ b/helm/openwhisk/templates/couchdb-pod.yaml
@@ -5,19 +5,19 @@
 apiVersion: apps/v1
 kind: Deployment
 metadata:
-  name: {{ .Values.db.name | quote }}
+  name: {{ .Release.Name }}-couchdb
   labels:
-    name: {{ .Values.db.name | quote }}
+    name: {{ .Release.Name }}-couchdb
 {{ include "openwhisk.label_boilerplate" . | indent 4 }}
 spec:
   replicas: {{ .Values.db.replicaCount }}
   selector:
     matchLabels:
-      name: {{ .Values.db.name | quote }}
+      name: {{ .Release.Name }}-couchdb
   template:
     metadata:
       labels:
-        name: {{ .Values.db.name | quote }}
+        name: {{ .Release.Name }}-couchdb
 {{ include "openwhisk.label_boilerplate" . | indent 8 }}
     spec:
       restartPolicy: {{ .Values.db.restartPolicy }}
@@ -25,11 +25,11 @@ spec:
       {{- if .Values.affinity.enabled }}
       affinity:
 {{ include "openwhisk.affinity.core" . | indent 8 }}
-{{ include "openwhisk.affinity.selfAntiAffinity" ( .Values.db.name ) | indent 8 }}
+{{ include "openwhisk.affinity.selfAntiAffinity" ( printf "%s-couchdb" .Release.Name ) | indent 8 }}
       {{- end }}
 
       containers:
-      - name: {{ .Values.db.name | quote }}
+      - name: couchdb
         image: "{{- .Values.db.imageName -}}:{{- .Values.db.imageTag -}}"
         imagePullPolicy: {{ .Values.db.imagePullPolicy | quote }}
         ports:
@@ -39,12 +39,12 @@ spec:
         - name: "COUCHDB_USER"
           valueFrom:
             secretKeyRef:
-              name: db.auth
+              name: {{ .Release.Name }}-db.auth
               key: db_username
         - name: "COUCHDB_PASSWORD"
           valueFrom:
             secretKeyRef:
-              name: db.auth
+              name: {{ .Release.Name }}-db.auth
               key: db_password
         - name: "NODENAME"
           value: "couchdb0"
@@ -57,6 +57,6 @@ spec:
       volumes:
         - name: database-storage
           persistentVolumeClaim:
-            claimName: {{ .Values.db.persistence.pvcName | quote }}
+            claimName: {{ .Release.Name }}-couchdb-pvc
       {{- end }}
 {{ end }}
diff --git a/helm/openwhisk/templates/couchdb-pvc.yaml b/helm/openwhisk/templates/couchdb-pvc.yaml
index 0f6ce28..eac8875 100644
--- a/helm/openwhisk/templates/couchdb-pvc.yaml
+++ b/helm/openwhisk/templates/couchdb-pvc.yaml
@@ -5,7 +5,7 @@
 apiVersion: v1
 kind: PersistentVolumeClaim
 metadata:
-  name: {{ .Values.db.persistence.pvcName | quote }}
+  name: {{ .Release.Name }}-couchdb-pvc
   labels:
 {{ include "openwhisk.label_boilerplate" . | indent 4 }}
 spec:
diff --git a/helm/openwhisk/templates/couchdb-svc.yaml b/helm/openwhisk/templates/couchdb-svc.yaml
index 6e462ce..3ffd761 100644
--- a/helm/openwhisk/templates/couchdb-svc.yaml
+++ b/helm/openwhisk/templates/couchdb-svc.yaml
@@ -5,13 +5,13 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ .Values.db.name | quote }}
+  name: {{ .Release.Name }}-couchdb
   labels:
-    name: {{ .Values.db.name | quote }}
+    name: {{ .Release.Name }}-couchdb
 {{ include "openwhisk.label_boilerplate" . | indent 4 }}
 spec:
   selector:
-    name: {{ .Values.db.name | quote }}
+    name: {{ .Release.Name }}-couchdb
   ports:
     - port: {{ .Values.db.port }}
       name: couchdb
diff --git a/helm/openwhisk/templates/frontdoor-ingress.yaml b/helm/openwhisk/templates/frontdoor-ingress.yaml
index 5182cca..8b21fbc 100644
--- a/helm/openwhisk/templates/frontdoor-ingress.yaml
+++ b/helm/openwhisk/templates/frontdoor-ingress.yaml
@@ -5,7 +5,7 @@
 apiVersion: extensions/v1beta1
 kind: Ingress
 metadata:
-  name: {{ .Values.whisk.ingress.name | quote }}
+  name: {{ .Release.Name }}-ingress
   labels:
 {{ include "openwhisk.label_boilerplate" . | indent 4 }}
   annotations:
@@ -27,29 +27,29 @@ spec:
       paths:
       - path: /api/v1/web
         backend:
-          serviceName: controller
+          serviceName: {{ .Release.Name }}-controller
           servicePort: http
       - path: /api/v1
         backend:
-          serviceName: controller
+          serviceName: {{ .Release.Name }}-controller
           servicePort: http
       # API GW generated API invocation
       - path: /api
         backend:
-          serviceName: apigateway
+          serviceName: {{ .Release.Name }}-apigateway
           servicePort: mgmt
       # API GW health status
       - path: /v1/health-check
         backend:
-          serviceName: apigateway
+          serviceName: {{ .Release.Name }}-apigateway
           servicePort: api
       # API management REST APIs
       - path: /v2
         backend:
-          serviceName: apigateway
+          serviceName: {{ .Release.Name }}-apigateway
           servicePort: api
       - path: /
         backend:
-          serviceName: nginx
+          serviceName: {{ .Release.Name }}-nginx
           servicePort: http
 {{- end }}
diff --git a/helm/openwhisk/templates/install-packages-cm.yaml b/helm/openwhisk/templates/install-packages-cm.yaml
index ec55e11..b7d0ef3 100644
--- a/helm/openwhisk/templates/install-packages-cm.yaml
+++ b/helm/openwhisk/templates/install-packages-cm.yaml
@@ -4,7 +4,7 @@
 apiVersion: v1
 kind: ConfigMap
 metadata:
-  name: install-packages-cm
+  name: {{ .Release.Name }}-install-packages-cm
   labels:
 {{ include "openwhisk.label_boilerplate" . | indent 4 }}
 data:
diff --git a/helm/openwhisk/templates/install-packages-job.yaml b/helm/openwhisk/templates/install-packages-job.yaml
index 31322a2..b4015cd 100644
--- a/helm/openwhisk/templates/install-packages-job.yaml
+++ b/helm/openwhisk/templates/install-packages-job.yaml
@@ -4,24 +4,24 @@
 apiVersion: batch/v1
 kind: Job
 metadata:
-  name: install-packages
+  name: {{ .Release.Name }}-install-packages
   labels:
-    name: install-packages
+    name: {{ .Release.Name }}-install-packages
 {{ include "openwhisk.label_boilerplate" . | indent 4 }}
 spec:
   activeDeadlineSeconds: 900
   template:
     metadata:
-      name: install-packages
+      name: {{ .Release.Name }}-install-packages
       labels:
-        name: install-packages
+        name: {{ .Release.Name }}-install-packages
 {{ include "openwhisk.label_boilerplate" . | indent 8 }}
     spec:
       restartPolicy: Never
       volumes:
       - name: task-dir
         configMap:
-          name: install-packages-cm
+          name: {{ .Release.Name }}-install-packages-cm
       initContainers:
 {{ include "openwhisk.readiness.waitForHealthyInvoker" . | indent 6 }}
       containers:
@@ -37,22 +37,22 @@ spec:
           - name: "WHISK_AUTH"
             valueFrom:
               secretKeyRef:
-                name: whisk.auth
+                name: {{ .Release.Name }}-whisk.auth
                 key: system
           - name: "WHISK_API_HOST"
             valueFrom:
               configMapKeyRef:
-                name: whisk.config
+                name: {{ .Release.Name }}-whisk.config
                 key: whisk_api_host_nameAndPort
 
           # apigateway configuration (for installing routemgmt actions)
           - name: "WHISK_SYSTEM_NAMESPACE"
             valueFrom:
               configMapKeyRef:
-                name: whisk.config
+                name: {{ .Release.Name }}-whisk.config
                 key: whisk_system_namespace
           - name: "WHISK_API_GATEWAY_HOST_V2"
-            value: "http://$(APIGATEWAY_SERVICE_HOST):$(APIGATEWAY_SERVICE_PORT_API)/v2"
+            value: "http://$({{ upper .Release.Name }}_APIGATEWAY_SERVICE_HOST):$({{ upper .Release.Name }}_APIGATEWAY_SERVICE_PORT_API)/v2"
 
           # Provider database configuration
           {{- if .Values.providers.db.external }}
@@ -72,27 +72,27 @@ spec:
           - name: "PROVIDER_DB_HOST"
             valueFrom:
               configMapKeyRef:
-                name: db.config
+                name: {{ .Release.Name }}-db.config
                 key: db_host
           - name: "PROVIDER_DB_PROTOCOL"
             valueFrom:
               configMapKeyRef:
-                name: db.config
+                name: {{ .Release.Name }}-db.config
                 key: db_protocol
           - name: "PROVIDER_DB_PORT"
             valueFrom:
               configMapKeyRef:
-                name: db.config
+                name: {{ .Release.Name }}-db.config
                 key: db_port
           - name: "PROVIDER_DB_USERNAME"
             valueFrom:
               secretKeyRef:
-                name: db.auth
+                name: {{ .Release.Name }}-db.auth
                 key: db_username
           - name: "PROVIDER_DB_PASSWORD"
             valueFrom:
               secretKeyRef:
-                name: db.auth
+                name: {{ .Release.Name }}-db.auth
                 key: db_password
           {{ end }}
 
diff --git a/helm/openwhisk/templates/invoker-agent-pod.yaml b/helm/openwhisk/templates/invoker-agent-pod.yaml
index 8643e4a..c24d544 100644
--- a/helm/openwhisk/templates/invoker-agent-pod.yaml
+++ b/helm/openwhisk/templates/invoker-agent-pod.yaml
@@ -5,18 +5,18 @@
 apiVersion: apps/v1
 kind: DaemonSet
 metadata:
-  name: {{ .Values.invoker.containerFactory.kubernetes.agent.name | quote }}
+  name: {{ .Release.Name }}-invoker-agent
   labels:
-    name: {{ .Values.invoker.containerFactory.kubernetes.agent.name | quote }}
+    name: {{ .Release.Name }}-invoker-agent
 {{ include "openwhisk.label_boilerplate" .| indent 4 }}
 spec:
   selector:
     matchLabels:
-      name: {{ .Values.invoker.containerFactory.kubernetes.agent.name | quote }}
+      name: {{ .Release.Name }}-invoker-agent
   template:
     metadata:
       labels:
-        name: {{ .Values.invoker.containerFactory.kubernetes.agent.name | quote }}
+        name: {{ .Release.Name }}-invoker-agent
 {{ include "openwhisk.label_boilerplate" . | indent 8 }}
     spec:
       restartPolicy: Always
@@ -31,14 +31,14 @@ spec:
         emptyDir: {}
       - name: task-dir
         configMap:
-          name: docker-pull-runtimes
+          name: {{ .Release.Name }}-docker-pull-runtimes
 
       initContainers:
       # Pull images for all default runtimes before starting invoker
 {{ include "openwhisk.docker_pull_runtimes" . | indent 6 }}
 
       containers:
-      - name: {{ .Values.invoker.containerFactory.kubernetes.agent.name | quote }}
+      - name: invoker-agent
         image: "{{- .Values.invoker.containerFactory.kubernetes.agent.imageName -}}:{{- .Values.invoker.containerFactory.kubernetes.agent.imageTag -}}"
         imagePullPolicy: {{ .Values.invoker.containerFactory.kubernetes.agent.imagePullPolicy | quote }}
         securityContext:
diff --git a/helm/openwhisk/templates/invoker-cm.yaml b/helm/openwhisk/templates/invoker-cm.yaml
index 5d10d5b..078db80 100644
--- a/helm/openwhisk/templates/invoker-cm.yaml
+++ b/helm/openwhisk/templates/invoker-cm.yaml
@@ -4,7 +4,7 @@
 apiVersion: v1
 kind: ConfigMap
 metadata:
-  name: docker-pull-runtimes
+  name: {{ .Release.Name }}-docker-pull-runtimes
   labels:
 {{ include "openwhisk.label_boilerplate" .| indent 4 }}
 data:
diff --git a/helm/openwhisk/templates/invoker-pod.yaml b/helm/openwhisk/templates/invoker-pod.yaml
index fdf8329..4d47e75 100644
--- a/helm/openwhisk/templates/invoker-pod.yaml
+++ b/helm/openwhisk/templates/invoker-pod.yaml
@@ -9,9 +9,9 @@ apiVersion: apps/v1
 kind: StatefulSet
 {{- end }}
 metadata:
-  name: {{ .Values.invoker.name | quote }}
+  name: {{ .Release.Name }}-invoker
   labels:
-    name: {{ .Values.invoker.name | quote }}
+    name: {{ .Release.Name }}-invoker
 {{ include "openwhisk.label_boilerplate" . | indent 4 }}
 spec:
 {{- if eq .Values.invoker.containerFactory.impl "kubernetes" }}
@@ -20,22 +20,22 @@ spec:
 {{- end }}
   selector:
     matchLabels:
-      name: {{ .Values.invoker.name | quote }}
+      name: {{ .Release.Name }}-invoker
   template:
     metadata:
       labels:
-        name: {{ .Values.invoker.name | quote }}
+        name: {{ .Release.Name }}-invoker
 {{ include "openwhisk.label_boilerplate" . | indent 8 }}
     spec:
 {{- if eq .Values.invoker.containerFactory.impl "kubernetes" }}
-      serviceAccountName: {{ .Values.invoker.name | quote }}
+      serviceAccountName: {{ .Release.Name }}-invoker
 {{- end }}
       restartPolicy: {{ .Values.invoker.restartPolicy }}
 
       affinity:
 {{ include "openwhisk.affinity.invoker" . | indent 8 }}
 {{- if eq .Values.invoker.containerFactory.impl "kubernetes" }}
-{{ include "openwhisk.affinity.selfAntiAffinity" ( .Values.invoker.name | quote ) | indent 8 }}
+{{ include "openwhisk.affinity.selfAntiAffinity" ( printf "%s-invoker" .Release.Name ) | indent 8 }}
 {{- end }}
 
 {{- if eq .Values.invoker.containerFactory.impl "docker" }}
@@ -43,7 +43,7 @@ spec:
 {{ include "openwhisk.docker_volumes" . | indent 6 }}
       - name: task-dir
         configMap:
-          name: docker-pull-runtimes
+          name: {{ .Release.Name }}-docker-pull-runtimes
 {{- end }}
 
       initContainers:
@@ -55,7 +55,7 @@ spec:
 {{ include "openwhisk.readiness.waitForController" . | indent 6 }}
 
       containers:
-      - name: {{ .Values.invoker.name | quote }}
+      - name: invoker
         image: "{{- .Values.invoker.imageName -}}:{{- .Values.invoker.imageTag -}}"
         imagePullPolicy: {{ .Values.invoker.imagePullPolicy | quote }}
         command: [ "/bin/bash", "-c", "/init.sh --uniqueName $INVOKER_NAME" ]
@@ -67,17 +67,17 @@ spec:
           - name: "WHISK_API_HOST_PROTO"
             valueFrom:
               configMapKeyRef:
-                name: whisk.config
+                name: {{ .Release.Name }}-whisk.config
                 key: whisk_api_host_proto
           - name: "WHISK_API_HOST_PORT"
             valueFrom:
               configMapKeyRef:
-                name: whisk.config
+                name: {{ .Release.Name }}-whisk.config
                 key: whisk_api_host_port
           - name: "WHISK_API_HOST_NAME"
             valueFrom:
               configMapKeyRef:
-                name: whisk.config
+                name: {{ .Release.Name }}-whisk.config
                 key: whisk_api_host_name
 
           - name: "CONFIG_whisk_docker_containerFactory_useRunc"
@@ -132,7 +132,7 @@ spec:
           - name:  "CONFIG_whisk_info_date"
             valueFrom:
               configMapKeyRef:
-                name: whisk.config
+                name: {{ .Release.Name }}-whisk.config
                 key: whisk_info_date
 
           # properties for DB connection
diff --git a/helm/openwhisk/templates/invoker-role.yaml b/helm/openwhisk/templates/invoker-role.yaml
index 7e1edde..80d2bce 100644
--- a/helm/openwhisk/templates/invoker-role.yaml
+++ b/helm/openwhisk/templates/invoker-role.yaml
@@ -10,7 +10,7 @@
 kind: Role
 apiVersion: rbac.authorization.k8s.io/v1
 metadata:
-  name: {{ .Values.invoker.name | quote }}
+  name: {{ .Release.Name }}-invoker
   labels:
 {{ include "openwhisk.label_boilerplate" . | indent 4 }}
 rules:
diff --git a/helm/openwhisk/templates/invoker-rolebind.yaml b/helm/openwhisk/templates/invoker-rolebind.yaml
index 6d46124..ffeb480 100644
--- a/helm/openwhisk/templates/invoker-rolebind.yaml
+++ b/helm/openwhisk/templates/invoker-rolebind.yaml
@@ -10,15 +10,15 @@
 kind: RoleBinding
 apiVersion: rbac.authorization.k8s.io/v1
 metadata:
-  name: {{ .Values.invoker.name | quote }}
+  name: {{ .Release.Name }}-invoker
   labels:
 {{ include "openwhisk.label_boilerplate" . | indent 4 }}
 subjects:
 - kind: ServiceAccount
   namespace: {{ .Release.Namespace | quote }}
-  name: {{ .Values.invoker.name | quote }}
+  name: {{ .Release.Name }}-invoker
 roleRef:
   kind: Role
-  name: {{ .Values.invoker.name | quote }}
+  name: {{ .Release.Name }}-invoker
   apiGroup: rbac.authorization.k8s.io
 {{- end }}
diff --git a/helm/openwhisk/templates/invoker-svcacct.yaml b/helm/openwhisk/templates/invoker-svcacct.yaml
index 8b52445..ac28dca 100644
--- a/helm/openwhisk/templates/invoker-svcacct.yaml
+++ b/helm/openwhisk/templates/invoker-svcacct.yaml
@@ -10,7 +10,7 @@
 apiVersion: v1
 kind: ServiceAccount
 metadata:
-  name: {{ .Values.invoker.name | quote }}
+  name: {{ .Release.Name }}-invoker
   labels:
 {{ include "openwhisk.label_boilerplate" . | indent 4 }}
 {{- end }}
diff --git a/helm/openwhisk/templates/kafka-pod.yaml b/helm/openwhisk/templates/kafka-pod.yaml
index bcb94ef..309bfc3 100644
--- a/helm/openwhisk/templates/kafka-pod.yaml
+++ b/helm/openwhisk/templates/kafka-pod.yaml
@@ -1,25 +1,24 @@
 # Licensed to the Apache Software Foundation (ASF) under one or more contributor
 # license agreements; and to You under the Apache License, Version 2.0.
 
-{{ if not .Values.kafka.external }}
 apiVersion: apps/v1
 kind: StatefulSet
 metadata:
-  name: {{ .Values.kafka.name | quote }}
+  name: {{ .Release.Name }}-kafka
   labels:
-    name: {{ .Values.kafka.name | quote }}
+    name: {{ .Release.Name }}-kafka
 {{ include "openwhisk.label_boilerplate" . | indent 4 }}
 spec:
-  serviceName: {{ .Values.kafka.name | quote }}
+  serviceName: {{ .Release.Name }}-kafka
   podManagementPolicy: "Parallel"
   replicas: {{ .Values.kafka.replicaCount }}
   selector:
     matchLabels:
-      name: {{ .Values.kafka.name | quote }}
+      name: {{ .Release.Name }}-kafka
   template:
     metadata:
       labels:
-        name: {{ .Values.kafka.name | quote }}
+        name: {{ .Release.Name }}-kafka
 {{ include "openwhisk.label_boilerplate" . | indent 8 }}
     spec:
       restartPolicy: {{ .Values.kafka.restartPolicy }}
@@ -27,21 +26,21 @@ spec:
       {{- if .Values.affinity.enabled }}
       affinity:
 {{ include "openwhisk.affinity.core" . | indent 8 }}
-{{ include "openwhisk.affinity.selfAntiAffinity" ( .Values.kafka.name | quote ) | indent 8 }}
+{{ include "openwhisk.affinity.selfAntiAffinity" ( printf "%s-kafka" .Release.Name ) | indent 8 }}
       {{- end }}
 
 {{- if .Values.k8s.persistence.enabled }}
       volumes:
       - name: kafka-data
         persistentVolumeClaim:
-          claimName: {{ .Values.kafka.persistence.pvcName | quote }}
+          claimName: {{ .Release.Name }}-kafka-pvc
 {{- end }}
 
       initContainers:
 {{ include "openwhisk.readiness.waitForZookeeper" . | indent 6 }}
 
       containers:
-      - name: {{ .Values.kafka.name | quote }}
+      - name: kafka
         image: "{{- .Values.kafka.imageName -}}:{{- .Values.kafka.imageTag -}}"
         imagePullPolicy: {{ .Values.kafka.imagePullPolicy | quote }}
 {{- if .Values.k8s.persistence.enabled }}
@@ -56,7 +55,7 @@ spec:
         - name: "KAFKA_BROKER_ID"
           value: "0"
         - name: "KAFKA_ADVERTISED_HOST_NAME"
-          value: {{ .Values.kafka.name | quote }}
+          value: {{ .Release.Name }}-kafka
         - name: "KAFKA_ADVERTISED_PORT"
           value: "{{ .Values.kafka.port }}"
         - name: "KAFKA_HOST_NAME"
@@ -69,4 +68,3 @@ spec:
         # zookeeper info
         - name: "KAFKA_ZOOKEEPER_CONNECT"
           value: "{{ include "openwhisk.zookeeper_connect" . }}"
-{{- end }}
diff --git a/helm/openwhisk/templates/kafka-pvc.yaml b/helm/openwhisk/templates/kafka-pvc.yaml
index f16839a..4539b2b 100644
--- a/helm/openwhisk/templates/kafka-pvc.yaml
+++ b/helm/openwhisk/templates/kafka-pvc.yaml
@@ -1,11 +1,11 @@
 # Licensed to the Apache Software Foundation (ASF) under one or more contributor
 # license agreements; and to You under the Apache License, Version 2.0.
 
-{{- if and (not .Values.kafka.external) .Values.k8s.persistence.enabled }}
+{{- if .Values.k8s.persistence.enabled }}
 apiVersion: v1
 kind: PersistentVolumeClaim
 metadata:
-  name: {{ .Values.kafka.persistence.pvcName | quote }}
+  name: {{ .Release.Name }}-kafka-pvc
   labels:
 {{ include "openwhisk.label_boilerplate" . | indent 4 }}
 spec:
diff --git a/helm/openwhisk/templates/kafka-svc.yaml b/helm/openwhisk/templates/kafka-svc.yaml
index 97f4e09..25a32e1 100644
--- a/helm/openwhisk/templates/kafka-svc.yaml
+++ b/helm/openwhisk/templates/kafka-svc.yaml
@@ -1,18 +1,16 @@
 # Licensed to the Apache Software Foundation (ASF) under one or more contributor
 # license agreements; and to You under the Apache License, Version 2.0.
 
-{{ if not .Values.kafka.external }}
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ .Values.kafka.name | quote }}
+  name: {{ .Release.Name }}-kafka
   labels:
-    name: {{ .Values.kafka.name | quote }}
+    name: {{ .Release.Name }}-kafka
 {{ include "openwhisk.label_boilerplate" . | indent 4 }}
 spec:
   ports:
   - name: broker
     port: {{ .Values.kafka.port }}
   selector:
-    name: {{ .Values.kafka.name | quote }}
-{{- end }}
+    name: {{ .Release.Name }}-kafka
diff --git a/helm/openwhisk/templates/nginx-cm.yaml b/helm/openwhisk/templates/nginx-cm.yaml
index 9682831..bf3ace3 100644
--- a/helm/openwhisk/templates/nginx-cm.yaml
+++ b/helm/openwhisk/templates/nginx-cm.yaml
@@ -4,7 +4,7 @@
 apiVersion: v1
 kind: ConfigMap
 metadata:
-  name: {{ .Values.nginx.name | quote }}
+  name: {{ .Release.Name }}-nginx
   labels:
 {{ include "openwhisk.label_boilerplate" . | indent 4 }}
 data:
diff --git a/helm/openwhisk/templates/nginx-pod.yaml b/helm/openwhisk/templates/nginx-pod.yaml
index f8433a7..d74af97 100644
--- a/helm/openwhisk/templates/nginx-pod.yaml
+++ b/helm/openwhisk/templates/nginx-pod.yaml
@@ -4,19 +4,19 @@
 apiVersion: apps/v1
 kind: Deployment
 metadata:
-  name: {{ .Values.nginx.name | quote }}
+  name: {{ .Release.Name }}-nginx
   labels:
-    name: {{ .Values.nginx.name | quote }}
+    name: {{ .Release.Name }}-nginx
 {{ include "openwhisk.label_boilerplate" . | indent 4 }}
 spec:
   replicas: {{ .Values.nginx.replicaCount }}
   selector:
     matchLabels:
-      name: {{ .Values.nginx.name | quote }}
+      name: {{ .Release.Name }}-nginx
   template:
     metadata:
       labels:
-        name: {{ .Values.nginx.name | quote }}
+        name: {{ .Release.Name }}-nginx
 {{ include "openwhisk.label_boilerplate" . | indent 8 }}
     spec:
       restartPolicy: {{ .Values.nginx.restartPolicy }}
@@ -24,21 +24,21 @@ spec:
       {{- if .Values.affinity.enabled }}
       affinity:
 {{ include "openwhisk.affinity.edge" . | indent 8 }}
-{{ include "openwhisk.affinity.selfAntiAffinity" ( .Values.nginx.name | quote ) | indent 8 }}
+{{ include "openwhisk.affinity.selfAntiAffinity" ( printf "%s-nginx" .Release.Name ) | indent 8 }}
       {{- end }}
 
       volumes:
       - name: nginx-certs
         secret:
-          secretName: {{ .Values.nginx.name | quote }}
+          secretName: {{ .Release.Name }}-nginx
       - name: nginx-conf
         configMap:
-          name: {{ .Values.nginx.name | quote }}
+          name: {{ .Release.Name }}-nginx
       - name: logs
         emptyDir: {}
 
       containers:
-      - name: {{ .Values.nginx.name | quote }}
+      - name: nginx
         image: "{{- .Values.nginx.imageName -}}:{{- .Values.nginx.imageTag -}}"
         imagePullPolicy: {{ .Values.nginx.imagePullPolicy | quote }}
         ports:
diff --git a/helm/openwhisk/templates/nginx-secret.yaml b/helm/openwhisk/templates/nginx-secret.yaml
index beaa4d8..1fde310 100644
--- a/helm/openwhisk/templates/nginx-secret.yaml
+++ b/helm/openwhisk/templates/nginx-secret.yaml
@@ -4,7 +4,7 @@
 apiVersion: v1
 kind: Secret
 metadata:
-  name: {{ .Values.nginx.name | quote }}
+  name: {{ .Release.Name }}-nginx
   labels:
 {{ include "openwhisk.label_boilerplate" . | indent 4 }}
 type: tls
diff --git a/helm/openwhisk/templates/nginx-svc.yaml b/helm/openwhisk/templates/nginx-svc.yaml
index 2f8ce0a..2b4820a 100644
--- a/helm/openwhisk/templates/nginx-svc.yaml
+++ b/helm/openwhisk/templates/nginx-svc.yaml
@@ -4,9 +4,9 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ .Values.nginx.name | quote }}
+  name: {{ .Release.Name }}-nginx
   labels:
-    name: {{ .Values.nginx.name | quote }}
+    name: {{ .Release.Name }}-nginx
 {{ include "openwhisk.label_boilerplate" . | indent 4 }}
 spec:
   {{- if eq .Values.whisk.ingress.type "LoadBalancer" }}
@@ -15,7 +15,7 @@ spec:
   type: NodePort
   {{- end }}
   selector:
-    name: {{ .Values.nginx.name | quote }}
+    name: {{ .Release.Name }}-nginx
   ports:
     - port: {{ .Values.nginx.httpPort }}
       name: http
diff --git a/helm/openwhisk/templates/ow-db-cm.yaml b/helm/openwhisk/templates/ow-db-cm.yaml
index 945808f..2a5844f 100644
--- a/helm/openwhisk/templates/ow-db-cm.yaml
+++ b/helm/openwhisk/templates/ow-db-cm.yaml
@@ -4,7 +4,7 @@
 apiVersion: v1
 kind: ConfigMap
 metadata:
-  name: db.config
+  name: {{ .Release.Name }}-db.config
   labels:
 {{ include "openwhisk.label_boilerplate" . | indent 4 }}
 data:
diff --git a/helm/openwhisk/templates/ow-db-secret.yaml b/helm/openwhisk/templates/ow-db-secret.yaml
index 650d419..065877d 100644
--- a/helm/openwhisk/templates/ow-db-secret.yaml
+++ b/helm/openwhisk/templates/ow-db-secret.yaml
@@ -4,7 +4,7 @@
 apiVersion: v1
 kind: Secret
 metadata:
-  name: db.auth
+  name: {{ .Release.Name }}-db.auth
   labels:
 {{ include "openwhisk.label_boilerplate" . | indent 4 }}
 type: Opaque
diff --git a/helm/openwhisk/templates/ow-docker-registry-secret.yaml b/helm/openwhisk/templates/ow-docker-registry-secret.yaml
index 0e37536..e5453fb 100644
--- a/helm/openwhisk/templates/ow-docker-registry-secret.yaml
+++ b/helm/openwhisk/templates/ow-docker-registry-secret.yaml
@@ -4,7 +4,7 @@
 apiVersion: v1
 kind: Secret
 metadata:
-  name: docker.registry.auth
+  name: {{ .Release.Name }}-docker.registry.auth
   labels:
 {{ include "openwhisk.label_boilerplate" . | indent 4 }}
 type: Opaque
diff --git a/helm/openwhisk/templates/ow-whisk-cm.yaml b/helm/openwhisk/templates/ow-whisk-cm.yaml
index f97f8ed..f5f4a1d 100644
--- a/helm/openwhisk/templates/ow-whisk-cm.yaml
+++ b/helm/openwhisk/templates/ow-whisk-cm.yaml
@@ -4,7 +4,7 @@
 apiVersion: v1
 kind: ConfigMap
 metadata:
-  name: whisk.config
+  name: {{ .Release.Name }}-whisk.config
   labels:
 {{ include "openwhisk.label_boilerplate" . | indent 4 }}
 data:
@@ -15,9 +15,9 @@ data:
 {{- if eq .Values.whisk.ingress.type "LoadBalancer" }}
   whisk_api_host_proto: "https"
   whisk_api_host_port: {{ .Values.nginx.httpsPort | quote }}
-  whisk_api_host_name: "{{ .Values.nginx.name }}.{{ .Release.Namespace }}.svc.{{ .Values.k8s.domain }}"
-  whisk_api_host_nameAndPort: "{{ .Values.nginx.name }}.{{ .Release.Namespace }}.svc.{{ .Values.k8s.domain }}:{{ .Values.nginx.httpsPort }}"
-  whisk_api_host_url: "https://{{ .Values.nginx.name }}.{{ .Release.Namespace }}.svc.{{ .Values.k8s.domain }}:{{ .Values.nginx.httpsPort }}"
+  whisk_api_host_name: "{{ .Release.Name }}-nginx.{{ .Release.Namespace }}.svc.{{ .Values.k8s.domain }}"
+  whisk_api_host_nameAndPort: "{{ .Release.Name }}-nginx.{{ .Release.Namespace }}.svc.{{ .Values.k8s.domain }}:{{ .Values.nginx.httpsPort }}"
+  whisk_api_host_url: "https://{{ .Release.Name }}-nginx.{{ .Release.Namespace }}.svc.{{ .Values.k8s.domain }}:{{ .Values.nginx.httpsPort }}"
 {{- else }}
   whisk_api_host_proto: {{ .Values.whisk.ingress.apiHostProto | quote }}
   whisk_api_host_port: {{ .Values.whisk.ingress.apiHostPort | quote }}
diff --git a/helm/openwhisk/templates/ow-whisk-secret.yaml b/helm/openwhisk/templates/ow-whisk-secret.yaml
index 77620c5..88d9bf2 100644
--- a/helm/openwhisk/templates/ow-whisk-secret.yaml
+++ b/helm/openwhisk/templates/ow-whisk-secret.yaml
@@ -4,7 +4,7 @@
 apiVersion: v1
 kind: Secret
 metadata:
-  name: whisk.auth
+  name: {{ .Release.Name }}-whisk.auth
   labels:
 {{ include "openwhisk.label_boilerplate" . | indent 4 }}
 type: Opaque
diff --git a/helm/openwhisk/templates/provider-alarm-pod.yaml b/helm/openwhisk/templates/provider-alarm-pod.yaml
index 73264b0..179147d 100644
--- a/helm/openwhisk/templates/provider-alarm-pod.yaml
+++ b/helm/openwhisk/templates/provider-alarm-pod.yaml
@@ -5,19 +5,19 @@
 apiVersion: apps/v1
 kind: Deployment
 metadata:
-  name: {{ .Values.providers.alarm.name | quote }}
+  name: {{ .Release.Name }}-alarmprovider
   labels:
-    name: alarmprovider
+    name: {{ .Release.Name }}-alarmprovider
 {{ include "openwhisk.label_boilerplate" . | indent 4 }}
 spec:
   replicas: {{ .Values.providers.alarm.replicaCount }}
   selector:
     matchLabels:
-      name: {{ .Values.providers.alarm.name | quote }}
+      name: {{ .Release.Name }}-alarmprovider
   template:
     metadata:
       labels:
-        name: {{ .Values.providers.alarm.name | quote }}
+        name: {{ .Release.Name }}-alarmprovider
 {{ include "openwhisk.label_boilerplate" . | indent 8 }}
     spec:
       restartPolicy: {{ .Values.providers.alarm.restartPolicy }}
@@ -25,7 +25,7 @@ spec:
         - name: alarm-logs
 {{- if .Values.k8s.persistence.enabled }}
           persistentVolumeClaim:
-            claimName: {{ .Values.providers.alarm.persistence.pvcName | quote }}
+            claimName: {{ .Release.Name }}-alarmprovider-pvc
 {{- else }}
           emptyDir: {}
 {{- end }}
@@ -33,7 +33,7 @@ spec:
       # Wait for a controller to be up (which implies couchdb is up as well).
 {{ include "openwhisk.readiness.waitForController" . | indent 6 }}
       containers:
-      - name: {{ .Values.providers.alarm.name | quote }}
+      - name: alarmprovider
         image: "{{- .Values.providers.alarm.imageName -}}:{{- .Values.providers.alarm.imageTag -}}"
         imagePullPolicy: {{ .Values.providers.alarm.imagePullPolicy | quote }}
         ports:
@@ -54,22 +54,22 @@ spec:
         - name: "DB_PROTOCOL"
           valueFrom:
             configMapKeyRef:
-              name: db.config
+              name: {{ .Release.Name }}-db.config
               key: db_protocol
         - name: "DB_HOST"
           valueFrom:
             configMapKeyRef:
-              name: db.config
+              name: {{ .Release.Name }}-db.config
               key: db_host_port
         - name: "DB_USERNAME"
           valueFrom:
             secretKeyRef:
-              name: db.auth
+              name: {{ .Release.Name }}-db.auth
               key: db_username
         - name: "DB_PASSWORD"
           valueFrom:
             secretKeyRef:
-              name: db.auth
+              name: {{ .Release.Name }}-db.auth
               key: db_password
         {{- end }}
         - name: "DB_PREFIX"
@@ -77,12 +77,12 @@ spec:
         - name: "ROUTER_HOST"
           valueFrom:
             configMapKeyRef:
-              name: whisk.config
+              name: {{ .Release.Name }}-whisk.config
               key: whisk_api_host_nameAndPort
         - name: "ENDPOINT_AUTH"
           valueFrom:
             configMapKeyRef:
-              name: whisk.config
+              name: {{ .Release.Name }}-whisk.config
               key: whisk_api_host_nameAndPort
         volumeMounts:
           - name: alarm-logs
diff --git a/helm/openwhisk/templates/provider-alarm-pvc.yaml b/helm/openwhisk/templates/provider-alarm-pvc.yaml
index a45c9a8..a4296ee 100644
--- a/helm/openwhisk/templates/provider-alarm-pvc.yaml
+++ b/helm/openwhisk/templates/provider-alarm-pvc.yaml
@@ -5,7 +5,7 @@
 apiVersion: v1
 kind: PersistentVolumeClaim
 metadata:
-  name: {{ .Values.providers.alarm.persistence.pvcName | quote }}
+  name: {{ .Release.Name }}-alarmprovider-pvc
   labels:
 {{ include "openwhisk.label_boilerplate" . | indent 4 }}
 spec:
diff --git a/helm/openwhisk/templates/provider-cloudant-pod.yaml b/helm/openwhisk/templates/provider-cloudant-pod.yaml
index 8fc94d5..c77b2dd 100644
--- a/helm/openwhisk/templates/provider-cloudant-pod.yaml
+++ b/helm/openwhisk/templates/provider-cloudant-pod.yaml
@@ -5,19 +5,19 @@
 apiVersion: apps/v1
 kind: Deployment
 metadata:
-  name: {{ .Values.providers.cloudant.name | quote }}
+  name: {{ .Release.Name }}-cloudantprovider
   labels:
-    name: cloudantprovider
+    name: {{ .Release.Name }}-cloudantprovider
 {{ include "openwhisk.label_boilerplate" . | indent 4 }}
 spec:
   replicas: {{ .Values.providers.cloudant.replicaCount }}
   selector:
     matchLabels:
-      name: {{ .Values.providers.cloudant.name | quote }}
+      name: {{ .Release.Name }}-cloudantprovider
   template:
     metadata:
       labels:
-        name: {{ .Values.providers.cloudant.name | quote }}
+        name: {{ .Release.Name }}-cloudantprovider
 {{ include "openwhisk.label_boilerplate" . | indent 8 }}
     spec:
       restartPolicy: {{ .Values.providers.cloudant.restartPolicy }}
@@ -25,7 +25,7 @@ spec:
         - name: cloudant-logs
 {{- if .Values.k8s.persistence.enabled }}
           persistentVolumeClaim:
-            claimName: {{ .Values.providers.cloudant.persistence.pvcName | quote }}
+            claimName: {{ .Release.Name }}-cloudantprovider-pvc
 {{- else }}
           emptyDir: {}
 {{- end }}
@@ -33,7 +33,7 @@ spec:
       # Wait for a controller to be up (which implies couchdb is up as well).
 {{ include "openwhisk.readiness.waitForController" . | indent 6 }}
       containers:
-      - name: {{ .Values.providers.cloudant.name | quote }}
+      - name: cloudantprovider
         image: "{{- .Values.providers.cloudant.imageName -}}:{{- .Values.providers.cloudant.imageTag -}}"
         imagePullPolicy: {{ .Values.providers.cloudant.imagePullPolicy | quote }}
         ports:
@@ -55,22 +55,22 @@ spec:
         - name: "DB_PROTOCOL"
           valueFrom:
             configMapKeyRef:
-              name: db.config
+              name: {{ .Release.Name }}-db.config
               key: db_protocol
         - name: "DB_HOST"
           valueFrom:
             configMapKeyRef:
-              name: db.config
+              name: {{ .Release.Name }}-db.config
               key: db_host_port
         - name: "DB_USERNAME"
           valueFrom:
             secretKeyRef:
-              name: db.auth
+              name: {{ .Release.Name }}-db.auth
               key: db_username
         - name: "DB_PASSWORD"
           valueFrom:
             secretKeyRef:
-              name: db.auth
+              name: {{ .Release.Name }}-db.auth
               key: db_password
         {{- end }}
         - name: "DB_PREFIX"
@@ -78,12 +78,12 @@ spec:
         - name: "ROUTER_HOST"
           valueFrom:
             configMapKeyRef:
-              name: whisk.config
+              name: {{ .Release.Name }}-whisk.config
               key: whisk_api_host_nameAndPort
         - name: "ENDPOINT_AUTH"
           valueFrom:
             configMapKeyRef:
-              name: whisk.config
+              name: {{ .Release.Name }}-whisk.config
               key: whisk_api_host_nameAndPort
         volumeMounts:
           - name: cloudant-logs
diff --git a/helm/openwhisk/templates/provider-cloudant-pvc.yaml b/helm/openwhisk/templates/provider-cloudant-pvc.yaml
index 4b49879..5a243a9 100644
--- a/helm/openwhisk/templates/provider-cloudant-pvc.yaml
+++ b/helm/openwhisk/templates/provider-cloudant-pvc.yaml
@@ -5,7 +5,7 @@
 apiVersion: v1
 kind: PersistentVolumeClaim
 metadata:
-  name: {{ .Values.providers.cloudant.persistence.pvcName | quote }}
+  name: {{ .Release.Name }}-cloudantprovider-pvc
   labels:
 {{ include "openwhisk.label_boilerplate" . | indent 4 }}
 spec:
diff --git a/helm/openwhisk/templates/provider-kafka-pod.yaml b/helm/openwhisk/templates/provider-kafka-pod.yaml
index f4f240f..3e26e36 100644
--- a/helm/openwhisk/templates/provider-kafka-pod.yaml
+++ b/helm/openwhisk/templates/provider-kafka-pod.yaml
@@ -5,19 +5,19 @@
 apiVersion: apps/v1
 kind: Deployment
 metadata:
-  name: {{ .Values.providers.kafka.name | quote }}
+  name: {{ .Release.Name }}-kafkaprovider
   labels:
-    name: {{ .Values.providers.kafka.name | quote }}
+    name: {{ .Release.Name }}-kafkaprovider
 {{ include "openwhisk.label_boilerplate" . | indent 4 }}
 spec:
   replicas: {{ .Values.providers.kafka.replicaCount }}
   selector:
     matchLabels:
-      name: {{ .Values.providers.kafka.name | quote }}
+      name: {{ .Release.Name }}-kafkaprovider
   template:
     metadata:
       labels:
-        name: {{ .Values.providers.kafka.name | quote }}
+        name: {{ .Release.Name }}-kafkaprovider
 {{ include "openwhisk.label_boilerplate" . | indent 8 }}
     spec:
       restartPolicy: {{ .Values.providers.kafka.restartPolicy }}
@@ -25,7 +25,7 @@ spec:
       # Wait for a controller to be up (which implies couchdb and kafka are up as well).
 {{ include "openwhisk.readiness.waitForController" . | indent 6 }}
       containers:
-      - name: {{ .Values.providers.kafka.name | quote }}
+      - name: kafkaprovider
         image: "{{- .Values.providers.kafka.imageName -}}:{{- .Values.providers.kafka.imageTag -}}"
         imagePullPolicy: {{ .Values.providers.kafka.imagePullPolicy | quote }}
         ports:
@@ -45,17 +45,17 @@ spec:
         - name: "DB_URL"
           valueFrom:
             configMapKeyRef:
-              name: db.config
+              name: {{ .Release.Name }}-db.config
               key: db_url
         - name: "DB_USER"
           valueFrom:
             secretKeyRef:
-              name: db.auth
+              name: {{ .Release.Name }}-db.auth
               key: db_username
         - name: "DB_PASS"
           valueFrom:
             secretKeyRef:
-              name: db.auth
+              name: {{ .Release.Name }}-db.auth
               key: db_password
         {{- end }}
         - name: "DB_PREFIX"
@@ -65,11 +65,11 @@ spec:
         - name: "ROUTER_HOST"
           valueFrom:
             configMapKeyRef:
-              name: whisk.config
+              name: {{ .Release.Name }}-whisk.config
               key: whisk_api_host_nameAndPort
         - name: "ENDPOINT_AUTH"
           valueFrom:
             configMapKeyRef:
-              name: whisk.config
+              name: {{ .Release.Name }}-whisk.config
               key: whisk_api_host_nameAndPort
 {{- end }}
diff --git a/helm/openwhisk/templates/redis-pod.yaml b/helm/openwhisk/templates/redis-pod.yaml
index f394957..e1117c6 100644
--- a/helm/openwhisk/templates/redis-pod.yaml
+++ b/helm/openwhisk/templates/redis-pod.yaml
@@ -4,19 +4,19 @@
 apiVersion: apps/v1
 kind: Deployment
 metadata:
-  name: {{ .Values.redis.name | quote }}
+  name: {{ .Release.Name }}-redis
   labels:
-    name: {{ .Values.redis.name | quote }}
+    name: {{ .Release.Name }}-redis
 {{ include "openwhisk.label_boilerplate" . | indent 4 }}
 spec:
   replicas: {{ .Values.redis.replicaCount }}
   selector:
     matchLabels:
-      name: {{ .Values.redis.name | quote }}
+      name: {{ .Release.Name }}-redis
   template:
     metadata:
       labels:
-        name: {{ .Values.redis.name | quote }}
+        name: {{ .Release.Name }}-redis
 {{ include "openwhisk.label_boilerplate" . | indent 8 }}
     spec:
       restartPolicy: {{ .Values.redis.restartPolicy }}
@@ -24,14 +24,14 @@ spec:
       {{- if .Values.affinity.enabled }}
       affinity:
 {{ include "openwhisk.affinity.core" . | indent 8 }}
-{{ include "openwhisk.affinity.selfAntiAffinity" ( .Values.redis.name | quote ) | indent 8 }}
+{{ include "openwhisk.affinity.selfAntiAffinity" ( printf "%s-redis" .Release.Name | quote ) | indent 8 }}
       {{- end }}
 
 {{- if .Values.k8s.persistence.enabled }}
       volumes:
       - name: redis-data
         persistentVolumeClaim:
-          claimName: {{ .Values.redis.persistence.pvcName | quote }}
+          claimName: {{ .Release.Name }}-redis-pvc
 {{- end }}
 
 {{- if .Values.k8s.persistence.enabled }}
diff --git a/helm/openwhisk/templates/redis-pvc.yaml b/helm/openwhisk/templates/redis-pvc.yaml
index d5dfa1c..9e8fd33 100644
--- a/helm/openwhisk/templates/redis-pvc.yaml
+++ b/helm/openwhisk/templates/redis-pvc.yaml
@@ -5,7 +5,7 @@
 apiVersion: v1
 kind: PersistentVolumeClaim
 metadata:
-  name: {{ .Values.redis.persistence.pvcName | quote }}
+  name: {{ .Release.Name }}-redis-pvc
   labels:
 {{ include "openwhisk.label_boilerplate" . | indent 4 }}
 spec:
diff --git a/helm/openwhisk/templates/redis-svc.yaml b/helm/openwhisk/templates/redis-svc.yaml
index d28b15c..a0863da 100644
--- a/helm/openwhisk/templates/redis-svc.yaml
+++ b/helm/openwhisk/templates/redis-svc.yaml
@@ -4,13 +4,13 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ .Values.redis.name | quote }}
+  name: {{ .Release.Name }}-redis
   labels:
-    name: {{ .Values.redis.name | quote }}
+    name: {{ .Release.Name }}-redis
 {{ include "openwhisk.label_boilerplate" . | indent 4 }}
 spec:
   selector:
-    name: {{ .Values.redis.name | quote }}
+    name: {{ .Release.Name }}-redis
   ports:
     - port: {{ .Values.redis.port }}
       name: redis
diff --git a/helm/openwhisk/templates/tests/package-checker-cm.yaml b/helm/openwhisk/templates/tests/package-checker-cm.yaml
index 46943bb..88dd0ed 100644
--- a/helm/openwhisk/templates/tests/package-checker-cm.yaml
+++ b/helm/openwhisk/templates/tests/package-checker-cm.yaml
@@ -4,7 +4,7 @@
 apiVersion: v1
 kind: ConfigMap
 metadata:
-  name: openwhisk-tests-package-checker-cm
+  name: {{ .Release.Name }}-tests-package-checker
   labels:
 {{ include "openwhisk.label_boilerplate" . | indent 4 }}
 data:
diff --git a/helm/openwhisk/templates/tests/package-checker-pod.yaml b/helm/openwhisk/templates/tests/package-checker-pod.yaml
index 7e68d33..9715929 100644
--- a/helm/openwhisk/templates/tests/package-checker-pod.yaml
+++ b/helm/openwhisk/templates/tests/package-checker-pod.yaml
@@ -4,9 +4,9 @@
 apiVersion: v1
 kind: Pod
 metadata:
-  name: openwhisk-tests-package-checker
+  name: {{ .Release.Name }}-tests-package-checker
   labels:
-    name: openwhisk-tests-package-checker
+    name: {{ .Release.Name }}-tests-package-checker
     ow-testpod: "true"
 {{ include "openwhisk.label_boilerplate" . | indent 4 }}
   annotations:
@@ -16,7 +16,7 @@ spec:
   volumes:
   - name: task-dir
     configMap:
-      name: openwhisk-tests-package-checker-cm
+      name: {{ .Release.Name }}-tests-package-checker
   containers:
   - name: package-checker
     image: "{{- .Values.utility.imageName -}}:{{- .Values.utility.imageTag -}}"
@@ -30,12 +30,12 @@ spec:
       - name: "WSK_AUTH"
         valueFrom:
           secretKeyRef:
-            name: whisk.auth
+            name: {{ .Release.Name }}-whisk.auth
             key: guest
       - name: "WSK_API_HOST_URL"
         valueFrom:
           configMapKeyRef:
-            name: whisk.config
+            name: {{ .Release.Name }}-whisk.config
             key: whisk_api_host_url
 
       # Which of the providers was installed (and thus should be checked)?
diff --git a/helm/openwhisk/templates/tests/smoketest-cm.yaml b/helm/openwhisk/templates/tests/smoketest-cm.yaml
index b49dd5e..d0ecfd5 100644
--- a/helm/openwhisk/templates/tests/smoketest-cm.yaml
+++ b/helm/openwhisk/templates/tests/smoketest-cm.yaml
@@ -4,7 +4,7 @@
 apiVersion: v1
 kind: ConfigMap
 metadata:
-  name: openwhisk-tests-smoketest-cm
+  name: {{ .Release.Name }}-tests-smoketest
   labels:
 {{ include "openwhisk.label_boilerplate" . | indent 4 }}
 data:
diff --git a/helm/openwhisk/templates/tests/smoketest-pod.yaml b/helm/openwhisk/templates/tests/smoketest-pod.yaml
index d33dcd3..998206c 100644
--- a/helm/openwhisk/templates/tests/smoketest-pod.yaml
+++ b/helm/openwhisk/templates/tests/smoketest-pod.yaml
@@ -4,9 +4,9 @@
 apiVersion: v1
 kind: Pod
 metadata:
-  name: openwhisk-tests-smoketest
+  name: {{ .Release.Name }}-tests-smoketest
   labels:
-    name: openwhisk-tests-smoketest
+    name: {{ .Release.Name }}-tests-smoketest
     ow-testpod: "true"
 {{ include "openwhisk.label_boilerplate" . | indent 4 }}
   annotations:
@@ -16,7 +16,7 @@ spec:
   volumes:
   - name: task-dir
     configMap:
-      name: openwhisk-tests-smoketest-cm
+      name: {{ .Release.Name }}-tests-smoketest
   containers:
   - name: smoketest
     image: "{{- .Values.utility.imageName -}}:{{- .Values.utility.imageTag -}}"
@@ -30,10 +30,10 @@ spec:
       - name: "WSK_AUTH"
         valueFrom:
           secretKeyRef:
-            name: whisk.auth
+            name: {{ .Release.Name }}-whisk.auth
             key: guest
       - name: "WSK_API_HOST_URL"
         valueFrom:
           configMapKeyRef:
-            name: whisk.config
+            name: {{ .Release.Name }}-whisk.config
             key: whisk_api_host_url
diff --git a/helm/openwhisk/templates/tests/systemtest-cm.yaml b/helm/openwhisk/templates/tests/systemtest-cm.yaml
index e0edf63..16daef5 100644
--- a/helm/openwhisk/templates/tests/systemtest-cm.yaml
+++ b/helm/openwhisk/templates/tests/systemtest-cm.yaml
@@ -5,7 +5,7 @@
 apiVersion: v1
 kind: ConfigMap
 metadata:
-  name: openwhisk-tests-systemtest-cm
+  name: {{ .Release.Name }}-tests-systemtest
   labels:
 {{ include "openwhisk.label_boilerplate" . | indent 4 }}
 data:
diff --git a/helm/openwhisk/templates/tests/systemtest-pod.yaml b/helm/openwhisk/templates/tests/systemtest-pod.yaml
index 5127016..9c2c87e 100644
--- a/helm/openwhisk/templates/tests/systemtest-pod.yaml
+++ b/helm/openwhisk/templates/tests/systemtest-pod.yaml
@@ -5,9 +5,9 @@
 apiVersion: v1
 kind: Pod
 metadata:
-  name: openwhisk-tests-systemtest
+  name: {{ .Release.Name }}-tests-systemtest
   labels:
-    name: openwhisk-tests-systemtest
+    name: {{ .Release.Name }}-tests-systemtest
     ow-testpod: "true"
 {{ include "openwhisk.label_boilerplate" . | indent 4 }}
   annotations:
@@ -17,7 +17,7 @@ spec:
   volumes:
   - name: task-dir
     configMap:
-      name: openwhisk-tests-systemtest-cm
+      name: {{ .Release.Name }}-tests-systemtest
   containers:
   - name: systemtest
     image: "{{- .Values.utility.imageName -}}:{{- .Values.utility.imageTag -}}"
@@ -31,12 +31,12 @@ spec:
       - name: "WSK_AUTH"
         valueFrom:
           secretKeyRef:
-            name: whisk.auth
+            name: {{ .Release.Name }}-whisk.auth
             key: guest
       - name: "WSK_API_HOST_URL"
         valueFrom:
           configMapKeyRef:
-            name: whisk.config
+            name: {{ .Release.Name }}-whisk.config
             key: whisk_api_host_url
       - name: "OW_GIT_TAG_OPENWHISK"
         value: {{ .Values.whisk.versions.openwhisk.gitTag | quote }}
diff --git a/helm/openwhisk/templates/zookeeper-cm.yaml b/helm/openwhisk/templates/zookeeper-cm.yaml
index 6487051..a89331c 100644
--- a/helm/openwhisk/templates/zookeeper-cm.yaml
+++ b/helm/openwhisk/templates/zookeeper-cm.yaml
@@ -1,11 +1,10 @@
 # Licensed to the Apache Software Foundation (ASF) under one or more contributor
 # license agreements; and to You under the Apache License, Version 2.0.
 
-{{ if not .Values.zookeeper.external }}
 apiVersion: v1
 kind: ConfigMap
 metadata:
-  name: {{ .Values.zookeeper.name | quote }}
+  name: {{ .Release.Name }}-zookeeper
   labels:
 {{ include "openwhisk.label_boilerplate" . | indent 4 }}
 data:
@@ -17,10 +16,9 @@ data:
     dataDir={{ .Values.zookeeper.config.dataDir }}
     dataLogDir={{ .Values.zookeeper.config.dataLogDir }}
 {{- $kubeDomain := .Values.k8s.domain }}
-{{- $zkname := .Values.zookeeper.name }}
+{{- $zkname := printf "%s-zookeeper" .Release.Name }}
 {{- $zkserverport := .Values.zookeeper.serverPort }}
 {{- $zkelectionport := .Values.zookeeper.leaderElectionPort }}
 {{- range $i, $e := until (int .Values.zookeeper.replicaCount) }}
     server.{{ . }}={{ $zkname }}-{{ . }}.{{ $zkname }}.{{ $.Release.Namespace }}.svc.{{ $kubeDomain }}:{{ $zkserverport }}:{{ $zkelectionport }}
 {{- end }}
-{{- end }}
diff --git a/helm/openwhisk/templates/zookeeper-pod.yaml b/helm/openwhisk/templates/zookeeper-pod.yaml
index 7199004..746e137 100644
--- a/helm/openwhisk/templates/zookeeper-pod.yaml
+++ b/helm/openwhisk/templates/zookeeper-pod.yaml
@@ -1,25 +1,24 @@
 # Licensed to the Apache Software Foundation (ASF) under one or more contributor
 # license agreements; and to You under the Apache License, Version 2.0.
 
-{{ if not .Values.zookeeper.external }}
 apiVersion: apps/v1
 kind: StatefulSet
 metadata:
-  name: {{ .Values.zookeeper.name | quote }}
+  name: {{ .Release.Name }}-zookeeper
   labels:
-    name: {{ .Values.zookeeper.name | quote }}
+    name: {{ .Release.Name }}-zookeeper
 {{ include "openwhisk.label_boilerplate" . | indent 4 }}
 spec:
-  serviceName: {{ .Values.zookeeper.name | quote }}
+  serviceName: {{ .Release.Name }}-zookeeper
   podManagementPolicy: "Parallel"
   replicas: {{ .Values.zookeeper.replicaCount }}
   selector:
     matchLabels:
-      name: {{ .Values.zookeeper.name | quote }}
+      name: {{ .Release.Name }}-zookeeper
   template:
     metadata:
       labels:
-        name: {{ .Values.zookeeper.name | quote }}
+        name: {{ .Release.Name }}-zookeeper
 {{ include "openwhisk.label_boilerplate" . | indent 8 }}
     spec:
       restartPolicy: {{ .Values.zookeeper.restartPolicy | quote }}
@@ -27,27 +26,27 @@ spec:
 {{- if .Values.affinity.enabled }}
       affinity:
 {{ include "openwhisk.affinity.core" . | indent 8 }}
-{{ include "openwhisk.affinity.selfAntiAffinity" ( .Values.zookeeper.name | quote ) | indent 8 }}
+{{ include "openwhisk.affinity.selfAntiAffinity" ( printf "%s-zookeeper" .Release.Name ) | indent 8 }}
 {{- end }}
 
       volumes:
         - name: zk-config
           configMap:
-            name: {{ .Values.zookeeper.name | quote }}
+            name: {{ .Release.Name }}-zookeeper
 {{- if and .Values.k8s.persistence.enabled (eq (int .Values.zookeeper.replicaCount) 1) }}
-        - name: "{{- .Values.zookeeper.persistence.pvcName -}}-data"
+        - name: "{{ .Release.Name }}-zookeeper-pvc-data"
           persistentVolumeClaim:
-            claimName: "{{- .Values.zookeeper.persistence.pvcName -}}-data"
-        - name: "{{- .Values.zookeeper.persistence.pvcName -}}-datalog"
+            claimName: "{{ .Release.Name }}-zookeeper-pvc-data"
+        - name: "{{ .Release.Name }}-zookeeper-pvc-datalog"
           persistentVolumeClaim:
-            claimName: "{{- .Values.zookeeper.persistence.pvcName -}}-datalog"
+            claimName: "{{ .Release.Name }}-zookeeper-pvc-datalog"
 {{- end }}
 
       containers:
-      - name: {{ .Values.zookeeper.name | quote }}
+      - name: zookeeper
         image: "{{- .Values.zookeeper.imageName -}}:{{- .Values.zookeeper.imageTag -}}"
         imagePullPolicy: {{ .Values.zookeeper.imagePullPolicy | quote }}
-        command: ["/bin/bash", "-c", "hostname -s | cut -d'-' -f2 > {{ .Values.zookeeper.config.dataDir }}/myid; cat {{ .Values.zookeeper.config.dataDir }}/myid; cat /conf/zoo.cfg; zkServer.sh start-foreground"]
+        command: ["/bin/bash", "-c", "hostname -s | cut -d'-' -f3 > {{ .Values.zookeeper.config.dataDir }}/myid; cat {{ .Values.zookeeper.config.dataDir }}/myid; cat /conf/zoo.cfg; zkServer.sh start-foreground"]
         ports:
         - name: zookeeper
           containerPort: {{ .Values.zookeeper.port }}
@@ -61,16 +60,16 @@ spec:
           name: zk-config
 {{- if .Values.k8s.persistence.enabled }}
         - mountPath: {{ .Values.zookeeper.config.dataDir }}
-          name: "{{- .Values.zookeeper.persistence.pvcName -}}-data"
+          name: "{{ .Release.Name }}-zookeeper-pvc-data"
         - mountPath: {{ .Values.zookeeper.config.dataLogDir }}
-          name: "{{- .Values.zookeeper.persistence.pvcName -}}-datalog"
+          name: "{{ .Release.Name }}-zookeeper-pvc-datalog"
 {{- end }}
 
 {{/* PVCs created by volumeClaimTemplates must be manually removed; only create them if we absolutely need them */}}
 {{- if and .Values.k8s.persistence.enabled (gt (int .Values.zookeeper.replicaCount) 1) }}
   volumeClaimTemplates:
   - metadata:
-      name: "{{- .Values.zookeeper.persistence.pvcName -}}-data"
+      name: "{{ .Release.Name }}-zookeeper-pvc-data"
     spec:
 {{- if not .Values.k8s.persistence.hasDefaultStorageClass }}
       storageClassName: {{ .Values.k8s.persistence.explicitStorageClass }}
@@ -81,7 +80,7 @@ spec:
         requests:
           storage: {{ .Values.zookeeper.persistence.size }}
   - metadata:
-      name: "{{- .Values.zookeeper.persistence.pvcName -}}-datalog"
+      name: "{{ .Release.Name }}-zookeeper-pvc-datalog"
     spec:
 {{- if not .Values.k8s.persistence.hasDefaultStorageClass }}
       storageClassName: {{ .Values.k8s.persistence.explicitStorageClass }}
@@ -92,4 +91,3 @@ spec:
         requests:
           storage: {{ .Values.zookeeper.persistence.size }}
 {{- end }}
-{{- end }}
diff --git a/helm/openwhisk/templates/zookeeper-pvc-data.yaml b/helm/openwhisk/templates/zookeeper-pvc-data.yaml
index 9d04e20..d2ddd78 100644
--- a/helm/openwhisk/templates/zookeeper-pvc-data.yaml
+++ b/helm/openwhisk/templates/zookeeper-pvc-data.yaml
@@ -1,11 +1,11 @@
 # Licensed to the Apache Software Foundation (ASF) under one or more contributor
 # license agreements; and to You under the Apache License, Version 2.0.
 
-{{ if and (not .Values.zookeeper.external) (and .Values.k8s.persistence.enabled (eq (int .Values.zookeeper.replicaCount) 1 )) }}
+{{ if and .Values.k8s.persistence.enabled (eq (int .Values.zookeeper.replicaCount) 1 ) }}
 apiVersion: v1
 kind: PersistentVolumeClaim
 metadata:
-  name: "{{- .Values.zookeeper.persistence.pvcName -}}-data"
+  name: "{{ .Release.Name }}-zookeeper-pvc-data"
   labels:
 {{ include "openwhisk.label_boilerplate" . | indent 4 }}
 spec:
diff --git a/helm/openwhisk/templates/zookeeper-pvc-datalog.yaml b/helm/openwhisk/templates/zookeeper-pvc-datalog.yaml
index a99b757..ff960cf 100644
--- a/helm/openwhisk/templates/zookeeper-pvc-datalog.yaml
+++ b/helm/openwhisk/templates/zookeeper-pvc-datalog.yaml
@@ -1,11 +1,11 @@
 # Licensed to the Apache Software Foundation (ASF) under one or more contributor
 # license agreements; and to You under the Apache License, Version 2.0.
 
-{{ if and (not .Values.zookeeper.external) (and .Values.k8s.persistence.enabled (eq (int .Values.zookeeper.replicaCount) 1 )) }}
+{{ if and .Values.k8s.persistence.enabled (eq (int .Values.zookeeper.replicaCount) 1 ) }}
 apiVersion: v1
 kind: PersistentVolumeClaim
 metadata:
-  name: "{{- .Values.zookeeper.persistence.pvcName -}}-datalog"
+  name: "{{ .Release.Name }}-zookeeper-pvc-datalog"
   labels:
 {{ include "openwhisk.label_boilerplate" . | indent 4 }}
 spec:
diff --git a/helm/openwhisk/templates/zookeeper-svc.yaml b/helm/openwhisk/templates/zookeeper-svc.yaml
index 8495870..de0d01c 100644
--- a/helm/openwhisk/templates/zookeeper-svc.yaml
+++ b/helm/openwhisk/templates/zookeeper-svc.yaml
@@ -1,17 +1,16 @@
 # Licensed to the Apache Software Foundation (ASF) under one or more contributor
 # license agreements; and to You under the Apache License, Version 2.0.
 
-{{ if not .Values.zookeeper.external }}
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ .Values.zookeeper.name | quote }}
+  name: {{ .Release.Name }}-zookeeper
   labels:
-    name: {{ .Values.zookeeper.name | quote }}
+    name: {{ .Release.Name }}-zookeeper
 {{ include "openwhisk.label_boilerplate" . | indent 4 }}
 spec:
   selector:
-    name: {{ .Values.zookeeper.name | quote }}
+    name: {{ .Release.Name }}-zookeeper
   clusterIP: None
   ports:
     - port: {{ .Values.zookeeper.port }}
@@ -20,4 +19,3 @@ spec:
       name: "server"
     - port: {{ .Values.zookeeper.leaderElectionPort }}
       name: "leader-election"
-{{- end }}
diff --git a/helm/openwhisk/values-metadata.yaml b/helm/openwhisk/values-metadata.yaml
index 555867c..54df8bf 100644
--- a/helm/openwhisk/values-metadata.yaml
+++ b/helm/openwhisk/values-metadata.yaml
@@ -11,12 +11,6 @@ whisk:
     label: "General OpenWhisk configuration"
     description: "System-wide configuration parameters for your OpenWhisk deployment"
   ingress:
-    name:
-      __metadata:
-        label: "Ingress name"
-        description: "A name for the Ingress resource"
-        type: "string"
-        required: true
     apiHostName:
       __metadata:
         label: "API host name"
@@ -530,18 +524,6 @@ zookeeper:
   __metadata:
     label: "Zookeeper configuration"
     description: "Update these default values to customize the Zookeeper deployment"
-  external:
-    __metadata:
-      label: "External"
-      description: "If using an externally deployed Zookeeper"
-      type: "boolean"
-      required: true
-  name:
-    __metadata:
-      label: "Name"
-      description: "The service name"
-      type: "string"
-      required: true
   imageName:
     __metadata:
       label: "Image name"
@@ -605,12 +587,6 @@ zookeeper:
       type: "string"
       required: true
   persistence:
-    pvcName:
-      __metadata:
-        label: "PVC name"
-        description: "The PVC name"
-        type: "string"
-        required: true
     size:
       __metadata:
         label: "Size"
@@ -653,18 +629,6 @@ kafka:
   __metadata:
     label: "Kafka configuration"
     description: "Update these default values to customize the Kafka deployment"
-  external:
-    __metadata:
-      label: "External"
-      description: "If using an externally deployed Kafka"
-      type: "boolean"
-      required: true
-  name:
-    __metadata:
-      label: "Name"
-      description: "The service name"
-      type: "string"
-      required: true
   imageName:
     __metadata:
       label: "Image name"
@@ -709,12 +673,6 @@ kafka:
       type: "string"
       required: true
   persistence:
-    pvcName:
-      __metadata:
-        label: "PVC name"
-        description: "The name of the PersistentVolumeClaim for Kafka"
-        type: "string"
-        required: true
     size:
       __metadata:
         label: "Size"
@@ -738,12 +696,6 @@ db:
       description: "If the database should be wiped and initialised when OpenWhisk is deployed"
       type: "boolean"
       required: true
-  name:
-    __metadata:
-      label: "Name"
-      description: "The service name"
-      type: "string"
-      required: true
   imageName:
     __metadata:
       label: "Image name"
@@ -853,12 +805,6 @@ db:
       type: "string"
       required: true
   persistence:
-    pvcName:
-      __metadata:
-        label: "PVC name"
-        description: "The PersistentVolumeClaim name for CouchDB"
-        type: "string"
-        required: true
     size:
       __metadata:
         label: "Size"
@@ -870,12 +816,6 @@ nginx:
   __metadata:
     label: "NGINX Configuration"
     description: "Update these default values to customize the NGINX deployment"
-  name:
-    __metadata:
-      label: "Name"
-      description: "The service name"
-      type: "string"
-      required: true
   imageName:
     __metadata:
       label: "Image name"
@@ -936,12 +876,6 @@ controller:
   __metadata:
     label: "Controller configuration"
     description: "Update these default values to customize the OpenWhisk Controller deployment"
-  name:
-    __metadata:
-      label: "Name"
-      description: "The service name"
-      type: "string"
-      required: true
   imageName:
     __metadata:
       label: "Image name"
@@ -1009,12 +943,6 @@ invoker:
   __metadata:
     label: "Invoker Configuration"
     description: "Update these default values to customize the OpenWhisk Invoker deployment"
-  name:
-    __metadata:
-      label: "Name"
-      description: "The service name"
-      type: "string"
-      required: true
   imageName:
     __metadata:
       label: "Image name"
@@ -1102,12 +1030,6 @@ invoker:
           type: "number"
           required: true
       agent:
-        name:
-          __metadata:
-            label: "name of InvokerAgent"
-            description: "The name of the invoker agent daemonset"
-            type: "string"
-            required: true
         imageName:
           __metadata:
             label: "InvokerAgent image name"
@@ -1163,12 +1085,6 @@ apigw:
   __metadata:
     label: "API gateway configuration"
     description: "Update these default values to customize the API Gateway deployment"
-  name:
-    __metadata:
-      label: "Name"
-      description: "The service name"
-      type: "string"
-      required: true
   imageName:
     __metadata:
       label: "Image name"
@@ -1223,12 +1139,6 @@ redis:
   __metadata:
     label: "Redis configuration"
     description: "Update these default values to customize the Redis deployment"
-  name:
-    __metadata:
-      label: "Name"
-      description: "The service name"
-      type: "string"
-      required: true
   imageName:
     __metadata:
       label: "Image name"
@@ -1273,12 +1183,6 @@ redis:
       type: "string"
       required: true
   persistence:
-    pvcName:
-      __metadata:
-        label: "PVC name"
-        description: "The name of the PersistentVolumeClaim for redis"
-        type: "string"
-        required: true
     size:
       __metadata:
         label: "Size"
@@ -1341,12 +1245,6 @@ providers:
         description: "If alarm provider should be enabled"
         type: "boolean"
         required: true
-    name:
-      __metadata:
-        label: "Alarm name"
-        description: "The Alarm service name"
-        type: "string"
-        required: true
     imageName:
       __metadata:
         label: "Alarm image name"
@@ -1397,12 +1295,6 @@ providers:
         type: "string"
         required: true
     persistence:
-      pvcName:
-        __metadata:
-          label: "Alarm PVC name"
-          description: "The name of the PersistentVolumeClaim for the Alarm provider"
-          type: "string"
-          required: true
       size:
         __metadata:
           label: "Alarm persistence size"
@@ -1417,12 +1309,6 @@ providers:
         description: "if Cloudant provider should be enabled"
         type: "boolean"
         required: true
-    name:
-      __metadata:
-        label: "Cloudant name"
-        description: "The service name for the Cloudant provider"
-        type: "string"
-        required: true
     imageName:
       __metadata:
         label: "Cloudant image name"
@@ -1473,12 +1359,6 @@ providers:
         type: "string"
         required: true
     persistence:
-      pvcName:
-        __metadata:
-          label: "Cloudant PVC name"
-          description: "The PersistentVolumeClaim name for the Cloudant provider"
-          type: "string"
-          required: true
       size:
         __metadata:
           label: "Cloudant persistence size"
@@ -1493,12 +1373,6 @@ providers:
         description: "If the Kafka provider should be enabled"
         type: "boolean"
         required: true
-    name:
-      __metadata:
-        label: "Kafka name"
-        description: "The Kafka provider service name"
-        type: "string"
-        required: true
     imageName:
       __metadata:
         label: "Kafka image name"
diff --git a/helm/openwhisk/values.yaml b/helm/openwhisk/values.yaml
index 05f760a..3708911 100644
--- a/helm/openwhisk/values.yaml
+++ b/helm/openwhisk/values.yaml
@@ -33,7 +33,6 @@ whisk:
   # Ingress defines how to access OpenWhisk from outside the Kubernetes cluster.
   # See docs/ingress.md for a discussion of how to provide these values.
   ingress:
-    name: "ow-ingress"
     apiHostName: ""
     apiHostPort: 31001
     apiHostProto: "https"
@@ -150,8 +149,6 @@ docker:
 
 # zookeeper configurations
 zookeeper:
-  external: false
-  name: "zookeeper"
   imageName: "zookeeper"
   imageTag: "3.4"
   imagePullPolicy: "IfNotPresent"
@@ -162,7 +159,6 @@ zookeeper:
   serverPort: 2888
   leaderElectionPort: 3888
   persistence:
-    pvcName: zookeeper-pvc
     size: 256Mi
   # Default values for entries in zoo.cfg (see Apache Zookeeper documentation for semantics)
   config:
@@ -174,8 +170,6 @@ zookeeper:
 
 # kafka configurations
 kafka:
-  external: false
-  name: "kafka"
   imageName: "wurstmeister/kafka"
   imageTag: "0.11.0.1"
   imagePullPolicy: "IfNotPresent"
@@ -184,7 +178,6 @@ kafka:
   restartPolicy: "Always"
   port: 9092
   persistence:
-    pvcName: kafka-pvc
     size: 512Mi
 
 # Database configuration
@@ -193,7 +186,6 @@ db:
   # Should we run a Job to wipe and re-initialize the database when the chart is deployed?
   # This should always be true if external is false.
   wipeAndInit: true
-  name: "couchdb"
   imageName: "apache/couchdb"
   imageTag: "2.1"
   imagePullPolicy: "IfNotPresent"
@@ -213,12 +205,10 @@ db:
   actionsTable: "test_whisks"
   authsTable: "test_subjects"
   persistence:
-    pvcName: couchdb-pvc
     size: 2Gi
 
 # Nginx configurations
 nginx:
-  name: "nginx"
   imageName: "nginx"
   imageTag: "1.13"
   imagePullPolicy: "IfNotPresent"
@@ -231,7 +221,6 @@ nginx:
 
 # Controller configurations
 controller:
-  name: "controller"
   imageName: "openwhisk/controller"
   imageTag: "9f66633"
   imagePullPolicy: "IfNotPresent"
@@ -244,7 +233,6 @@ controller:
 
 # Invoker configurations
 invoker:
-  name: "invoker"
   imageName: "openwhisk/invoker"
   imageTag: "9f66633"
   imagePullPolicy: "IfNotPresent"
@@ -260,7 +248,6 @@ invoker:
     kubernetes:
       replicaCount: 1
       agent:
-        name: "invoker-agent"
         imageName: "openwhisk/kube-invoker-agent"
         imageTag: "eb92751"
         imagePullPolicy: "IfNotPresent"
@@ -272,7 +259,6 @@ invoker:
 
 # API Gateway configurations
 apigw:
-  name: "apigateway"
   imageName: "openwhisk/apigateway"
   imageTag: "bed6e65"
   imagePullPolicy: "IfNotPresent"
@@ -284,7 +270,6 @@ apigw:
 
 # Redis (used by apigateway)
 redis:
-  name: "redis"
   imageName: "redis"
   imageTag: "4.0"
   imagePullPolicy: "IfNotPresent"
@@ -293,7 +278,6 @@ redis:
   restartPolicy: "Always"
   port: 6379
   persistence:
-    pvcName: redis-pvc
     size: 256Mi
 
 # Configuration of OpenWhisk event providers
@@ -310,7 +294,6 @@ providers:
   # Alarm provider configurations
   alarm:
     enabled: false
-    name: "alarmprovider"
     imageName: "openwhisk/alarmprovider"
     imageTag: "1.12.0"
     imagePullPolicy: "IfNotPresent"
@@ -320,12 +303,10 @@ providers:
     apiPort: 8080
     dbPrefix: "alm"
     persistence:
-      pvcName: alarmprovider-pvc
       size: 1Gi
   # Cloudant provider configurations
   cloudant:
     enabled: false
-    name: "cloudantprovider"
     imageName: "openwhisk/cloudantprovider"
     imageTag: "1.9.0"
     imagePullPolicy: "IfNotPresent"
@@ -335,12 +316,10 @@ providers:
     apiPort: 8080
     dbPrefix: "cldt"
     persistence:
-      pvcName: cloudntprovider-pvc
       size: 1Gi
   # Kafka provider configurations
   kafka:
     enabled: false
-    name: "kafkaprovider"
     imageName: "openwhisk/kafkaprovider"
     imageTag: "1.4.18"
     imagePullPolicy: "IfNotPresent"
diff --git a/tools/travis/collect-logs.sh b/tools/travis/collect-logs.sh
index 9585f33..c7774d7 100755
--- a/tools/travis/collect-logs.sh
+++ b/tools/travis/collect-logs.sh
@@ -14,19 +14,19 @@ echo "Gathering logs to upload to https://app.box.com/v/openwhisk-travis-logs"
 mkdir logs
 
 # Logs from all the pods
-kubectl -n openwhisk logs -lname=couchdb >& logs/couchdb.log
-kubectl -n openwhisk logs -lname=zookeeper >& logs/zookeeper.log
-kubectl -n openwhisk logs -lname=kafka >& logs/kafka.log
-kubectl -n openwhisk logs -lname=controller >& logs/controller.log
-kubectl -n openwhisk logs -lname=invoker -c docker-pull-runtimes >& logs/invoker-docker-pull.log
-kubectl -n openwhisk logs -lname=invoker -c invoker >& logs/invoker-invoker.log
-kubectl -n openwhisk logs -lname=nginx >& logs/nginx.log
-kubectl -n openwhisk logs jobs/install-packages >& logs/install-packages.log
-kubectl -n openwhisk logs jobs/init-couchdb >& logs/init-couchdb.log
+kubectl -n openwhisk logs -lname=ow4travis-couchdb >& logs/couchdb.log
+kubectl -n openwhisk logs -lname=ow4travis-zookeeper >& logs/zookeeper.log
+kubectl -n openwhisk logs -lname=ow4travis-kafka >& logs/kafka.log
+kubectl -n openwhisk logs -lname=ow4travis-controller >& logs/controller.log
+kubectl -n openwhisk logs -lname=ow4travis-invoker -c docker-pull-runtimes >& logs/invoker-docker-pull.log
+kubectl -n openwhisk logs -lname=ow4travis-invoker -c invoker >& logs/invoker-invoker.log
+kubectl -n openwhisk logs -lname=ow4travis-nginx >& logs/nginx.log
+kubectl -n openwhisk logs -lname=ow4travis-install-packages >& logs/install-packages.log
+kubectl -n openwhisk logs -lname=ow4travis-init-couchdb >& logs/init-couchdb.log
 kubectl logs -n openwhisk -low-testpod=true >& logs/helm-tests.log
-kubectl -n openwhisk logs -lname=alarmprovider >& logs/kafkaprovider.log
-kubectl -n openwhisk logs -lname=cloudantprovider >& logs/cloudantprovider.log
-kubectl -n openwhisk logs -lname=kafkaprovider >& logs/kafkaprovider.log
+kubectl -n openwhisk logs -lname=ow4travis-alarmprovider >& logs/kafkaprovider.log
+kubectl -n openwhisk logs -lname=ow4travis-cloudantprovider >& logs/cloudantprovider.log
+kubectl -n openwhisk logs -lname=ow4travis-kafkaprovider >& logs/kafkaprovider.log
 kubectl get pods --all-namespaces -o wide --show-all >& logs/all-pods.txt
 
 # System level logs from kubernetes cluster
diff --git a/tools/travis/deploy-chart.sh b/tools/travis/deploy-chart.sh
index d44e583..78e2412 100755
--- a/tools/travis/deploy-chart.sh
+++ b/tools/travis/deploy-chart.sh
@@ -218,19 +218,19 @@ cat mycluster.yaml
 helm install helm/openwhisk --namespace=openwhisk --name=ow4travis -f mycluster.yaml || exit 1
 
 # Wait for controller to be up
-statefulsetHealthCheck "controller"
+statefulsetHealthCheck "ow4travis-controller"
 
 # Wait for invoker to be up
-deploymentHealthCheck "invoker"
+deploymentHealthCheck "ow4travis-invoker"
 
 # Wait for the controller to confirm that it has at least one healthy invoker
 verifyHealthyInvoker
 
 # Wait for install-packages job to complete successfully
-jobHealthCheck "install-packages"
+jobHealthCheck "ow4travis-install-packages"
 
 # Verify that the providers deployed successfully
-deploymentHealthCheck "alarmprovider"
-deploymentHealthCheck "cloudantprovider"
-deploymentHealthCheck "kafkaprovider"
+deploymentHealthCheck "ow4travis-alarmprovider"
+deploymentHealthCheck "ow4travis-cloudantprovider"
+deploymentHealthCheck "ow4travis-kafkaprovider"