VOL-3139 - add name helper template

- includes the {{ .Release.Name }} be default
- can be overriden with
  - nameOverride: override the {{ .Release.Name }}-{{ .Chart.Name }}
    porition
  - fullNameOverride: override everything

Change-Id: I0e1dbccba8f1e484e13e6f9ae43ea35ce97aac4f
diff --git a/voltha-adapter-openolt/Chart.yaml b/voltha-adapter-openolt/Chart.yaml
index f338094..3cf5260 100644
--- a/voltha-adapter-openolt/Chart.yaml
+++ b/voltha-adapter-openolt/Chart.yaml
@@ -14,7 +14,7 @@
 ---
 apiVersion: "v1"
 name: "voltha-adapter-openolt"
-version: 2.4.4
+version: 2.4.5
 description: "A Helm chart for Voltha OpenOLT Adapter"
 keywords:
   - "onf"
diff --git a/voltha-adapter-openolt/templates/_helpers.tpl b/voltha-adapter-openolt/templates/_helpers.tpl
new file mode 100644
index 0000000..bf89b45
--- /dev/null
+++ b/voltha-adapter-openolt/templates/_helpers.tpl
@@ -0,0 +1,23 @@
+# Copyright 2020-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+{{/* Expand the name of the chart. */}}
+{{- define "name" -}}
+{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+{{/* Create a default fully qualified app name. We truncate at 63 chars because . . . */}}
+{{- define "fullname" -}}
+{{- $name := default .Chart.Name .Values.nameOverride -}}
+{{- $fullname := default (printf "%s-%s" .Release.Name $name) .Values.fullNameOverride -}}
+{{- $fullname | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
diff --git a/voltha-adapter-openolt/templates/openolt-deploy.yaml b/voltha-adapter-openolt/templates/openolt-deploy.yaml
index 9173980..ab37ca3 100644
--- a/voltha-adapter-openolt/templates/openolt-deploy.yaml
+++ b/voltha-adapter-openolt/templates/openolt-deploy.yaml
@@ -16,7 +16,7 @@
 apiVersion: apps/v1
 kind: Deployment
 metadata:
-  name: adapter-open-olt
+  name: "{{ template "fullname" . }}"
   namespace: {{ .Release.Namespace }}
   {{- if or (hasKey .Values "extra_deployment_labels") (hasKey .Values "openolt_deployment_labels") }}
   labels:
@@ -90,6 +90,10 @@
             - "--current_replica={{ .Values.replicas.current_replica }}"
             - "--total_replica={{ .Values.replicas.total_replica }}"
             - "--probe_port=8080"
+          {{- if .Values.securityContext.enabled }}
+          securityContext:
+            allowPrivilegeEscalation: false
+          {{- end }}
           livenessProbe:
             httpGet:
               path: /healthz
diff --git a/voltha-adapter-openolt/templates/openolt-profile-svc.yaml b/voltha-adapter-openolt/templates/openolt-profile-svc.yaml
index f04e9fb..dd3edfb 100644
--- a/voltha-adapter-openolt/templates/openolt-profile-svc.yaml
+++ b/voltha-adapter-openolt/templates/openolt-profile-svc.yaml
@@ -17,7 +17,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: adapter-open-olt-profiler
+  name: "{{ template "fullname" . }}-profiler
   namespace: {{ .Release.Namespace }}
 spec:
   clusterIP: None
diff --git a/voltha-adapter-openolt/values.yaml b/voltha-adapter-openolt/values.yaml
index 3f609f1..7719a0c 100644
--- a/voltha-adapter-openolt/values.yaml
+++ b/voltha-adapter-openolt/values.yaml
@@ -12,6 +12,8 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 ---
+nameOverride: ~
+fullNameOverride: ~
 
 # Default overrides
 defaults:
diff --git a/voltha-adapter-openonu/Chart.yaml b/voltha-adapter-openonu/Chart.yaml
index 450d410..07bd304 100644
--- a/voltha-adapter-openonu/Chart.yaml
+++ b/voltha-adapter-openonu/Chart.yaml
@@ -14,7 +14,7 @@
 ---
 apiVersion: "v1"
 name: "voltha-adapter-openonu"
-version: 2.3.8
+version: 2.3.9
 description: "A Helm chart for Voltha OpenONU Adapter"
 keywords:
   - "onf"
diff --git a/voltha-adapter-openonu/templates/_helpers.tpl b/voltha-adapter-openonu/templates/_helpers.tpl
new file mode 100644
index 0000000..bf89b45
--- /dev/null
+++ b/voltha-adapter-openonu/templates/_helpers.tpl
@@ -0,0 +1,23 @@
+# Copyright 2020-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+{{/* Expand the name of the chart. */}}
+{{- define "name" -}}
+{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+{{/* Create a default fully qualified app name. We truncate at 63 chars because . . . */}}
+{{- define "fullname" -}}
+{{- $name := default .Chart.Name .Values.nameOverride -}}
+{{- $fullname := default (printf "%s-%s" .Release.Name $name) .Values.fullNameOverride -}}
+{{- $fullname | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
diff --git a/voltha-adapter-openonu/templates/openonu-go-deploy.yaml b/voltha-adapter-openonu/templates/openonu-go-deploy.yaml
index 35d1d29..c213e67 100644
--- a/voltha-adapter-openonu/templates/openonu-go-deploy.yaml
+++ b/voltha-adapter-openonu/templates/openonu-go-deploy.yaml
@@ -17,7 +17,7 @@
 apiVersion: apps/v1
 kind: Deployment
 metadata:
-  name: adapter-open-onu
+  name: "{{ template "fullname" . }}"
   namespace: {{ .Release.Namespace }}
   {{- if or (hasKey .Values "extra_deployment_labels") (hasKey .Values "openonu_deployment_labels") }}
   labels:
@@ -90,6 +90,10 @@
             - "--kv_store_port={{ .Values.services.etcd.port }}"
             - "--log_level={{ $log_level }}"
             - "--probe_port=8080"
+          {{- if .Values.securityContext.enabled }}
+          securityContext:
+            allowPrivilegeEscalation: false
+          {{- end }}
           livenessProbe:
             httpGet:
               path: /healthz
diff --git a/voltha-adapter-openonu/templates/openonu-py-statefulset.yaml b/voltha-adapter-openonu/templates/openonu-py-statefulset.yaml
index bba823b..adf3ca4 100644
--- a/voltha-adapter-openonu/templates/openonu-py-statefulset.yaml
+++ b/voltha-adapter-openonu/templates/openonu-py-statefulset.yaml
@@ -16,7 +16,7 @@
 apiVersion: apps/v1
 kind: StatefulSet
 metadata:
-  name: adapter-open-onu
+  name: "{{ template "fullname" . }}"
   namespace: {{ .Release.Namespace }}
   {{- if or (hasKey .Values "extra_deployment_labels") (hasKey .Values "openonu_deployment_labels") }}
   labels:
@@ -86,6 +86,10 @@
               --log_level={{ tpl .Values.adapter_open_onu.log_level . | upper }}
               --totalReplicas={{ .Values.replicas.adapter_open_onu }}
               --currentReplica=$REPLICA_ID"
+        {{- if .Values.securityContext.enabled }}
+        securityContext:
+          allowPrivilegeEscalation: false
+        {{- end }}
         readinessProbe:
           httpGet:
             path: /readz
diff --git a/voltha-adapter-openonu/values.yaml b/voltha-adapter-openonu/values.yaml
index c803098..a614794 100644
--- a/voltha-adapter-openonu/values.yaml
+++ b/voltha-adapter-openonu/values.yaml
@@ -14,6 +14,9 @@
 ---
 use_openonu_adapter_go: false
 
+nameOverride: ~
+fullNameOverride: ~
+
 # Default overrides
 defaults:
   log_level: "WARN"
diff --git a/voltha-adapter-simulated/Chart.yaml b/voltha-adapter-simulated/Chart.yaml
index a47dd97..cc81f3c 100644
--- a/voltha-adapter-simulated/Chart.yaml
+++ b/voltha-adapter-simulated/Chart.yaml
@@ -14,7 +14,7 @@
 ---
 apiVersion: "v1"
 name: "voltha-adapter-simulated"
-version: 2.2.5
+version: 2.2.6
 description: "A Helm chart for Voltha Simulated Adapter"
 keywords:
   - "onf"
diff --git a/voltha-adapter-simulated/templates/_helpers.tpl b/voltha-adapter-simulated/templates/_helpers.tpl
new file mode 100644
index 0000000..b0d4716
--- /dev/null
+++ b/voltha-adapter-simulated/templates/_helpers.tpl
@@ -0,0 +1,22 @@
+# Copyright 2020-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+{{/* Expand the name of the chart. */}}
+{{- define "name" -}}
+{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+{{/* Create a default fully qualified app name. We truncate at 63 chars because . . . */}}
+{{- define "fullname" -}}
+{{- $name := default .Chart.Name .Values.nameOverride -}}
+{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
diff --git a/voltha-adapter-simulated/templates/olt-adapter-deploy.yaml b/voltha-adapter-simulated/templates/olt-adapter-deploy.yaml
index 2129123..5cf7b01 100644
--- a/voltha-adapter-simulated/templates/olt-adapter-deploy.yaml
+++ b/voltha-adapter-simulated/templates/olt-adapter-deploy.yaml
@@ -15,7 +15,7 @@
 apiVersion: apps/v1
 kind: Deployment
 metadata:
-  name: adapter-simulated-olt
+  name: "{{ template "fullname" . }}-olt"
   namespace: {{ .Release.Namespace }}
   {{- if or (hasKey .Values "extra_deployment_labels") (hasKey .Values "simolt_deployment_labels") }}
   labels:
diff --git a/voltha-adapter-simulated/templates/onu-adapter-deploy.yaml b/voltha-adapter-simulated/templates/onu-adapter-deploy.yaml
index 7a271c6..3fc8cb4 100644
--- a/voltha-adapter-simulated/templates/onu-adapter-deploy.yaml
+++ b/voltha-adapter-simulated/templates/onu-adapter-deploy.yaml
@@ -15,7 +15,7 @@
 apiVersion: apps/v1
 kind: Deployment
 metadata:
-  name: adapter-simulated-onu
+  name: "{{ template "fullname" . }}-onu"
   namespace: {{ .Release.Namespace }}
   {{- if or (hasKey .Values "extra_deployment_labels") (hasKey .Values "simonu_deployment_labels") }}
   labels:
diff --git a/voltha-adapter-simulated/values.yaml b/voltha-adapter-simulated/values.yaml
index d5a913f..21a90fc 100644
--- a/voltha-adapter-simulated/values.yaml
+++ b/voltha-adapter-simulated/values.yaml
@@ -12,6 +12,8 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 ---
+nameOverride: ~
+fullNameOverride: ~
 
 # Default overrides
 defaults:
diff --git a/voltha/Chart.yaml b/voltha/Chart.yaml
index a449d4d..c653877 100644
--- a/voltha/Chart.yaml
+++ b/voltha/Chart.yaml
@@ -14,7 +14,7 @@
 ---
 apiVersion: "v1"
 name: "voltha"
-version: "2.4.11"
+version: "2.4.12"
 description: "A Helm chart for Voltha based on K8S resources in Voltha project"
 keywords:
   - "onf"
diff --git a/voltha/templates/_helpers.tpl b/voltha/templates/_helpers.tpl
new file mode 100644
index 0000000..bf89b45
--- /dev/null
+++ b/voltha/templates/_helpers.tpl
@@ -0,0 +1,23 @@
+# Copyright 2020-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+{{/* Expand the name of the chart. */}}
+{{- define "name" -}}
+{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+{{/* Create a default fully qualified app name. We truncate at 63 chars because . . . */}}
+{{- define "fullname" -}}
+{{- $name := default .Chart.Name .Values.nameOverride -}}
+{{- $fullname := default (printf "%s-%s" .Release.Name $name) .Values.fullNameOverride -}}
+{{- $fullname | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
diff --git a/voltha/templates/api-svc.yaml b/voltha/templates/api-svc.yaml
index 1804875..7edc0ea 100644
--- a/voltha/templates/api-svc.yaml
+++ b/voltha/templates/api-svc.yaml
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: voltha-api
+  name: "{{ template "fullname" . }}-api"
   namespace: "{{ .Release.Namespace }}"
 spec:
   ports:
diff --git a/voltha/templates/core-deploy.yaml b/voltha/templates/core-deploy.yaml
index 699afce..0d1210a 100644
--- a/voltha/templates/core-deploy.yaml
+++ b/voltha/templates/core-deploy.yaml
@@ -16,7 +16,7 @@
 apiVersion: apps/v1beta1
 kind: Deployment
 metadata:
-  name: voltha-rw-core
+  name: "{{ template "fullname" . }}-rw-core"
   namespace: {{ .Release.Namespace }}
   {{- if or (hasKey .Values "extra_deployment_labels") (hasKey .Values "rw_core_deployment_labels") }}
   labels:
diff --git a/voltha/templates/core-profile-svc.yaml b/voltha/templates/core-profile-svc.yaml
index 49f16da..3705440 100644
--- a/voltha/templates/core-profile-svc.yaml
+++ b/voltha/templates/core-profile-svc.yaml
@@ -16,7 +16,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: voltha-rw-core-profiler
+  name: "{{ template "fullname" . }}-rw-core-profiler"
   namespace: {{ .Release.Namespace }}
 spec:
   clusterIP: None
diff --git a/voltha/templates/ofagent-deploy.yaml b/voltha/templates/ofagent-deploy.yaml
index 2c38a5f..e1fcfc3 100644
--- a/voltha/templates/ofagent-deploy.yaml
+++ b/voltha/templates/ofagent-deploy.yaml
@@ -16,7 +16,7 @@
 apiVersion: apps/v1beta1
 kind: Deployment
 metadata:
-  name: voltha-ofagent
+  name: "{{ template "fullname" . }}-ofagent"
   namespace: {{ .Release.Namespace }}
   {{- if or (hasKey .Values "extra_deployment_labels") (hasKey .Values "ofagent_deployment_labels") }}
   labels:
@@ -77,7 +77,7 @@
         {{- range .Values.services.controller }}
         - "--controller={{ .service }}:{{ .port }}"
         {{- end }}
-        - "--voltha=voltha-api.{{ .Release.Namespace }}.svc:55555"
+        - "--voltha={{ template "fullname" . }}-api.{{ .Release.Namespace }}.svc:55555"
         - "--kv_store_host=etcd.{{ .Release.Namespace }}.svc"
         - "--kv_store_port=2379"
         - "--kv_store_type=etcd"
diff --git a/voltha/templates/ofagent-profile-svc.yaml b/voltha/templates/ofagent-profile-svc.yaml
index 1e77a08..5d091c3 100644
--- a/voltha/templates/ofagent-profile-svc.yaml
+++ b/voltha/templates/ofagent-profile-svc.yaml
@@ -16,7 +16,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: voltha-of-agent-profiler
+  name: "{{ template "fullname" .  }}-of-agent-profiler"
   namespace: {{ .Release.Namespace }}
 spec:
   clusterIP: None
diff --git a/voltha/values.yaml b/voltha/values.yaml
index 6964d80..8a8b5da 100644
--- a/voltha/values.yaml
+++ b/voltha/values.yaml
@@ -12,6 +12,8 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 ---
+nameOverride: ~
+fullNameOverride: ~
 
 # Default Values
 # The following are the default values used for every container in the