apiVersion: apps/v1 kind: Deployment metadata: name: {{ include "deepfence-console.fullname" . }}-ui labels: {{- include "deepfence-console.labels" . | nindent 4 }} name: {{ include "deepfence-console.fullname" . }}-ui spec: {{- if not .Values.ui.autoscaling.enabled }} replicas: {{ .Values.ui.replicaCount }} {{- end }} selector: matchLabels: {{- include "deepfence-console.selectorLabels" . | nindent 6 }} name: {{ include "deepfence-console.fullname" . }}-ui template: metadata: {{- with .Values.ui.podAnnotations }} annotations: {{- toYaml . | nindent 8 }} {{- end }} labels: {{- include "deepfence-console.selectorLabels" . | nindent 8 }} name: {{ include "deepfence-console.fullname" . }}-ui spec: serviceAccountName: {{ include "deepfence-console.serviceAccountName" . }} securityContext: {{- toYaml .Values.ui.podSecurityContext | nindent 8 }} containers: - name: ui securityContext: {{- toYaml .Values.ui.securityContext | nindent 12 }} image: "{{ .Values.global.imageRepoPrefix }}/{{ .Values.ui.image.repository }}:{{ default .Values.global.imageTag .Values.ui.image.tag }}" imagePullPolicy: {{ .Values.ui.image.pullPolicy }} envFrom: - configMapRef: name: "{{ include "deepfence-console.fullname" . }}-config" - secretRef: {{- if .Values.redis.create }} name: "{{ include "deepfence-console.fullname" . }}-secrets-redis" {{- else }} name: {{ .Values.redis.secretName }} {{- end }} - secretRef: {{- if or .Values.fileserver.create .Values.aws_s3_buckets.create }} name: "{{ include "deepfence-console.fullname" . }}-secrets-fileserver" {{- else if .Values.fileserver.secretName }} name: {{ .Values.fileserver.secretName }} {{- else if .Values.aws_s3_buckets.secretName }} name: {{ .Values.aws_s3_buckets.secretName }} {{- end }} - secretRef: {{- if .Values.kafka.create }} name: "{{ include "deepfence-console.fullname" . }}-secrets-kafka" {{- else }} name: {{ .Values.kafka.secretName }} {{- end }} - secretRef: {{- if .Values.postgres.create }} name: "{{ include "deepfence-console.fullname" . }}-secrets-postgres" {{- else }} name: {{ .Values.postgres.secretName }} {{- end }} - secretRef: {{- if .Values.neo4j.create }} name: "{{ include "deepfence-console.fullname" . }}-secrets-neo4j" {{- else }} name: {{ .Values.neo4j.secretName }} {{- end }} ports: - name: http containerPort: 8081 protocol: TCP livenessProbe: httpGet: path: /health port: http initialDelaySeconds: 60 periodSeconds: 10 timeoutSeconds: 5 failureThreshold: 5 successThreshold: 1 readinessProbe: httpGet: path: /health port: http initialDelaySeconds: 60 periodSeconds: 10 timeoutSeconds: 5 failureThreshold: 5 successThreshold: 1 resources: {{- toYaml .Values.ui.resources | nindent 12 }} {{- with .Values.ui.nodeSelector }} nodeSelector: {{- toYaml . | nindent 8 }} {{- end }} {{- with .Values.ui.affinity }} affinity: {{- toYaml . | nindent 8 }} {{- end }} {{- with .Values.ui.tolerations }} tolerations: {{- toYaml . | nindent 8 }} {{- end }} --- apiVersion: v1 kind: Service metadata: name: {{ include "deepfence-console.fullname" . }}-ui labels: {{- include "deepfence-console.labels" . | nindent 4 }} name: {{ include "deepfence-console.fullname" . }}-ui spec: type: {{ .Values.ui.service.type }} ports: - port: {{ .Values.ui.service.port }} targetPort: http protocol: TCP name: http selector: {{- include "deepfence-console.selectorLabels" . | nindent 4 }} name: {{ include "deepfence-console.fullname" . }}-ui --- {{- if .Values.ui.autoscaling.enabled }} apiVersion: autoscaling/v2beta1 kind: HorizontalPodAutoscaler metadata: name: {{ include "deepfence-console.fullname" . }}-ui labels: {{- include "deepfence-console.labels" . | nindent 4 }} name: {{ include "deepfence-console.fullname" . }}-ui spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: {{ include "deepfence-console.fullname" . }}-ui minReplicas: {{ .Values.ui.autoscaling.minReplicas }} maxReplicas: {{ .Values.ui.autoscaling.maxReplicas }} metrics: {{- if .Values.ui.autoscaling.targetCPUUtilizationPercentage }} - type: Resource resource: name: cpu targetAverageUtilization: {{ .Values.ui.autoscaling.targetCPUUtilizationPercentage }} {{- end }} {{- if .Values.ui.autoscaling.targetMemoryUtilizationPercentage }} - type: Resource resource: name: memory targetAverageUtilization: {{ .Values.ui.autoscaling.targetMemoryUtilizationPercentage }} {{- end }} {{- end }}