Merge "[CONSUL] Add limits to consul chart."
[oom.git] / kubernetes / dmaap / components / dmaap-dr-node / templates / statefulset.yaml
index a190d0d..262e074 100644 (file)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2017 Amdocs, Bell Canada
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # 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: apps/v1beta1
+*/}}
+apiVersion: apps/v1
 kind: StatefulSet
-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 }}
+metadata: {{- include "common.resourceMetadata" . | nindent 2 }}
 spec:
+  selector: {{- include "common.selectors" . | nindent 4 }}
+  serviceName: {{ include "common.servicename" . }}
   replicas: {{ .Values.replicaCount }}
-  serviceName: {{ .Values.config.dmaapDrNode.name }}
   template:
-    metadata:
-      labels:
-        app: {{ include "common.name" . }}
-        release: {{ .Release.Name }}
+    metadata: {{- include "common.templateMetadata" . | nindent 6 }}
     spec:
       initContainers:
         - name: {{ include "common.name" . }}-readiness
-          image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+          image: "{{ include "common.repository" . }}/{{ .Values.global.readinessImage }}"
           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
           command:
-          - /root/ready.py
+          - /app/ready.py
           args:
           - --container-name
           - dmaap-dr-prov
@@ -45,63 +38,56 @@ spec:
               fieldRef:
                 apiVersion: v1
                 fieldPath: metadata.namespace
+        {{- if .Values.global.aafEnabled }}{{ include "common.aaf-config" . | nindent 8 }}{{ end }}
         - name: {{ include "common.name" . }}-permission-fixer
           image: "{{ .Values.global.busyBoxRepository }}/{{ .Values.global.busyBoxImage }}"
           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
-          volumeMounts:
-          - mountPath: {{ .Values.persistence.spoolPath }}
-            name: {{ include "common.fullname" . }}-spool-data-pvc
-          - mountPath: {{ .Values.persistence.eventLogsPath }}
-            name: {{ include "common.fullname" . }}-event-logs-pvc
-          command: ["chown","-Rf","1000:1001", "/opt/app/datartr"]
+          volumeMounts: {{- if .Values.global.aafEnabled }}{{ include "common.aaf-config-volume-mountpath" . | nindent 10 }}{{ end }}
+          - mountPath: {{ .Values.persistence.spool.path }}
+            name: {{ include "common.fullname" . }}-spool
+          - mountPath: {{ .Values.persistence.event.path }}
+            name: {{ include "common.fullname" . }}-event-logs
+          command: ["chown","-Rf","1000:1001", "/opt/app/"]
       containers:
         - name: {{ include "common.name" . }}
           image: "{{ include "common.repository" . }}/{{ .Values.image }}"
           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
-          ports:
-          - containerPort: {{.Values.config.dmaapDrNode.externalPort}}
-          - containerPort: {{.Values.config.dmaapDrNode.externalPort2}}
+          ports: {{ include "common.containerPorts" . | nindent 12  }}
           {{- if eq .Values.liveness.enabled true }}
           livenessProbe:
             tcpSocket:
-              port: {{.Values.config.dmaapDrNode.internalPort}}
+              port: {{.Values.liveness.port}}
             initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
             periodSeconds: {{ .Values.liveness.periodSeconds }}
           {{ end -}}
           readinessProbe:
             tcpSocket:
-              port: {{.Values.config.dmaapDrNode.internalPort}}
+              port: {{.Values.readiness.port}}
             initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
             periodSeconds: {{ .Values.readiness.periodSeconds }}
-          volumeMounts:
-          - mountPath: {{ .Values.persistence.spoolPath }}
-            name: {{ include "common.fullname" . }}-spool-data-pvc
-          - mountPath: {{ .Values.persistence.eventLogsPath }}
-            name: {{ include "common.fullname" . }}-event-logs-pvc
+          volumeMounts: {{- if .Values.global.aafEnabled }}{{ include "common.aaf-config-volume-mountpath" . | nindent 10 }}{{ end }}
+          - mountPath: {{ .Values.persistence.spool.path }}
+            name: {{ include "common.fullname" . }}-spool
+          - mountPath: {{ .Values.persistence.event.path }}
+            name: {{ include "common.fullname" . }}-event-logs
           - mountPath: /etc/localtime
             name: localtime
             readOnly: false
           - mountPath: /opt/app/datartr/etc/node.properties
             name: {{ include "common.fullname" . }}-config
             subPath: node.properties
