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.
128 lines
4.4 KiB
128 lines
4.4 KiB
apiVersion: apps/v1 |
|
kind: Deployment |
|
metadata: |
|
name: {{ include "mastodon.fullname" . }}-web |
|
labels: |
|
{{- include "mastodon.labels" . | nindent 4 }} |
|
spec: |
|
replicas: {{ .Values.mastodon.web.replicas }} |
|
selector: |
|
matchLabels: |
|
{{- include "mastodon.selectorLabels" . | nindent 6 }} |
|
app.kubernetes.io/component: web |
|
app.kubernetes.io/part-of: rails |
|
template: |
|
metadata: |
|
annotations: |
|
{{- with (default .Values.podAnnotations .Values.mastodon.web.podAnnotations) }} |
|
{{- toYaml . | nindent 8 }} |
|
{{- end }} |
|
# roll the pods to pick up any db migrations or other changes |
|
{{- include "mastodon.rollingPodAnnotations" . | nindent 8 }} |
|
labels: |
|
{{- include "mastodon.selectorLabels" . | nindent 8 }} |
|
app.kubernetes.io/component: web |
|
app.kubernetes.io/part-of: rails |
|
spec: |
|
{{- with .Values.imagePullSecrets }} |
|
imagePullSecrets: |
|
{{- toYaml . | nindent 8 }} |
|
{{- end }} |
|
serviceAccountName: {{ include "mastodon.serviceAccountName" . }} |
|
{{- with (default .Values.podSecurityContext .Values.mastodon.web.podSecurityContext) }} |
|
securityContext: |
|
{{- toYaml . | nindent 8 }} |
|
{{- end }} |
|
{{- 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 }}-web |
|
{{- with (default .Values.securityContext .Values.mastodon.web.securityContext) }} |
|
securityContext: |
|
{{- toYaml . | nindent 12 }} |
|
{{- end }} |
|
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.secretName" . }} |
|
env: |
|
- name: "DB_PASS" |
|
valueFrom: |
|
secretKeyRef: |
|
name: {{ template "mastodon.postgresql.secretName" . }} |
|
key: password |
|
- name: "REDIS_PASSWORD" |
|
valueFrom: |
|
secretKeyRef: |
|
name: {{ template "mastodon.redis.secretName" . }} |
|
key: redis-password |
|
- name: "PORT" |
|
value: {{ .Values.mastodon.web.port | quote }} |
|
{{- if (and .Values.mastodon.s3.enabled .Values.mastodon.s3.existingSecret) }} |
|
- name: "AWS_SECRET_ACCESS_KEY" |
|
valueFrom: |
|
secretKeyRef: |
|
name: {{ .Values.mastodon.s3.existingSecret }} |
|
key: AWS_SECRET_ACCESS_KEY |
|
- name: "AWS_ACCESS_KEY_ID" |
|
valueFrom: |
|
secretKeyRef: |
|
name: {{ .Values.mastodon.s3.existingSecret }} |
|
key: AWS_ACCESS_KEY_ID |
|
{{- end }} |
|
{{- 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: |
|
tcpSocket: |
|
port: http |
|
readinessProbe: |
|
httpGet: |
|
path: /health |
|
port: http |
|
startupProbe: |
|
httpGet: |
|
path: /health |
|
port: http |
|
failureThreshold: 30 |
|
periodSeconds: 5 |
|
{{- with (default .Values.resources .Values.mastodon.web.resources) }} |
|
resources: |
|
{{- toYaml . | nindent 12 }} |
|
{{- end }} |
|
{{- with .Values.nodeSelector }} |
|
nodeSelector: |
|
{{- toYaml . | nindent 8 }} |
|
{{- end }} |
|
{{- with (default .Values.affinity .Values.mastodon.web.affinity) }} |
|
affinity: |
|
{{- toYaml . | nindent 8 }} |
|
{{- end }} |
|
{{- with .Values.tolerations }} |
|
tolerations: |
|
{{- toYaml . | nindent 8 }} |
|
{{- end }}
|
|
|