Add standardized helm chart for aai
[oom.git] / kubernetes / aai / charts / aai-resources / templates / deployment.yaml
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-#{{ if not .Values.disableAaiAaiResources }}
 apiVersion: extensions/v1beta1
 kind: Deployment
 metadata:
-  name: aai-resources
-  namespace: "{{ .Values.nsPrefix }}"
+  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 }}
 spec:
-  replicas: {{ .Values.aaiResourceReplicas }}
+  replicas: {{ .Values.replicaCount }}
   selector:
     matchLabels:
-      app: aai-resources
+      app: {{ include "common.name" . }}
   template:
     metadata:
       labels:
-        app: aai-resources
-      name: aai-resources
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+      name: {{ include "common.name" . }}
       annotations:
         msb.onap.org/service-info: '[
           {
@@ -407,7 +412,7 @@ spec:
               "enable_ssl": true,
               "lb_policy":"ip_hash",
               "visualRange": "1"
-          }      
+          }
           ]'
     spec:
       initContainers:
@@ -415,27 +420,27 @@ spec:
         - /root/ready.py
         args:
         - --container-name
-        - hbase
+        - aai-hbase
         env:
         - name: NAMESPACE
           valueFrom:
             fieldRef:
               apiVersion: v1
               fieldPath: metadata.namespace
-        image: {{ .Values.image.readiness }}
-        imagePullPolicy: {{ .Values.pullPolicy }}
-        name: aai-resources-readiness
+        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        name: {{ include "common.name" . }}-readiness
       containers:
-      - name: aai-resources
-        image: "{{ .Values.image.aaiResourcesImage }}:{{ .Values.image.aaiResourcesVersion}}"
-        imagePullPolicy: {{ .Values.pullPolicy }}
+      - name: {{ include "common.name" . }}
+        image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         env:
         - name: CHEF_BRANCH
           value: master
         - name: AAI_CHEF_ENV
           value: simpledemo
         - name: AAI_CORE_VERSION
-          value: {{ .Values.aaicoreversion }}
+          value: {{ .Values.config.aaicoreversion }}
         - name: AAI_CHEF_LOC
           value: /var/chef/aai-data/environments
         - name: CHEF_GIT_URL
@@ -457,15 +462,37 @@ spec:
           name: aai-resources-log-conf
           subPath: logback.xml
         ports:
-        - containerPort: 8447
+        - containerPort: {{ .Values.service.internalPort }}
+        - containerPort: {{ .Values.service.internalPort2 }}
+        # disable liveness probe when breakpoints set in debugger
+        # so K8s doesn't restart unresponsive container
+        {{ if .Values.liveness.enabled }}
+        livenessProbe:
+          tcpSocket:
+            port: {{ .Values.service.internalPort }}
+          initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+          periodSeconds: {{ .Values.liveness.periodSeconds }}
+        {{ end }}
         readinessProbe:
           tcpSocket:
-            port: 8447
-          initialDelaySeconds: 5
-          periodSeconds: 10
-      - name: filebeat-onap-aai-resources
-        image: {{ .Values.image.filebeat }}
-        imagePullPolicy: {{ .Values.pullPolicy }}
+            port: {{ .Values.service.internalPort }}
+          initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+          periodSeconds: {{ .Values.readiness.periodSeconds }}
+        resources:
+{{ toYaml .Values.resources | indent 10 }}
+      {{- if .Values.nodeSelector }}
+      nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 8 }}
+      {{- end -}}
+      {{- if .Values.affinity }}
+      affinity:
+{{ toYaml .Values.affinity | indent 8 }}
+      {{- end }}
+
+      # side car containers
+      - name: filebeat-onap
+        image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         volumeMounts:
         - mountPath: /usr/share/filebeat/filebeat.yml
           subPath: filebeat.yml
@@ -474,28 +501,27 @@ spec:
           name: aai-resources-logs
         - mountPath: /usr/share/filebeat/data
           name: aai-resources-filebeat
+
       volumes:
       - name: localtime
         hostPath:
           path: /etc/localtime
       - name: aai-chef-config
         configMap:
-          name: aai-chef-config-configmap
+          name: aai-chef-config
       - name: aai-data
         configMap:
-          name: aai-resources-environments-configmap
+          name: aai-resources-environments
       - name: filebeat-conf
         configMap:
-          name: aai-filebeat-configmap
+          name: aai-filebeat
       - name: aai-resources-logs
         emptyDir: {}
       - name: aai-resources-filebeat
         emptyDir: {}
       - name: aai-resources-log-conf
         configMap:
-         name: aai-resources-log-configmap
-      restartPolicy: Always
+         name: {{ include "common.fullname" . }}
+      restartPolicy: {{ .Values.global.restartPolicy | default .Values.restartPolicy }}
       imagePullSecrets:
-      - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
-
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"