summaryrefslogtreecommitdiffstats
path: root/chart/templates/job-assets-precompile.yaml
diff options
context:
space:
mode:
authorAlex Dunn <dunn.alex@gmail.com>2020-06-29 04:58:48 -0700
committerGitHub <noreply@github.com>2020-06-29 13:58:48 +0200
commit6d3125f9c0127095913a9f1dfd7043929ba3bb9d (patch)
treeefa8d552832a5d54608a6e84d1c5a667a3923269 /chart/templates/job-assets-precompile.yaml
parent5e8f51b29fccfb7d19d53854f3472f7370593ebf (diff)
Add Helm chart (#14090)
* add Helm chart known issues/future work: - SSO is unsupported - S3/Minio/GCS is unsupported - Swift is unsupported - WEB_DOMAIN is unsupported - Tor is unsupported * helm: clarify how LOCAL_DOMAIN is set * helm: add chart description * helm: make DB_POOL and Sidekiq concurrency configurable * helm: only enforce pod affinity when using ReadWriteOnce * helm: clarify compatibility * helm: clean up application variables * helm: add job to create initial admin
Diffstat (limited to 'chart/templates/job-assets-precompile.yaml')
-rw-r--r--chart/templates/job-assets-precompile.yaml69
1 files changed, 69 insertions, 0 deletions
diff --git a/chart/templates/job-assets-precompile.yaml b/chart/templates/job-assets-precompile.yaml
new file mode 100644
index 00000000000..5472e06d6c9
--- /dev/null
+++ b/chart/templates/job-assets-precompile.yaml
@@ -0,0 +1,69 @@
+apiVersion: batch/v1
+kind: Job
+metadata:
+ name: {{ include "mastodon.fullname" . }}-assets-precompile
+ labels:
+ {{- include "mastodon.labels" . | nindent 4 }}
+ annotations:
+ "helm.sh/hook": post-install
+ "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded
+ "helm.sh/hook-weight": "-2"
+spec:
+ template:
+ metadata:
+ name: {{ include "mastodon.fullname" . }}-assets-precompile
+ spec:
+ restartPolicy: Never
+ # ensure we run on the same node as the other rails components; only
+ # required when using PVCs that are ReadWriteOnce
+ {{- if or (eq "ReadWriteOnce" .Values.persistence.assets.accessMode) (eq "ReadWriteOnce" .Values.persistence.system.accessMode) }}
+ affinity:
+ podAffinity:
+ requiredDuringSchedulingIgnoredDuringExecution:
+ - labelSelector:
+ matchExpressions:
+ - key: component
+ operator: In
+ values:
+ - rails
+ topologyKey: kubernetes.io/hostname
+ {{- end }}
+ volumes:
+ - name: assets
+ persistentVolumeClaim:
+ claimName: {{ template "mastodon.fullname" . }}-assets
+ - name: system
+ persistentVolumeClaim:
+ claimName: {{ template "mastodon.fullname" . }}-system
+ containers:
+ - name: {{ include "mastodon.fullname" . }}-assets-precompile
+ image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
+ imagePullPolicy: {{ .Values.image.pullPolicy }}
+ command:
+ - bash
+ - -c
+ - |
+ bundle exec rake assets:precompile && yarn cache clean
+ envFrom:
+ - configMapRef:
+ name: {{ include "mastodon.fullname" . }}-env
+ - secretRef:
+ name: {{ template "mastodon.fullname" . }}
+ env:
+ - name: "DB_PASS"
+ valueFrom:
+ secretKeyRef:
+ name: {{ .Release.Name }}-postgresql
+ key: postgresql-password
+ - name: "REDIS_PASSWORD"
+ valueFrom:
+ secretKeyRef:
+ name: {{ .Release.Name }}-redis
+ key: redis-password
+ - name: "PORT"
+ value: {{ .Values.application.web.port | quote }}
+ volumeMounts:
+ - name: assets
+ mountPath: /opt/mastodon/public/assets
+ - name: system
+ mountPath: /opt/mastodon/public/system