|
|
- apiVersion: apps/v1beta2
- kind: Deployment
- metadata:
- name: {{ template "peertube.fullname" . }}
- labels:
- app: {{ template "peertube.name" . }}
- chart: {{ template "peertube.chart" . }}
- release: {{ .Release.Name }}
- heritage: {{ .Release.Service }}
- spec:
- replicas: {{ .Values.replicaCount }}
- selector:
- matchLabels:
- app: {{ template "peertube.name" . }}
- release: {{ .Release.Name }}
- template:
- metadata:
- labels:
- app: {{ template "peertube.name" . }}
- release: {{ .Release.Name }}
- spec:
- initContainers:
- - name: peertube-init
- image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
- imagePullPolicy: {{ .Values.image.pullPolicy }}
- volumeMounts:
- - name: data
- mountPath: /data
- - name: config
- mountPath: /config
- - mountPath: /init
- name: peertube-init
- readOnly: true
- - name: peertubeassets
- mountPath: /assets
- command:
- - sh
- - /init/peertube-init.sh
- {{- if .Values.chowncontainer.enabled }}
- - name: peertube-chown
- image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
- imagePullPolicy: {{ .Values.image.pullPolicy }}
- volumeMounts:
- - name: data
- mountPath: /data
- - name: config
- mountPath: /config
- - mountPath: /init
- name: peertube-chown
- readOnly: true
- command:
- - sh
- - /init/peertube-chown.sh
- {{- end }}
- containers:
- {{- if .Values.nginxproxy.enabled }}
- - name: nginx-proxy
- image: "{{ .Values.nginxproxy.image.repository }}:{{ .Values.nginxproxy.image.tag }}"
- imagePullPolicy: {{ .Values.image.pullPolicy }}
- ports:
- - name: http
- containerPort: {{ .Values.ports.nginxproxyPort }}
- protocol: TCP
- livenessProbe:
- httpGet:
- path: /
- port: http
- initialDelaySeconds: 60
- readinessProbe:
- httpGet:
- path: /
- port: http
- initialDelaySeconds: 60
- volumeMounts:
- - name: nginxtemp
- mountPath: /nginxtemp
- - mountPath: /etc/nginx/conf.d
- name: nginx-proxyconf
- readOnly: true
- - name: peertubeassets
- mountPath: /assets
- readOnly: true
- - name: data
- mountPath: /data
- {{- end }}
- - name: {{ .Chart.Name }}
- image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
- imagePullPolicy: {{ .Values.image.pullPolicy }}
- {{- if .Values.nginxproxy.enabled }}
- livenessProbe:
- httpGet:
- path: /
- port: 9000
- initialDelaySeconds: 60
- readinessProbe:
- httpGet:
- path: /
- port: 9000
- initialDelaySeconds: 60
- {{- else }}
- ports:
- - name: http
- containerPort: {{ .Values.ports.peertubePort }}
- protocol: TCP
- livenessProbe:
- httpGet:
- path: /
- port: http
- initialDelaySeconds: 60
- readinessProbe:
- httpGet:
- path: /
- port: http
- initialDelaySeconds: 60
- {{- end }}
- command:
- - gosu
- - peertube
- - npm
- - start
- env:
- - name: PEERTUBE_WEBSERVER_HOSTNAME
- value: {{ .Values.environment.hostname }}
- - name: PEERTUBE_WEBSERVER_PORT
- value: {{ .Values.environment.http | quote }}
- - name: PEERTUBE_WEBSERVER_HTTPS
- value: {{ .Values.environment.httpsEnabled | quote }}
- - name: PEERTUBE_DB_HOSTNAME
- value: {{ .Values.environment.dbHostname }}
- - name: PEERTUBE_DB_SUFFIX
- value: _prod
- - name: PEERTUBE_DB_USERNAME
- value: {{ .Values.environment.dbUser }}
- - name: PEERTUBE_DB_PASSWORD
- value: {{ .Values.environment.dbPassword }}
- - name: PEERTUBE_REDIS_HOSTNAME
- value: {{ .Release.Name }}-{{ .Values.environment.redisHostname }}-master
- - name: PEERTUBE_SMTP_USERNAME
- value: {{ .Values.environment.smtpUser | quote }}
- - name: PEERTUBE_SMTP_PASSWORD
- value: {{ .Values.environment.smtpPassword }}
- - name: PEERTUBE_SMTP_HOSTNAME
- value: {{ .Values.environment.smtpHostname }}
- - name: PEERTUBE_SMTP_PORT
- value: {{ .Values.environment.smtpPort | quote }}
- - name: PEERTUBE_SMTP_FROM
- value: {{ .Values.environment.smtpFrom | quote }}
- - name: PEERTUBE_SMTP_TLS
- value: {{ .Values.environment.smtpTls | quote }}
- - name: PEERTUBE_ADMIN_EMAIL
- value: {{ .Values.environment.admin | quote }}
- - name: PEERTUBE_SIGNUP_ENABLED
- value: {{ .Values.environment.signup | quote }}
- - name: PEERTUBE_TRANSCODING_ENABLED
- value: {{ .Values.environment.transcoding | quote }}
- volumeMounts:
- - name: data
- mountPath: /data
- - name: config
- mountPath: /config
- resources:
- {{ toYaml .Values.resources | indent 12 }}
- {{- with .Values.nodeSelector }}
- nodeSelector:
- {{ toYaml . | indent 8 }}
- {{- end }}
- {{- with .Values.affinity }}
- affinity:
- {{ toYaml . | indent 8 }}
- {{- end }}
- {{- with .Values.tolerations }}
- tolerations:
- {{ toYaml . | indent 8 }}
- {{- end }}
- volumes:
- {{- if .Values.persistence.data.enabled }}
- - name: data
- persistentVolumeClaim:
- claimName: {{ .Values.persistence.data.existingClaim }}
- {{- else }}
- - name: data
- emptyDir: {}
- {{- end }}
- {{- if .Values.persistence.config.enabled }}
- - name: config
- persistentVolumeClaim:
- claimName: {{ .Values.persistence.config.existingClaim }}
- {{- else }}
- - name: config
- emptyDir: {}
- {{- end }}
- {{- if .Values.nginxproxy.persistence.enabled }}
- - name: nginxtemp
- persistentVolumeClaim:
- claimName: {{ .Values.nginxproxy.persistence.existingClaim }}
- {{- else }}
- - name: nginxtemp
- emptyDir: {}
- {{- end }}
- - name: peertubeassets
- emptyDir: {}
- - configMap:
- defaultMode: 420
- name: nginx-proxyconf
- name: nginx-proxyconf
- - configMap:
- defaultMode: 420
- name: peertube-init
- name: peertube-init
- - configMap:
- defaultMode: 420
- name: peertube-chown
- name: peertube-chown
|