Adding policy manager and a1 sdnc vth
[it/otf.git] / a1-policy-manager-vth / helm / a1-policy-manager-vth / templates / deployment.yaml
diff --git a/a1-policy-manager-vth/helm/a1-policy-manager-vth/templates/deployment.yaml b/a1-policy-manager-vth/helm/a1-policy-manager-vth/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..89d053d
--- /dev/null
@@ -0,0 +1,137 @@
+apiVersion: extensions/v1beta1\r
+kind: Deployment\r
+metadata:\r
+  name: {{ .Values.appName}}\r
+  namespace: {{.Values.namespace}}\r
+  labels:\r
+    app: {{ .Values.appName}}\r
+    version: {{.Values.version}}\r
+spec:\r
+  revisionHistoryLimit: 1\r
+  minReadySeconds: 10\r
+  strategy:\r
+  # indicate which strategy we want for rolling update\r
+    type: RollingUpdate\r
+    rollingUpdate:\r
+      maxSurge: 0\r
+      maxUnavailable: 1\r
+  replicas: {{ .Values.replicas}}\r
+  selector:\r
+    matchLabels:\r
+      app: {{ .Values.appName}}\r
+      version: {{.Values.version}}\r
+  template:\r
+    metadata:\r
+      labels:\r
+        app: {{ .Values.appName}}\r
+        version: {{.Values.version}}\r
+    spec:\r
+      serviceAccount: default\r
+      volumes:\r
+      - name: {{ .Values.appName}}-cert-volume\r
+        secret:\r
+          secretName: {{.Values.sharedCert}}\r
+          optional: true\r
+          items:\r
+          - key: PEM_CERT\r
+            path: otf.pem\r
+          - key: PEM_KEY\r
+            path: privateKey.pem\r
+#      {{ if or (eq .Values.env "st") (eq .Values.env "prod-dr")}} TODO UNCOMMENT WHEN PUSHING TO ORAN\r
+#      {{else}}\r
+#      - name: logging-pvc\r
+#        persistentVolumeClaim:\r
+#          {{if eq .Values.env "prod"}}\r
+#          claimName: {{ .Values.pvc.prod | quote }}\r
+#          {{ else }}\r
+#          claimName: {{ .Values.pvc.dev | quote }}\r
+#          {{ end }}\r
+#      {{end}}\r
+      containers:\r
+      - name: {{ .Values.appName}}\r
+        image: {{ .Values.image}}\r
+        imagePullPolicy: Always\r
+        ports:\r
+        - name: http\r
+          containerPort: 6000\r
+          nodePort: {{.Values.nodePort}}\r
+          protocol: TCP\r
+#        {{ if eq .Values.env "st"}} TODO UNCOMMENT FOR ORAN?\r
+#        resources:\r
+#          limits:\r
+#            memory: "512Mi"\r
+#            cpu: "500m"\r
+#          requests:\r
+#            memory: "256Mi"\r
+#            cpu: "100m"\r
+#        {{else}}\r
+#        resources:\r
+#          limits:\r
+#            memory: "1Gi"\r
+#            cpu: "1"\r
+#          requests:\r
+#            memory: "1Gi"\r
+#            cpu: "1"\r
+#        {{end}}\r
+        env:\r
+        - name: NAMESPACE\r
+          value: {{.Values.namespace}}\r
+        - name: APP_NAME\r
+          value: {{ .Values.appName}}\r
+        - name: APP_VERSION\r
+          value: {{.Values.version}}\r
+        - name: USE_CRED\r
+          value: {{.Values.auth.enabled | quote }}\r
+        - name: USER\r
+          valueFrom:\r
+            secretKeyRef:\r
+              name: {{ .Values.appName}}\r
+              key: api_user\r
+              optional: true\r
+        - name: PW\r
+          valueFrom:\r
+            secretKeyRef:\r
+              name: {{ .Values.appName}}\r
+              key: api_pass\r
+              optional: true\r
+        - name: USE_PROXY\r
+          value: {{.Values.proxy.enabled | quote }}\r
+        - name: HTTPS\r
+          value: {{.Values.proxy.https | quote }}\r
+        - name: HTTP\r
+          value: {{.Values.proxy.http | quote }}\r
+        - name: API_URL\r
+          value: {{.Values.api.base_url}}\r
+        - name: API_PORT\r
+          value: {{.Values.api.port | quote }}\r
+        volumeMounts:\r
+        - name: {{.Values.appName}}-cert-volume\r
+          mountPath: /opt/cert\r
+#        {{ if or (eq .Values.env "st") (eq .Values.env "prod-dr")}}\r
+#        {{else}}\r
+#        - name: logging-pvc\r
+#          mountPath: "/otf/logs"\r
+#        {{end}}\r
+        livenessProbe:\r
+          httpGet:\r
+            path: {{.Values.health}}\r
+            port: http\r
+            scheme: HTTP\r
+            httpHeaders:\r
+              - name: X-Custom-Header\r
+                value: Alive\r
+          initialDelaySeconds: 30\r
+          timeoutSeconds: 30\r
+          periodSeconds: 30\r
+        readinessProbe:\r
+          httpGet:\r
+            path: {{.Values.health}}\r
+            port: http\r
+            scheme: HTTP\r
+            httpHeaders:\r
+              - name: X-Custom-Header\r
+                value: Ready\r
+          initialDelaySeconds: 30\r
+          timeoutSeconds: 30\r
+          periodSeconds: 30\r
+      restartPolicy: Always\r