You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
109 lines
3.5 KiB
109 lines
3.5 KiB
apiVersion: apps/v1 |
|
kind: Deployment |
|
metadata: |
|
name: {{ include "mastodon.fullname" . }}-web |
|
labels: |
|
{{- include "mastodon.labels" . | nindent 4 }} |
|
spec: |
|
{{- if not .Values.autoscaling.enabled }} |
|
replicas: {{ .Values.replicaCount }} |
|
{{- end }} |
|
selector: |
|
matchLabels: |
|
{{- include "mastodon.selectorLabels" . | nindent 6 }} |
|
component: rails |
|
template: |
|
metadata: |
|
{{- with .Values.podAnnotations }} |
|
annotations: |
|
{{- toYaml . | nindent 8 }} |
|
# roll the pods to pick up any db migrations |
|
rollme: {{ randAlphaNum 5 | quote }} |
|
{{- end }} |
|
labels: |
|
{{- include "mastodon.selectorLabels" . | nindent 8 }} |
|
component: rails |
|
spec: |
|
{{- with .Values.imagePullSecrets }} |
|
imagePullSecrets: |
|
{{- toYaml . | nindent 8 }} |
|
{{- end }} |
|
serviceAccountName: {{ include "mastodon.serviceAccountName" . }} |
|
securityContext: |
|
{{- toYaml .Values.podSecurityContext | nindent 8 }} |
|
{{- if (not .Values.mastodon.s3.enabled) }} |
|
volumes: |
|
- name: assets |
|
persistentVolumeClaim: |
|
claimName: {{ template "mastodon.fullname" . }}-assets |
|
- name: system |
|
persistentVolumeClaim: |
|
claimName: {{ template "mastodon.fullname" . }}-system |
|
{{- end }} |
|
containers: |
|
- name: {{ .Chart.Name }} |
|
securityContext: |
|
{{- toYaml .Values.securityContext | nindent 12 }} |
|
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" |
|
imagePullPolicy: {{ .Values.image.pullPolicy }} |
|
command: |
|
- bundle |
|
- exec |
|
- puma |
|
- -C |
|
- config/puma.rb |
|
envFrom: |
|
- configMapRef: |
|
name: {{ include "mastodon.fullname" . }}-env |
|
- secretRef: |
|
name: {{ template "mastodon.fullname" . }} |
|
env: |
|
- name: "DB_PASS" |
|
valueFrom: |
|
secretKeyRef: |
|
{{- if .Values.postgresql.enabled }} |
|
name: {{ .Release.Name }}-postgresql |
|
{{- else }} |
|
name: {{ template "mastodon.fullname" . }} |
|
{{- end }} |
|
key: postgresql-password |
|
- name: "REDIS_PASSWORD" |
|
valueFrom: |
|
secretKeyRef: |
|
name: {{ .Release.Name }}-redis |
|
key: redis-password |
|
- name: "PORT" |
|
value: {{ .Values.mastodon.web.port | quote }} |
|
{{- if (not .Values.mastodon.s3.enabled) }} |
|
volumeMounts: |
|
- name: assets |
|
mountPath: /opt/mastodon/public/assets |
|
- name: system |
|
mountPath: /opt/mastodon/public/system |
|
{{- end }} |
|
ports: |
|
- name: http |
|
containerPort: {{ .Values.mastodon.web.port }} |
|
protocol: TCP |
|
livenessProbe: |
|
httpGet: |
|
path: /health |
|
port: http |
|
readinessProbe: |
|
httpGet: |
|
path: /health |
|
port: http |
|
resources: |
|
{{- toYaml .Values.resources | nindent 12 }} |
|
{{- with .Values.nodeSelector }} |
|
nodeSelector: |
|
{{- toYaml . | nindent 8 }} |
|
{{- end }} |
|
{{- with .Values.affinity }} |
|
affinity: |
|
{{- toYaml . | nindent 8 }} |
|
{{- end }} |
|
{{- with .Values.tolerations }} |
|
tolerations: |
|
{{- toYaml . | nindent 8 }} |
|
{{- end }}
|
|
|