added svcapi ui and camunda code
[it/otf.git] / otf-frontend / helm / otf-frontend / templates / deployment.yaml
diff --git a/otf-frontend/helm/otf-frontend/templates/deployment.yaml b/otf-frontend/helm/otf-frontend/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..4d6c3e8
--- /dev/null
@@ -0,0 +1,218 @@
+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   # keep one replica set to allow rollback\r
+  minReadySeconds: 10\r
+  strategy:\r
+    # indicate which strategy we want for rolling update\r
+    type: RollingUpdate\r
+    rollingUpdate:\r
+      maxSurge: 1\r
+      maxUnavailable: 1\r
+  {{if or (eq .Values.env "prod") (eq .Values.env "prod-dr")}}\r
+  replicas: {{ .Values.replicas.prod}}\r
+  {{ else if  eq .Values.env "st"}}\r
+  replicas: {{ .Values.replicas.st}}\r
+  {{ else }}\r
+  replicas: {{ .Values.replicas.dev}}\r
+  {{ end }}\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
+      containers:\r
+      - name: {{ .Values.appName}}\r
+        image: {{ .Values.image}}\r
+        imagePullPolicy: Always\r
+        ports:\r
+        - name: https\r
+          containerPort: 443\r
+          nodePort: {{.Values.nodePort}}\r
+          protocol: TCP\r
+        {{ if eq .Values.env "st"}}\r
+        resources:\r
+          limits:\r
+            memory: "5Gi"\r
+            cpu: "3"\r
+          requests:\r
+            memory: "2Gi"\r
+            cpu: "1"\r
+        {{else}}\r
+        resources:\r
+          limits:\r
+            memory: "10Gi"\r
+            cpu: "6"\r
+          requests:\r
+            memory: "4Gi"\r
+            cpu: "2"\r
+        {{end}}\r
+        env:\r
+        - name: ENV\r
+          {{ if or (eq .Values.env "prod") (eq .Values.env "prod-dr")}}\r
+          value: "production"\r
+          {{ else if eq .Values.env "st" }}\r
+          value: "system_test"\r
+          {{ else }}\r
+          value: "development"\r
+          {{ end }}\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: OTF_URL\r
+          {{ if or (eq .Values.env "prod") (eq .Values.env "prod-dr")}}\r
+          value: {{.Values.otf.OTF_URL.prod | quote}}\r
+          {{ else if eq .Values.env "st" }}\r
+          value: {{.Values.otf.OTF_URL.st | quote}}\r
+          {{ else }}\r
+          value: {{.Values.otf.OTF_URL.dev | quote}}\r
+          {{ end }}\r
+        - name: OTF_EMAIL\r
+          value: {{.Values.otf.OTF_EMAIL | quote}}\r
+        - name: AUTHENTICATION_SECRET\r
+          valueFrom:\r
+            secretKeyRef:\r
+              name: {{ .Values.appName}}\r
+              key: authentication_secret\r
+              optional: true\r
+        - name: SERVICEAPI_URL\r
+          {{ if eq .Values.env "prod" }}\r
+          value: {{.Values.serviceApi.prod.SERVICEAPI_URL | quote}}\r
+          {{ else if eq .Values.env "prod-dr" }}\r
+          value: {{.Values.serviceApi.prod_dr.SERVICEAPI_URL | quote}}\r
+          {{ else if eq .Values.env "st" }}\r
+          value: {{.Values.serviceApi.st.SERVICEAPI_URL | quote}}\r
+          {{ else }}\r
+          value: {{.Values.serviceApi.dev.SERVICEAPI_URL | quote}}\r
+          {{ end }}\r
+        - name: SERVICEAPI_URIEXECUTETESTINSTANCE\r
+          {{ if eq .Values.env "prod" }}\r
+          value: {{.Values.serviceApi.prod.SERVICEAPI_URIEXECUTETESTINSTANCE | quote}}\r
+          {{ else if eq .Values.env "prod-dr" }}\r
+          value: {{.Values.serviceApi.prod_dr.SERVICEAPI_URIEXECUTETESTINSTANCE | quote}}          \r
+          {{ else if eq .Values.env "st" }}\r
+          value: {{.Values.serviceApi.st.SERVICEAPI_URIEXECUTETESTINSTANCE | quote}}\r
+          {{ else }}\r
+          value: {{.Values.serviceApi.dev.SERVICEAPI_URIEXECUTETESTINSTANCE | quote}}\r
+          {{ end }}\r
+        - name: SERVICEAPI_AAFID\r
+          valueFrom:\r
+            secretKeyRef:\r
+              name: {{ .Values.sharedSecret}}\r
+              key: aaf_id\r
+              optional: true\r
+        - name: SERVICEAPI_AAFPASSWORD\r
+          valueFrom:\r
+            secretKeyRef:\r
+              name: {{ .Values.sharedSecret}}\r
+              key: aaf_mech_password\r
+              optional: true\r
+        - name: CAMUNDAAPI_URL\r
+          {{ if eq .Values.env "prod" }}\r
+          value: {{ .Values.camundaApi.prod.CAMUNDAAPI_URL | quote}}\r
+          {{ else if eq .Values.env "prod-dr" }}\r
+          value: {{ .Values.camundaApi.prod_dr.CAMUNDAAPI_URL | quote}}          \r
+          {{ else if eq .Values.env "st" }}\r
+          value: {{ .Values.camundaApi.st.CAMUNDAAPI_URL | quote}}\r
+          {{ else }}\r
+          value: {{ .Values.camundaApi.dev.CAMUNDAAPI_URL | quote}}\r
+          {{ end }}\r
+        - name: CAMUNDAAPI_AAFID\r
+          valueFrom:\r
+            secretKeyRef:\r
+              name: {{ .Values.sharedSecret}}\r
+              key: aaf_id\r
+              optional: true\r
+        - name: CAMUNDAAPI_AAFPASSWORD\r
+          valueFrom:\r
+            secretKeyRef:\r
+              name: {{ .Values.sharedSecret}}\r
+              key: aaf_mech_password\r
+              optional: true\r
+        - name: MONGO_BASEURL\r
+          {{ if or (eq .Values.env "prod") (eq .Values.env "prod-dr")}}\r
+          value: {{ .Values.mongo.prod.MONGO_BASEURL | quote}}\r
+          {{ else if eq .Values.env "st" }}\r
+          value: {{ .Values.mongo.st.MONGO_BASEURL | quote}}\r
+          {{ else }}\r
+          value: {{ .Values.mongo.dev.MONGO_BASEURL | quote}}\r
+          {{ end }}\r
+        - name: MONGO_DBOTF\r
+          {{ if or (eq .Values.env "prod") (eq .Values.env "prod-dr")}}\r
+          value: {{ .Values.mongo.prod.MONGO_DBOTF | quote }}\r
+          {{ else if eq .Values.env "st" }}\r
+          value: {{ .Values.mongo.st.MONGO_DBOTF | quote }}\r
+          {{ else }}\r
+          value: {{ .Values.mongo.dev.MONGO_DBOTF | quote }}\r
+          {{ end }}\r
+        - name: MONGO_REPLICASET\r
+          {{ if or (eq .Values.env "prod") (eq .Values.env "prod-dr")}}\r
+          value: {{ .Values.mongo.prod.MONGO_REPLICASET | quote }}\r
+          {{ else if eq .Values.env "st" }}\r
+          value: {{ .Values.mongo.st.MONGO_REPLICASET | quote }}\r
+          {{ else }}\r
+          value: {{ .Values.mongo.dev.MONGO_REPLICASET | quote }}\r
+          {{ end }}\r
+        - name: MONGO_USERNAME\r
+          valueFrom:\r
+            secretKeyRef:\r
+              name: {{ .Values.appName}}\r
+              key: mongo_username\r
+              optional: true\r
+        - name: MONGO_PASSWORD\r
+          valueFrom:\r
+            secretKeyRef:\r
+              name: {{ .Values.appName}}\r
+              key: mongo_password\r
+              optional: true\r
+        volumeMounts:\r
+        - name: {{.Values.appName}}-cert-volume\r
+          mountPath: /home/node/server/config/cert/\r
+        livenessProbe:\r
+          httpGet:\r
+            path: {{ .Values.healthEndpoint }}\r
+            port: https\r
+            scheme: HTTPS\r
+            httpHeaders:\r
+              - name: X-Custom-Header\r
+                value: Alive\r
+          initialDelaySeconds: 30\r
+          timeoutSeconds: 30\r
+          periodSeconds: 60\r
+        readinessProbe:\r
+          httpGet:\r
+            path: {{ .Values.healthEndpoint }}\r
+            port: https\r
+            scheme: HTTPS\r
+            httpHeaders:\r
+              - name: X-Custom-Header\r
+                value: Ready\r
+          initialDelaySeconds: 30\r
+          timeoutSeconds: 30\r
+          periodSeconds: 30\r
+      restartPolicy: Always\r