helm chart for so containers

This check-in is an updated version of helm charts for so
containers based on review comments

Change-Id: I690430622ecbdcaf099a6165844142841db436dd
Issue-ID: SO-709
Signed-off-by: Ramesh Parthasarathy(rp6768)<rp6768@att.com>
diff --git a/kubernetes/so/charts/so-catalog-db-adapter/Chart.yaml b/kubernetes/so/charts/so-catalog-db-adapter/Chart.yaml
new file mode 100755
index 0000000..75a6126
--- /dev/null
+++ b/kubernetes/so/charts/so-catalog-db-adapter/Chart.yaml
@@ -0,0 +1,17 @@
+# Copyright © 2018 AT&T USA
+#
+# 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.
+apiVersion: v1
+description: A Helm chart for so-catalog-db-adapter
+name: so-catalog-db-adapter
+version: 2.0.0
\ No newline at end of file
diff --git a/kubernetes/so/charts/so-catalog-db-adapter/resources/config/overrides/override.yaml b/kubernetes/so/charts/so-catalog-db-adapter/resources/config/overrides/override.yaml
new file mode 100755
index 0000000..65f22b7
--- /dev/null
+++ b/kubernetes/so/charts/so-catalog-db-adapter/resources/config/overrides/override.yaml
@@ -0,0 +1,66 @@
+# Copyright © 2018 AT&T USA
+#
+# 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.
+server:
+    port: 8082
+    tomcat:
+        max-threads: 50
+ssl-enable: false
+mso:
+  logPath: logs
+  site-name: onapheat
+  catalog:
+    db:
+      spring:
+        endpoint: http://c1.vm1.mso.simpledemo.onap.org:8082
+  db:
+    auth: Basic YnBlbDpwYXNzd29yZDEk
+spring:
+  datasource:
+    url: jdbc:mariadb://${DB_HOST}:${DB_PORT}/catalogdb
+    username: ${DB_USERNAME}
+    password: ${DB_PASSWORD}
+    driver-class-name: org.mariadb.jdbc.Driver
+    initialize: false
+    initialization-mode: never
+    dbcp2:
+      initial-size: 5
+      max-total: 20
+      validation-query: select 1
+      test-on-borrow: true
+  jpa:
+    generate-ddl: false
+    show-sql: false
+    hibernate:
+      ddl-auto: validate
+      naming-strategy: org.hibernate.cfg.ImprovedNamingStrategy
+      enable-lazy-load-no-trans: true
+    database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
+  security:
+    usercredentials:
+    -
+      username: bpel
+      password: '$2a$10$Fh9ffgPw2vnmsghsRD3ZauBL1aKXebigbq3BB1RPWtE62UDILsjke'
+      role: BPEL-Client
+    -
+      username: mso_admin
+      password: '$2a$10$Fh9ffgPw2vnmsghsRD3ZauBL1aKXebigbq3BB1RPWtE62UDILsjke'
+      role: ACTUATOR
+#Actuator
+management:
+  context-path: /manage
+flyway:
+  base-on-migrate: true
+  url: jdbc:mariadb://${DB_HOST}:${DB_PORT}/catalogdb
+  user: ${DB_USERNAME}
+  password: ${DB_PASSWORD}
\ No newline at end of file
diff --git a/kubernetes/so/charts/so-catalog-db-adapter/templates/configmap.yaml b/kubernetes/so/charts/so-catalog-db-adapter/templates/configmap.yaml
new file mode 100755
index 0000000..48d9ef8
--- /dev/null
+++ b/kubernetes/so/charts/so-catalog-db-adapter/templates/configmap.yaml
@@ -0,0 +1,33 @@
+# Copyright © 2018 AT&T USA
+#
+# 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.
+apiVersion: v1
+data:
+  LOG_PATH: {{ index .Values.logPath }}
+  APP: {{ index .Values.app }}
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-configmap
+  namespace: {{ include "common.namespace" . }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-app-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+  {{- $yamlpath := printf "resources/config/overrides/override.yaml" -}}
+  {{- $root := . }}
+  {{- range $path, $bytes := .Files.Glob $yamlpath }}
+  override.yaml: {{ $root.Files.Get $path | quote }}
+  {{- end }}
\ No newline at end of file
diff --git a/kubernetes/so/charts/so-catalog-db-adapter/templates/deployment.yaml b/kubernetes/so/charts/so-catalog-db-adapter/templates/deployment.yaml
new file mode 100755
index 0000000..d235545
--- /dev/null
+++ b/kubernetes/so/charts/so-catalog-db-adapter/templates/deployment.yaml
@@ -0,0 +1,144 @@
+# Copyright © 2018 AT&T USA
+#
+# 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.
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.fullname" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+spec:
+  replicas: {{ index .Values.replicaCount }}
+  minReadySeconds: {{ index .Values.minReadySeconds }}
+  strategy:
+    type: {{ index .Values.updateStrategy.type }}
+    rollingUpdate:
+      maxUnavailable: {{ index .Values.updateStrategy.maxUnavailable }}
+      maxSurge: {{ index .Values.updateStrategy.maxSurge }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      initContainers:
+      - name: so-chown
+        image: alpine:3.6
+        volumeMounts:
+        - name: logs
+          mountPath: /app/logs
+        imagePullPolicy: {{ index .Values.pullPolicy }}
+        command: ["/bin/sh", "-c", "chown -Rf 1000:1000 /app/logs"]
+      restartPolicy: Always
+      containers:
+      - name: {{ include "common.name" . }}
+        image: {{ include "common.repository" . }}/{{ .Values.image }}
+        resources:
+          requests:
+            memory: {{ index .Values.resources.requests.memory}}
+            cpu: {{ index .Values.resources.requests.cpu}}
+          limits:
+            memory: {{ index .Values.resources.limits.memory}}
+            cpu: {{ index .Values.resources.limits.cpu}}
+        env:
+        - name: DB_HOST
+          valueFrom:
+            secretKeyRef:
+              name: {{ .Release.Name}}-so-db-secrets
+              key: mariadb.readwrite.host
+        - name: DB_PORT
+          valueFrom:
+            secretKeyRef:
+              name: {{ .Release.Name}}-so-db-secrets
+              key: mariadb.readwrite.port
+        - name: DB_USERNAME
+          valueFrom:
+            secretKeyRef:
+              name: {{ .Release.Name}}-so-db-secrets
+              key: mariadb.readwrite.rolename
+        - name: DB_PASSWORD
+          valueFrom:
+            secretKeyRef:
+              name: {{ .Release.Name}}-so-db-secrets
+              key: mariadb.readwrite.password
+        - name: DB_ADMIN_USERNAME
+          valueFrom:
+            secretKeyRef:
+              name: {{ .Release.Name}}-so-db-secrets
+              key: mariadb.admin.rolename
+        - name: DB_ADMIN_PASSWORD
+          valueFrom:
+            secretKeyRef:
+              name: {{ .Release.Name}}-so-db-secrets
+              key: mariadb.admin.password
+        - name: CADI_KEYSTORE_PASSWORD
+          valueFrom:
+            secretKeyRef:
+              name: {{ .Release.Name}}-so-ssl-pwd-secret
+              key: cadi_keystore_password
+        - name: CADI_TRUSTSTORE_PASSWORD
+          valueFrom:
+            secretKeyRef:
+              name: {{ .Release.Name}}-so-ssl-pwd-secret
+              key: cadi_truststore_password
+        - name: MSO_KEYSTORE_PASSWORD
+          valueFrom:
+            secretKeyRef:
+              name: {{ .Release.Name}}-so-ssl-client-secret
+              key: keystore_password
+        - name: MSO_TRUSTSTORE_PASSWORD
+          valueFrom:
+            secretKeyRef:
+              name: {{ .Release.Name}}-so-ssl-client-secret
+              key: truststore_password
+        envFrom:
+        - configMapRef:
+            name: {{ include "common.fullname" . }}-configmap
+        imagePullPolicy:  {{ index .Values "global" "pullPolicy" }}
+        volumeMounts:
+        - name: logs
+          mountPath: /app/logs
+        - name: certs
+          mountPath: /app/certs/
+          readOnly: true
+        - name: config
+          mountPath: /app/config
+          readOnly: true
+        livenessProbe:
+          httpGet:
+            path: {{- index .Values.livenessProbe.path|indent 2}}
+            port: {{ index .Values.containerPort }}
+            scheme: {{- index .Values.livenessProbe.scheme| indent 2}}
+          initialDelaySeconds: {{ index .Values.livenessProbe.initialDelaySeconds}}
+          periodSeconds: {{ index .Values.livenessProbe.periodSeconds}}
+          timeoutSeconds: {{ index .Values.livenessProbe.timeoutSeconds}}
+          successThreshold: {{ index .Values.livenessProbe.successThreshold}}
+          failureThreshold: {{ index .Values.livenessProbe.failureThreshold}}
+        ports:
+        - containerPort: {{ index .Values.containerPort }}
+          name: {{ .Values.service.portName }}
+          protocol: TCP
+      volumes:
+      - name: logs
+        emptyDir: {}
+      - name: certs
+        secret:
+            secretName: {{ .Release.Name}}-so-ssl-secret
+      - name: config
+        configMap:
+            name: {{ include "common.fullname" . }}-app-configmap
+      imagePullSecrets:
+        - name: "{{ include "common.namespace" . }}-docker-registry-key"
\ No newline at end of file
diff --git a/kubernetes/so/charts/so-catalog-db-adapter/templates/service.yaml b/kubernetes/so/charts/so-catalog-db-adapter/templates/service.yaml
new file mode 100755
index 0000000..db3bb78
--- /dev/null
+++ b/kubernetes/so/charts/so-catalog-db-adapter/templates/service.yaml
@@ -0,0 +1,140 @@
+# Copyright © 2018 AT&T USA
+#
+# 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.
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "common.servicename" . }}
+  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/catdb",
+        "version": "v1",
+        "url": "/services",
+        "protocol": "REST",
+        "port": "{{ .Values.service.externalPort }}",
+        "visualRange":"1" ,
+        "lb_policy":"ip_hash"
+         },
+         {
+        "serviceName": "so/catdb",
+        "version": "v1",
+        "url": "/{version: v[0-9]+}/vnfResources/{vnfModelCustomizationUuid}",
+        "protocol": "REST",
+        "port": "{{ .Values.service.externalPort }}",
+        "visualRange":"1",
+        "lb_policy":"ip_hash"
+         },
+         {
+        "serviceName": "so/catdb",
+        "version": "v1",
+        "url": "/{version: v[0-9]+}/serviceVnfs",
+        "protocol": "REST",
+        "port": "{{ .Values.service.externalPort }}",
+        "visualRange":"1",
+        "lb_policy":"ip_hash"
+         },
+          {
+        "serviceName": "so/catdb",
+        "version": "v1",
+        "url": "/{version: v[0-9]+}/networkResources/{networkModelCustomizationUuid}",
+        "protocol": "REST",
+        "port": "{{ .Values.service.externalPort }}",
+        "visualRange":"1",
+        "lb_policy":"ip_hash"
+         },
+         {
+        "serviceName": "so/catdb",
+        "version": "v1",
+        "url": "/{version: v[0-9]+}/serviceNetworks",
+        "protocol": "REST",
+        "port": "{{ .Values.service.externalPort }}",
+        "visualRange":"1",
+        "lb_policy":"ip_hash"
+         },
+         {
+        "serviceName": "so/catdb",
+        "version": "v1",
+        "url": "/{version: v[0-9]+}/serviceResources",
+        "protocol": "REST",
+        "port": "{{ .Values.service.externalPort }}",
+        "visualRange":"1",
+        "lb_policy":"ip_hash"
+         },
+         {
+        "serviceName": "so/catdb",
+        "version": "v1",
+        "url": "/{version: v[0-9]+}/allottedResources/{arModelCustomizationUuid}",
+        "protocol": "REST",
+        "port": "{{ .Values.service.externalPort }}",
+        "visualRange":"1",
+        "lb_policy":"ip_hash"
+         },
+         {
+        "serviceName": "so/catdb",
+        "version": "v1",
+        "url": "/{version: v[0-9]+}/serviceAllottedResources",
+        "protocol": "REST",
+        "port": "{{ .Values.service.externalPort }}",
+        "visualRange":"1",
+        "lb_policy":"ip_hash"
+         },
+         {
+        "serviceName": "so/catdb",
+        "version": "v1",
+        "url": "/{version: v[0-9]+}/vfModules",
+        "protocol": "REST",
+        "port": "{{ .Values.service.externalPort }}",
+        "visualRange":"1",
+        "lb_policy":"ip_hash"
+         },
+         {
+        "serviceName": "so/catdb",
+        "version": "v1",
+        "url": "/{version: v[0-9]+}/serviceToscaCsar",
+        "protocol": "REST",
+        "port": "{{ .Values.service.externalPort }}",
+        "visualRange":"1",
+        "lb_policy":"ip_hash"
+         },
+         {
+        "serviceName": "so/catdb",
+        "version": "v1",
+        "url": "/{version: v[0-9]+}/resourceRecipe",
+        "protocol": "REST",
+        "port": "{{ .Values.service.externalPort }}",
+        "visualRange":"1",
+        "lb_policy":"ip_hash"
+         }
+         ]'
+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.nodePort }}
+      name: {{ .Values.service.portName }}
+    {{- else -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      name: {{ .Values.service.portName }}
+    {{- end}}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
\ No newline at end of file
diff --git a/kubernetes/so/charts/so-catalog-db-adapter/values.yaml b/kubernetes/so/charts/so-catalog-db-adapter/values.yaml
new file mode 100755
index 0000000..7e49057
--- /dev/null
+++ b/kubernetes/so/charts/so-catalog-db-adapter/values.yaml
@@ -0,0 +1,51 @@
+# Copyright © 2018 AT&T USA

+#

+# 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.

+repository: nexus3.onap.org:10001

+image: onap/so/catalog-db-adapter:latest

+pullPolicy: IfNotPresent

+replicaCount: 1

+minReadySeconds: 10

+containerPort: 8082

+logPath: ./logs/catdb/

+app: catalog-db-adapter

+service:

+    type: ClusterIP

+    internalPort: 8082

+    externalPort: 10800

+    portName: so-catdb-port

+updateStrategy:

+    type: RollingUpdate

+    maxUnavailable: 1

+    maxSurge: 1

+resources:

+    requests:

+      memory: 1Gi

+      cpu: 500m

+    limits:

+      memory: 4Gi

+      cpu: 2000m

+livenessProbe:

+    path: /manage/health

+    port: 8082

+    scheme: HTTP

+    initialDelaySeconds: 600

+    periodSeconds: 60

+    timeoutSeconds: 10

+    successThreshold: 1

+    failureThreshold: 3

+ingress:

+  enabled: false

+nodeSelector: {}

+tolerations: []

+affinity: {}
\ No newline at end of file