apiVersion: apps/v1beta2 kind: Deployment metadata: name: {{ include "passbook.fullname" . }}-web labels: app.kubernetes.io/name: {{ include "passbook.name" . }} helm.sh/chart: {{ include "passbook.chart" . }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/managed-by: {{ .Release.Service }} spec: replicas: {{ .Values.replicaCount }} selector: matchLabels: app.kubernetes.io/name: {{ include "passbook.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} template: metadata: labels: app.kubernetes.io/name: {{ include "passbook.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} passbook.io/component: web spec: volumes: - name: config-volume configMap: name: {{ include "passbook.fullname" . }}-config initContainers: - name: passbook-database-migrations image: "docker.beryju.org/passbook/server:{{ .Values.image.tag }}" command: - ./manage.py args: - migrate envFrom: - configMapRef: name: {{ include "passbook.fullname" . }}-config prefix: PASSBOOK_ env: - name: PASSBOOK_REDIS__PASSWORD valueFrom: secretKeyRef: name: "{{ .Release.Name }}-redis" key: redis-password - name: PASSBOOK_POSTGRESQL__PASSWORD valueFrom: secretKeyRef: name: "{{ .Release.Name }}-postgresql" key: postgresql-password volumeMounts: - mountPath: /etc/passbook name: config-volume containers: - name: {{ .Chart.Name }} image: "docker.beryju.org/passbook/server:{{ .Values.image.tag }}" imagePullPolicy: IfNotPresent command: - uwsgi args: - --http=0.0.0.0:8000 - --wsgi-file=passbook/root/wsgi.py - --master - --enable-threads envFrom: - configMapRef: name: {{ include "passbook.fullname" . }}-config prefix: PASSBOOK_ env: - name: PASSBOOK_REDIS__PASSWORD valueFrom: secretKeyRef: name: "{{ .Release.Name }}-redis" key: redis-password - name: PASSBOOK_POSTGRESQL__PASSWORD valueFrom: secretKeyRef: name: "{{ .Release.Name }}-postgresql" key: postgresql-password ports: - name: http containerPort: 8000 protocol: TCP volumeMounts: - mountPath: /etc/passbook name: config-volume livenessProbe: httpGet: path: / port: http httpHeaders: - name: Host value: kubernetes-healthcheck-host readinessProbe: httpGet: path: / port: http httpHeaders: - name: Host value: kubernetes-healthcheck-host resources: requests: cpu: 50m memory: 150M limits: cpu: 200m memory: 300M