Add standardized helm chart for so

This is a standardization (based on helm community best practices)
of a Helm chart for the Service Orchestrator (so) in ONAP.

How to deploy the so chart (outside of the parent onap chart) from
the local oom/kubernetes codebase.

** need to create/update dependencies defined in the chart's
** requirements.yaml
helm dep update so/

** deploy the so helm chart with the "release" name of 'onap'
helm install so/ -n onap

Change-Id: I22471eb9fe0dec32941e14dc63857222c80ebe20
Issue-ID: OOM-727
Signed-off-by: Mike Elliott <mike.elliott@amdocs.com>
diff --git a/kubernetes/so/templates/service.yaml b/kubernetes/so/templates/service.yaml
new file mode 100644
index 0000000..e3e4d48
--- /dev/null
+++ b/kubernetes/so/templates/service.yaml
@@ -0,0 +1,69 @@
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+  annotations:
+    msb.onap.org/service-info: '[
+      {
+          "serviceName": "so",
+          "version": "v1",
+          "url": "/ecomp/mso/infra",
+          "protocol": "REST"
+          "port": "8080",
+          "visualRange":"1"
+      },
+      {
+          "serviceName": "so-deprecated",
+          "version": "v1",
+          "url": "/ecomp/mso/infra",
+          "protocol": "REST"
+          "port": "8080",
+          "visualRange":"1",
+          "path":"/ecomp/mso/infra"
+      }
+      ]'
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+    {{if eq .Values.service.type "NodePort" -}}
+    - port: {{ .Values.service.internalPort }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.externalPort }}
+      name: {{ .Values.service.name }}
+    - port: {{ .Values.service.internalPort2 }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.externalPort2 }}
+      name: {{ .Values.service.name }}2
+    - port: {{ .Values.service.internalPort3 }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.externalPort3 }}
+      name: {{ .Values.service.name }}3
+    - port: {{ .Values.service.internalPort4 }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.externalPort4 }}
+      name: {{ .Values.service.name }}4
+    - port: {{ .Values.service.internalPort5 }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.externalPort5 }}
+      name: {{ .Values.service.name }}5
+    {{- else -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      name: {{ .Values.service.name }}
+    - port: {{ .Values.service.externalPort2 }}
+      targetPort: {{ .Values.service.internalPort2 }}
+      name: {{ .Values.service.name }}2
+    - port: {{ .Values.service.externalPort3 }}
+      targetPort: {{ .Values.service.internalPort3 }}
+      name: {{ .Values.service.name }}3
+    - port: {{ .Values.service.externalPort4 }}
+      targetPort: {{ .Values.service.internalPort4 }}
+      name: {{ .Values.service.name }}4
+    - port: {{ .Values.service.externalPort5 }}
+      targetPort: {{ .Values.service.internalPort5 }}
+      name: {{ .Values.service.name }}5
+    {{- end}}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
\ No newline at end of file