-          - mountPath: /opt/app/datartr/etc/drNodeCadi.properties
-            name: {{ include "common.fullname" . }}-config
-            subPath: drNodeCadi.properties
           - mountPath: /opt/app/datartr/etc/logback.xml
             name: {{ include "common.fullname" . }}-log-conf
             subPath: logback.xml
           - mountPath: {{ .Values.global.loggingDirectory }}
             name: {{ include "common.fullname" . }}-logs
-          resources:
-{{ include "common.resources" . | indent 12 }}
+          resources: {{ include "common.resources" . | nindent 12 }}
         {{- if .Values.nodeSelector }}
-        nodeSelector:
-{{ toYaml .Values.nodeSelector | indent 10 }}
+        nodeSelector: {{ toYaml .Values.nodeSelector | nindent 10 }}
         {{- end -}}
         {{- if .Values.affinity }}
-        affinity:
-{{ toYaml .Values.affinity | indent 10 }}
-        {{- end }}
+        affinity: {{ toYaml .Values.affinity | nindent 10 }}
+        {{- end -}}
         # Filebeat sidecar container
         - name: {{ include "common.name" . }}-filebeat-onap
           image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
@@ -116,7 +102,7 @@ spec:
             mountPath: /var/log/onap/datarouter-node
       imagePullSecrets:
       - name: "{{ include "common.namespace" . }}-docker-registry-key"
-      volumes:
+      volumes: {{ include "common.aaf-config-volumes" . | nindent 8 }}
         - name: localtime
           hostPath:
             path: /etc/localtime
@@ -126,8 +112,6 @@ spec:
             items:
             - key: node.properties
               path: node.properties
-            - key: drNodeCadi.properties
-              path: drNodeCadi.properties
         - name: {{ include "common.fullname" . }}-log-conf
           configMap:
             name: {{ include "common.fullname" . }}-log
@@ -136,34 +120,16 @@ spec:
             name: {{ include "common.fullname" . }}-dmaap-dr-node-filebeat-configmap
         - name: {{ include "common.fullname" . }}-data-filebeat
           emptyDir: {}
-        - name:  {{ include "common.fullname" . }}-event-logs-pvc
-          emptyDir: {}
         - name:  {{ include "common.fullname" . }}-logs
           emptyDir: {}
+      {{- if not .Values.persistence.enabled }}
+        - name:  {{ include "common.fullname" . }}-event-logs
+          emptyDir: {}
+        - name: {{ include "common.fullname" . }}-spool
+          emptyDir: {}
+      {{- end }}
+{{- if .Values.persistence.enabled }}
   volumeClaimTemplates:
-  - metadata:
-      name: {{ include "common.fullname" . }}-spool-data-pvc
-      labels:
-        name: {{ include "common.fullname" . }}
-    spec:
-      accessModes: [ {{ .Values.persistence.accessMode }} ]
-      storageClassName: {{ include "common.fullname" . }}-spool-data-stcl
-      resources:
-        requests:
-          storage: {{ .Values.persistence.spoolSize }}
-      selector:
-        matchLabels:
-          name: {{ include "common.fullname" . }}-spool-data-pv
-  - metadata:
-      name: {{ include "common.fullname" . }}-event-logs-pvc
-      labels:
-        name: {{ include "common.fullname" . }}
-    spec:
-      accessModes: [ {{ .Values.persistence.accessMode }} ]
-      storageClassName: {{ include "common.fullname" . }}-event-logs-stcl
-      resources:
-        requests:
-          storage: {{ .Values.persistence.eventLogSize }}
-      selector:
-        matchLabels:
-          name: {{ include "common.fullname" . }}-event-logs-pv
+  - {{ include "common.PVCTemplate" (dict "dot" . "suffix" "spool" "persistenceInfos" .Values.persistence.spool) | indent 4 | trim }}
+  - {{ include "common.PVCTemplate" (dict "dot" . "suffix" "event-logs" "persistenceInfos" .Values.persistence.event) | indent 4 | trim }}
+{{- end }}