{{- if .Values.web.enabled -}} apiVersion: v1 kind: Service metadata: name: {{ include "tline.componentName" (dict "Values" .Values "Chart" .Chart "Release" .Release "component" "web") }} labels: {{ include "tline.labels" . | indent 4 }} app.kubernetes.io/component: web spec: type: ClusterIP ports: - name: http port: {{ .Values.web.service.port }} targetPort: http selector: {{ include "tline.selectorLabels" . | indent 4 }} app.kubernetes.io/component: web --- apiVersion: apps/v1 kind: Deployment metadata: name: {{ include "tline.componentName" (dict "Values" .Values "Chart" .Chart "Release" .Release "component" "web") }} labels: {{ include "tline.labels" . | indent 4 }} app.kubernetes.io/component: web spec: replicas: {{ .Values.web.replicas }} selector: matchLabels: {{ include "tline.selectorLabels" . | indent 6 }} app.kubernetes.io/component: web template: metadata: labels: {{ include "tline.selectorLabels" . | indent 8 }} app.kubernetes.io/component: web spec: {{ include "tline.imagePullSecrets" . | indent 6 }} {{- $aff := include "tline.affinity" (dict "Values" .Values "schedulingClass" .Values.web.schedulingClass) }} {{- if $aff }} affinity: {{ $aff | indent 8 }} {{- end }} {{- $tols := include "tline.tolerations" (dict "Values" .Values "schedulingClass" .Values.web.schedulingClass) }} {{- if $tols }} tolerations: {{ $tols | indent 8 }} {{- end }} containers: - name: web image: {{ include "tline.image" (dict "repository" .Values.images.web.repository "tag" .Values.images.web.tag) | quote }} imagePullPolicy: {{ .Values.images.web.pullPolicy }} ports: - name: http containerPort: 3000 envFrom: - configMapRef: name: {{ include "tline.componentName" (dict "Values" .Values "Chart" .Chart "Release" .Release "component" "config") }} env: - name: POSTGRES_PASSWORD valueFrom: secretKeyRef: name: {{ include "tline.secretName" . }} key: POSTGRES_PASSWORD - name: MINIO_ACCESS_KEY_ID valueFrom: secretKeyRef: name: {{ include "tline.secretName" . }} key: MINIO_ACCESS_KEY_ID - name: MINIO_SECRET_ACCESS_KEY valueFrom: secretKeyRef: name: {{ include "tline.secretName" . }} key: MINIO_SECRET_ACCESS_KEY readinessProbe: httpGet: path: /api/healthz port: http initialDelaySeconds: 5 periodSeconds: 5 livenessProbe: httpGet: path: /api/healthz port: http initialDelaySeconds: 20 periodSeconds: 10 resources: {{ toYaml .Values.web.resources | indent 12 }} {{- end }}