Added vnfsdk containers to ONAP Kubernetes

Created the initial base deployment yamls for VNFSDK.

Issue-ID: OOM-320

Change-Id: I3b062654dcb3d48c91cdc90d59597bf27a662b23
Signed-off-by: Dusan Rozman <dusan.rozman@amdocs.com>
diff --git a/kubernetes/oneclick/createAll.bash b/kubernetes/oneclick/createAll.bash
index c8810aa..2963a40 100755
--- a/kubernetes/oneclick/createAll.bash
+++ b/kubernetes/oneclick/createAll.bash
@@ -13,8 +13,8 @@
 -i [INSTANCE]       : ONAP deployment instance # (default: 1)
 -a [APP]            : Specify a specific ONAP component (default: all)
                       from the following choices:
-                      sdc, aai ,mso, message-router, robot,
-                      vid, sdnc, portal, policy, appc, multicloud, clamp, consul
+                      sdc, aai ,mso, message-router, robot, vid,
+                      sdnc, portal, policy, appc, multicloud, clamp, consul, vnfsdk
 EOF
 }
 
diff --git a/kubernetes/oneclick/deleteAll.bash b/kubernetes/oneclick/deleteAll.bash
index 8f44f12..f3b8da7 100755
--- a/kubernetes/oneclick/deleteAll.bash
+++ b/kubernetes/oneclick/deleteAll.bash
@@ -28,7 +28,7 @@
 -a [APP]            : Specify a specific ONAP component (default: all)
                       from the following choices:
                       sdc, aai ,mso, message-router, robot,
-                      vid, sdnc, portal, policy, appc, multicloud, clamp
+                      vid, sdnc, portal, policy, appc, multicloud, clamp, consul, vnfsdk
 EOF
 }
 
diff --git a/kubernetes/oneclick/setenv.bash b/kubernetes/oneclick/setenv.bash
index 6dfd948..16472e7 100644
--- a/kubernetes/oneclick/setenv.bash
+++ b/kubernetes/oneclick/setenv.bash
@@ -1,7 +1,7 @@
 #!/bin/bash
 
 # Deploying MSB first and kube2msb last will ensure all the ONAP services can be registered to MSB
-HELM_APPS=('consul' 'msb' 'mso' 'message-router' 'sdnc' 'vid' 'robot' 'portal' 'policy' 'appc' 'aai' 'sdc' 'dcaegen2' 'log' 'cli' 'multicloud' 'clamp' 'kube2msb')
+HELM_APPS=('consul' 'msb' 'mso' 'message-router' 'sdnc' 'vid' 'robot' 'portal' 'policy' 'appc' 'aai' 'sdc' 'dcaegen2' 'log' 'cli' 'multicloud' 'clamp' 'vnfsdk' 'kube2msb')
 ONAP_DOCKER_REGISTRY=${ONAP_DOCKER_REGISTRY:-nexus3.onap.org:10001}
 ONAP_DOCKER_USER=${ONAP_DOCKER_USER:-docker}
 ONAP_DOCKER_PASS=${ONAP_DOCKER_PASS:-docker}
@@ -12,4 +12,4 @@
 OPENSTACK_PRIVATE_KEY_PATH=${OPENSTACK_PRIVATE_KEY_PATH:-~/.ssh/onap_rsa}
 # dcaegen2 bootstrap configuration input yaml file.  Start from the sample, and set your environments real values:
 # example: export DCAEGEN2_CONFIG_INPUT_FILE_PATH=/tmp/dcae-parameters.yaml
