deployment/helm/rule-engine/templates/deployment.yaml (140 lines of code) (raw):

apiVersion: apps/v1 kind: Deployment metadata: name: {{ include "rule-engine.fullname" . }} labels: app.kubernetes.io/name: {{ include "rule-engine.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/managed-by: {{ .Release.Service }} helm.sh/chart: {{ include "rule-engine.chart" . }} spec: replicas: {{ .Values.replicas }} strategy: type: {{ .Values.strategy.type }} {{- if eq .Values.strategy.type "RollingUpdate" }} rollingUpdate: maxSurge: {{ .Values.strategy.maxSurge }} maxUnavailable: {{ .Values.strategy.maxUnavailable }} {{- end}} selector: matchLabels: app.kubernetes.io/name: {{ include "rule-engine.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} template: metadata: labels: app.kubernetes.io/name: {{ include "rule-engine.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/managed-by: {{ .Release.Service }} helm.sh/chart: {{ include "rule-engine.chart" . }} annotations: rollme: {{ randAlphaNum 5 | quote }} spec: containers: - name: rule-engine image: "{{ .Values.image.repository }}:{{ default .Chart.AppVersion .Values.image.tag }}" imagePullPolicy: {{ .Values.image.pullPolicy }} livenessProbe: httpGet: path: '/caas/health/live' scheme: HTTP port: 8000 initialDelaySeconds: 20 periodSeconds: 40 timeoutSeconds: 5 successThreshold: 1 failureThreshold: 3 ports: - containerPort: 8000 name: http protocol: TCP env: - name: modular_mongo_user valueFrom: secretKeyRef: name: mongo-secret key: username - name: modular_mongo_password valueFrom: secretKeyRef: name: mongo-secret key: password - name: modular_mongo_url value: "{{ .Values.mongoService }}:{{ .Values.mongoPort }}" - name: modular_mongo_db_name valueFrom: configMapKeyRef: name: {{ include "rule-engine.fullname" . }} key: modular-db-name - name: modular_service_mode value: {{ default "docker" .Values.modularSdk.serviceMode }} {{- if ne (default "docker" .Values.modularSdk.serviceMode) "docker" }} - name: modular_assume_role_arn value: {{ .Values.modularSdk.assumeRoleArn }} - name: MODULAR_AWS_REGION value: {{ .Values.modularSdk.awsRegion }} {{- end }} - name: CAAS_SERVICE_MODE value: docker - name: CAAS_MONGO_URI value: "mongodb://$(modular_mongo_user):$(modular_mongo_password)@$(modular_mongo_url)/" - name: CAAS_MONGO_DATABASE valueFrom: configMapKeyRef: name: {{ include "rule-engine.fullname" . }} key: db-name - name: VAULT_URL value: {{ .Values.vaultService }} - name: VAULT_SERVICE_SERVICE_PORT value: "{{ .Values.vaultPort }}" - name: CAAS_VAULT_ENDPOINT value: "http://$(VAULT_URL):$(VAULT_SERVICE_SERVICE_PORT)" - name: CAAS_VAULT_TOKEN valueFrom: secretKeyRef: name: vault-secret key: token - name: VAULT_TOKEN valueFrom: secretKeyRef: name: vault-secret key: token - name: CAAS_MINIO_ENDPOINT value: "http://{{ .Values.minioService }}:{{ .Values.minioPort }}" - name: CAAS_MINIO_ACCESS_KEY_ID valueFrom: secretKeyRef: name: minio-secret key: username - name: CAAS_MINIO_SECRET_ACCESS_KEY valueFrom: secretKeyRef: name: minio-secret key: password - name: CAAS_INNER_CACHE_TTL_SECONDS valueFrom: configMapKeyRef: name: {{ include "rule-engine.fullname" . }} key: inner-cache-ttl-seconds - name: CAAS_SYSTEM_USER_PASSWORD valueFrom: secretKeyRef: name: rule-engine-secret key: system-password - name: CAAS_TESTING value: 'false' - name: HTTP_PROXY value: {{ .Values.httpProxy }} - name: HTTPS_PROXY value: {{ .Values.httpProxy }} - name: NO_PROXY value: {{ .Values.noProxy }} - name: CAAS_LOG_LEVEL value: {{ .Values.logLevel }} - name: CAAS_BATCH_JOB_LOG_LEVEL value: {{ .Values.executorLogLevel }} {{- if .Values.allowSimultaneousJobsForOneTenant }} - name: CAAS_ALLOW_SIMULTANEOUS_JOBS_FOR_ONE_TENANT value: 'true' {{- end }} restartPolicy: Always