114 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			114 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| apiVersion: apps/v1
 | |
| 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 }}
 | |
|     k8s.passbook.io/component: web
 | |
| spec:
 | |
|   replicas: 2
 | |
|   selector:
 | |
|     matchLabels:
 | |
|       app.kubernetes.io/name: {{ include "passbook.name" . }}
 | |
|       app.kubernetes.io/instance: {{ .Release.Name }}
 | |
|       k8s.passbook.io/component: web
 | |
|   template:
 | |
|     metadata:
 | |
|       labels:
 | |
|         app.kubernetes.io/name: {{ include "passbook.name" . }}
 | |
|         app.kubernetes.io/instance: {{ .Release.Name }}
 | |
|         k8s.passbook.io/component: web
 | |
|     spec:
 | |
|       volumes:
 | |
|         - name: config-volume
 | |
|           configMap:
 | |
|             name: {{ include "passbook.fullname" . }}-config
 | |
|       initContainers:
 | |
|         - name: passbook-database-migrations
 | |
|           image: "beryju/passbook:{{ .Values.image.tag }}"
 | |
|           imagePullPolicy: Always
 | |
|           args:
 | |
|             - ./manage.py
 | |
|             - migrate
 | |
|           volumeMounts:
 | |
|             - mountPath: /etc/passbook
 | |
|               name: config-volume
 | |
|           envFrom:
 | |
|             - configMapRef:
 | |
|                 name: {{ include "passbook.fullname" . }}-config
 | |
|               prefix: PASSBOOK_
 | |
|           env:
 | |
|             - name: PASSBOOK_SECRET_KEY
 | |
|               valueFrom:
 | |
|                 secretKeyRef:
 | |
|                   name: {{ include "passbook.fullname" . }}-secret-key
 | |
|                   key: secret_key
 | |
|             - 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
 | |
|       containers:
 | |
|         - name: {{ .Chart.Name }}
 | |
|           image: "beryju/passbook:{{ .Values.image.tag }}"
 | |
|           imagePullPolicy: Always
 | |
|           args:
 | |
|             - uwsgi
 | |
|             - uwsgi.ini
 | |
|           volumeMounts:
 | |
|             - mountPath: /etc/passbook
 | |
|               name: config-volume
 | |
|           envFrom:
 | |
|             - configMapRef:
 | |
|                 name: {{ include "passbook.fullname" . }}-config
 | |
|               prefix: PASSBOOK_
 | |
|           env:
 | |
|             - name: PASSBOOK_SECRET_KEY
 | |
|               valueFrom:
 | |
|                 secretKeyRef:
 | |
|                   name: {{ include "passbook.fullname" . }}-secret-key
 | |
|                   key: secret_key
 | |
|             - 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
 | |
|           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: 100m
 | |
|               memory: 200M
 | |
|             limits:
 | |
|               cpu: 300m
 | |
|               memory: 350M
 | 
