Add service name standard template 01/42901/2
authorMike Elliott <mike.elliott@amdocs.com>
Sun, 15 Apr 2018 14:39:41 +0000 (10:39 -0400)
committerMike Elliott <mike.elliott@amdocs.com>
Sun, 15 Apr 2018 16:46:29 +0000 (12:46 -0400)
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>
kubernetes/common/common/templates/_service.tpl [new file with mode: 0644]
kubernetes/helm/starters/onap-app/templates/deployment.yaml
kubernetes/helm/starters/onap-app/templates/service.yaml
kubernetes/helm/starters/onap-app/values.yaml

diff --git a/kubernetes/common/common/templates/_service.tpl b/kubernetes/common/common/templates/_service.tpl
new file mode 100644 (file)
index 0000000..d76c5e0
--- /dev/null
@@ -0,0 +1,30 @@
+{{/*
+# 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
index 71aae08..a787954 100644 (file)
@@ -54,13 +54,13 @@ spec:
           - 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 }}
index cab488a..94b81e8 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -42,11 +42,11 @@ spec:
       #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" . }}
index 2e0d7b7..ada99ed 100644 (file)
@@ -60,15 +60,21 @@ readiness:
   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