apiVersion: apps/v1 kind: Deployment metadata: name: homepage namespace: {{ .Release.Namespace }} labels: app.kubernetes.io/name: homepage app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/component: web app.kubernetes.io/part-of: homepage app.kubernetes.io/managed-by: helm spec: revisionHistoryLimit: 3 replicas: {{ .Values.deployment.replicas }} strategy: type: {{ .Values.deployment.strategy }} selector: matchLabels: app.kubernetes.io/name: homepage app.kubernetes.io/instance: {{ .Release.Name }} template: metadata: labels: app.kubernetes.io/name: homepage app.kubernetes.io/instance: {{ .Release.Name }} spec: serviceAccountName: homepage automountServiceAccountToken: true containers: - name: {{ .Release.Name }} image: "{{ .Values.deployment.image.repository }}:{{ .Values.deployment.image.tag }}" imagePullPolicy: {{ .Values.deployment.image.imagePullPolicy }} ports: - name: http containerPort: {{ .Values.service.http.port }} protocol: TCP env: {{- range $k,$v := .Values.deployment.env }} - name: {{ $k }} value: {{ $v | quote }} {{- end }} {{- with .Values.deployment.envFrom }} envFrom: {{- toYaml . | nindent 12 }} {{- end }} volumeMounts: - name: homepage-config subPath: bookmarks.yaml mountPath: /app/config/bookmarks.yaml - name: homepage-config subPath: docker.yaml mountPath: /app/config/docker.yaml - name: homepage-config subPath: kubernetes.yaml mountPath: /app/config/kubernetes.yaml - name: homepage-config subPath: services.yaml mountPath: /app/config/services.yaml - name: homepage-config subPath: settings.yaml mountPath: /app/config/settings.yaml - name: homepage-config subPath: widgets.yaml mountPath: /app/config/widgets.yaml - name: logs mountPath: /app/config/logs resources: {{- toYaml .Values.deployment.resources | nindent 12 }} livenessProbe: failureThreshold: 3 initialDelaySeconds: 0 periodSeconds: 10 tcpSocket: port: {{ .Values.service.http.port }} timeoutSeconds: 1 readinessProbe: failureThreshold: 3 initialDelaySeconds: 0 periodSeconds: 10 tcpSocket: port: {{ .Values.service.http.port }} timeoutSeconds: 1 startupProbe: failureThreshold: 30 initialDelaySeconds: 0 periodSeconds: 5 tcpSocket: port: {{ .Values.service.http.port }} timeoutSeconds: 1 volumes: - name: homepage-config configMap: name: homepage-config - name: logs emptyDir: {}