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
 |