-DCAEGEN2_CONFIG_INPUT_FILE_PATH=${DCAEGEN2_CONFIG_INPUT_FILE_PATH:-../dcaegen2/dcae-parameters-sample.yaml}
\ No newline at end of file
+DCAEGEN2_CONFIG_INPUT_FILE_PATH=${DCAEGEN2_CONFIG_INPUT_FILE_PATH:-../dcaegen2/dcae-parameters-sample.yaml}
diff --git a/kubernetes/oneclick/vnfsdk.sh b/kubernetes/oneclick/vnfsdk.sh
new file mode 100644
index 0000000..c2853f7
--- /dev/null
+++ b/kubernetes/oneclick/vnfsdk.sh
@@ -0,0 +1,7 @@
+#!/bin/bash
+KUBECTL_CMD="kubectl --namespace $1-$2 $3 -f ../$2"
+
+printf "VNFSDK....\n"
+
+$KUBECTL_CMD/postgres-deployment.yaml
+$KUBECTL_CMD/refrepo-deployment.yaml
diff --git a/kubernetes/vnfsdk/Chart.yaml b/kubernetes/vnfsdk/Chart.yaml
new file mode 100644
index 0000000..2dee27b
--- /dev/null
+++ b/kubernetes/vnfsdk/Chart.yaml
@@ -0,0 +1,4 @@
+apiVersion: v1
+description: A Helm chart for Kubernetes
+name: vnfsdk
+version: 1.1.0
diff --git a/kubernetes/vnfsdk/templates/all-services.yaml b/kubernetes/vnfsdk/templates/all-services.yaml
new file mode 100644
index 0000000..1f11729
--- /dev/null
+++ b/kubernetes/vnfsdk/templates/all-services.yaml
@@ -0,0 +1,30 @@
+apiVersion: v1
+kind: Service
+metadata:
+  name: postgres
+  namespace: {{ .Values.nsPrefix }}-vnfsdk
+  labels:
+    app: postgres
+spec:
+  ports:
+  - name: postgres-port
+    port: 5432
+  selector:
+    app: postgres
+  clusterIP: None
+---
+apiVersion: v1
+kind: Service
+metadata:
+  labels:
+    app: refrepo
+  name: refrepo
+  namespace: {{ .Values.nsPrefix }}-vnfsdk
+spec:
+  ports:
+  - name: "refrepo-port"
+    port: 8702
+    nodePort: {{ .Values.nodePortPrefix }}97
+  selector:
+    app: refrepo
+  type: NodePort
diff --git a/kubernetes/vnfsdk/templates/postgres-deployment.yaml b/kubernetes/vnfsdk/templates/postgres-deployment.yaml
new file mode 100644
index 0000000..76721d1
--- /dev/null
+++ b/kubernetes/vnfsdk/templates/postgres-deployment.yaml
@@ -0,0 +1,24 @@
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: postgres
+  namespace: {{ .Values.nsPrefix }}-vnfsdk
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: postgres
+  template:
+    metadata:
+      labels:
+        app: postgres
+      name: postgres
+    spec:
+      hostname: postgres
+      containers:
+      - args:
+        image: {{ .Values.image.postgresImage }}:{{ .Values.image.postgresVersion }}
+        imagePullPolicy: {{ .Values.pullPolicy }}
+        name: "postgres"
+      imagePullSecrets:
+      - name: {{ .Values.nsPrefix }}-docker-registry-key
diff --git a/kubernetes/vnfsdk/templates/refrepo-deployment.yaml b/kubernetes/vnfsdk/templates/refrepo-deployment.yaml
new file mode 100644
index 0000000..3accb96
--- /dev/null
+++ b/kubernetes/vnfsdk/templates/refrepo-deployment.yaml
@@ -0,0 +1,54 @@
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  labels:
+    app: refrepo
+  name: refrepo
+  namespace: "{{ .Values.nsPrefix }}-vnfsdk"
+spec:
+  selector:
+    matchLabels:
+      app: refrepo
+  template:
+    metadata:
+      labels:
+        app: refrepo
+      name: refrepo
+      annotations:
+        pod.beta.kubernetes.io/init-containers: '[
+          {
+              "args": [
+                  "--container-name",
+                  "postgres"
+              ],
+              "command": [
+                  "/root/ready.py"
+              ],
+              "env": [
+                  {
+                      "name": "NAMESPACE",
+                      "valueFrom": {
+                          "fieldRef": {
+                              "apiVersion": "v1",
+                              "fieldPath": "metadata.namespace"
+                          }
+                      }
+                  }
+              ],
+              "image": "{{ .Values.image.readiness }}:{{ .Values.image.readinessVersion }}",
+              "imagePullPolicy": "{{ .Values.pullPolicy }}",
+              "name": "vnfsdk-readiness"
+          }
+          ]'
+    spec:
+      containers:
+      - image: {{ .Values.image.refrepoImage }}:{{ .Values.image.refrepoVersion }}
+        imagePullPolicy: {{ .Values.pullPolicy }}
+        name: refrepo
+        readinessProbe:
+          tcpSocket:
+            port: 8702
+          initialDelaySeconds: 5
+          periodSeconds: 10
+      imagePullSecrets:
+      - name: {{ .Values.nsPrefix }}-docker-registry-key
diff --git a/kubernetes/vnfsdk/values.yaml b/kubernetes/vnfsdk/values.yaml
new file mode 100644
index 0000000..e445ef6
--- /dev/null
+++ b/kubernetes/vnfsdk/values.yaml
@@ -0,0 +1,10 @@
+nsPrefix: onap
+pullPolicy: Always
+nodePortPrefix: 302
+image:
+  readiness: oomk8s/readiness-check
+  readinessVersion: 1.0.0
+  postgresImage: nexus3.onap.org:10001/onap/refrepo/postgres
+  postgresVersion: latest
+  refrepoImage: nexus3.onap.org:10001/onap/refrepo
+  refrepoVersion: 1.0-STAGING-latest