Updated helm starter to make use of a standard service name tpl.
Change-Id: Ia387c2944da6d46238aa041db8542368b5c8d6a1
Issue-ID: OOM-906
Signed-off-by: Mike Elliott <mike.elliott@amdocs.com>
--- /dev/null
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# 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.
+*/}}
+
+{{/*
+  Resolve the name of a chart's service.
+
+  The default will be the chart name, unless
+  overridden in the service configuration.
+
+  - .Values.service.name  : override default service (ie. chart) name
+*/}}
+{{/*
+  Expand the service name for a chart.
+*/}}
+{{- define "common.servicename" -}}
+  {{- default .Chart.Name .Values.service.name trunc 63 | trimSuffix "-" -}}
+{{- end -}}
\ No newline at end of file
 
           - containerPort: {{ .Values.service.internalPort }}
           # disable liveness probe when breakpoints set in debugger
           # so K8s doesn't restart unresponsive container
-          {{- if eq .Values.liveness.enabled true }}
+          {{ if .Values.liveness.enabled }}
           livenessProbe:
             tcpSocket:
               port: {{ .Values.service.internalPort }}
             initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
             periodSeconds: {{ .Values.liveness.periodSeconds }}
-          {{ end -}}
+          {{ end }}
           readinessProbe:
             tcpSocket:
               port: {{ .Values.service.internalPort }}
 
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
       #Example internal target port if required
       #targetPort: {{ .Values.service.internalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName | default "http" }}
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName | default "http" }}
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
 
   initialDelaySeconds: 10
   periodSeconds: 10
 
+#Example service definition with external, internal and node ports.
 service:
-  #Example service definition with external, internal and node ports.
+  # The default service name (exposed in the service.yaml) will be the same
+  # name as the chart. If the service name needs to be overriden (such as
+  # when a subchart is shared), uncomment the value below.
+  #name: <service-name-override>
+
   #Services may use any combination of ports depending on the 'type' of
   #service being defined.
   type: NodePort
-  name: <onap-app>
   externalPort: <8080>
   internalPort: <80>
   nodePort: <replace with unused node port suffix eg. 23>
+  # optional port name override - default can be defined in service.yaml
+  #portName: http
 
 ingress:
   enabled: false