Add one-click deployment scripts and override file examples.
[it/dep.git] / ric-xapps / 90-xApps / helm / xapp-std / templates / deployment.yaml
diff --git a/ric-xapps/90-xApps/helm/xapp-std/templates/deployment.yaml b/ric-xapps/90-xApps/helm/xapp-std/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..295747b
--- /dev/null
@@ -0,0 +1,99 @@
+################################################################################
+#   Copyright (c) 2019 AT&T Intellectual Property.                             #
+#   Copyright (c) 2019 Nokia.                                                  #
+#                                                                              #
+#   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: apps/v1
+kind: Deployment
+metadata:
+  name: {{ include "ricapp.fullname" . }}
+  labels:
+    app.kubernetes.io/name: {{ include "ricapp.name" . }}
+    helm.sh/chart: {{ include "ricapp.chart" . }}
+    app.kubernetes.io/instance: {{ .Release.Name }}
+    app.kubernetes.io/managed-by: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.ricapp.replicaCount }}
+  selector:
+    matchLabels:
+      app.kubernetes.io/name: {{ include "ricapp.name" . }}
+      app.kubernetes.io/instance: {{ .Release.Name }}
+  template:
+    metadata:
+      labels:
+        app.kubernetes.io/name: {{ include "ricapp.name" . }}
+        app.kubernetes.io/instance: {{ .Release.Name }}
+    spec:
+      imagePullSecrets:
+        - name: {{ .Release.Name }}-docker-registry-key
+      containers:
+        - name: {{ .Chart.Name }}
+          image: "{{ .Values.global.repository }}/{{ .Values.ricapp.image.name }}:{{ .Values.ricapp.image.tag }}"
+          imagePullPolicy: {{ .Values.global.image.pullPolicy }}
+          # enable the next two elements if wanting to test pod bypassing its own entrypoint
+          #command: ["sh"]
+          #args:
+          #  - -c
+          #  - "while sleep 2; do echo thinking; done" 
+          ports:
+            - name: http
+              containerPort: 8080
+              protocol: TCP
+          volumeMounts:
+            - name: config-volume
+              mountPath: {{ .Values.ricapp.appconfigpath }}
+            - name: secret-volume
+              mountPath: {{ .Values.ricapp.appsecretpath }}
+          envFrom:
+            - configMapRef:
+                name: {{ .Release.Name }}-appenv
+          livenessProbe:
+            exec:
+              command:
+                - /bin/bash
+                - -c
+                - ps -ef | grep {{ .Values.ricapp.livenessprocessname }}| grep -v "grep"
+            initialDelaySeconds: 120
+            periodSeconds: 30
+          readinessProbe:
+            httpGet:
+              path: /
+              port: http
+          restartPolicy: Always
+          resources:
+            {{- toYaml .Values.resources | nindent 12 }}
+          securityContext:
+            # ubuntu
+            runAsUser: 1000
+            allowPrivilegeEscalation: false
+      {{- with .Values.nodeSelector }}
+      nodeSelector:
+        {{- toYaml . | nindent 8 }}
+      {{- end }}
+    {{- with .Values.affinity }}
+      affinity:
+        {{- toYaml . | nindent 8 }}
+    {{- end }}
+    {{- with .Values.tolerations }}
+      tolerations:
+        {{- toYaml . | nindent 8 }}
+    {{- end }}
+
+      volumes:
+        - name: config-volume
+          configMap:
+            name: {{ .Release.Name }}-appconfig
+        - name: secret-volume
+          secret:
+            secretName: {{ .Release.Name }}-appsecret